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-370-g3bf3d73


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-370-g3bf3d73
Date: Mon, 30 Jan 2012 19:28:20 +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=3bf3d735ac743eda1f42627d165dfd86f1178126

The branch, master has been updated
       via  3bf3d735ac743eda1f42627d165dfd86f1178126 (commit)
       via  dfadcf85cb3ae9133dece6bc39ed03dd25323d6e (commit)
       via  252acfe8e70ac4c7d325588ffea1905fcf6f86b2 (commit)
       via  855db1905d56efcdf91ae51a9e80990f79030eae (commit)
       via  e1fbe716e8596b7027af57623ebc72a0c6393187 (commit)
       via  07c2ca0f0d56ebe515cb4ee9f1c3f4b3e824ca7b (commit)
       via  741b8a2300ef329cf5691a3c35b920df68f093e2 (commit)
       via  adb8054c6d16d3c5869cd543dbd29c384af02ccd (commit)
       via  2f3e436411b5dbb4f1a1b9d8583b348e221d5b67 (commit)
       via  505afe28321654a5e28b0954eeda9d1a58ce2467 (commit)
       via  58f86505d658359508732c8f187bc37d010074d0 (commit)
       via  9c5d7fa6714e2c8f5e808cdc211f6bd0c1cd49d6 (commit)
       via  a18e13a57c064cc1cde9a96b7ac006cdee3263e0 (commit)
       via  a39b116f0071629082b0dc09ea782e321ee313ca (commit)
       via  5e80f2cea30e18e58b9aaf4e95acf8ccfd1eb45f (commit)
       via  e22ad42bdbba47a023748c541d4c8fc5b88441d8 (commit)
       via  241247e8b967eea0c017f51d6ff565bd667c94a8 (commit)
       via  f5ea0499a411309014475dc7f7983e827f431af2 (commit)
       via  04b2d773548c57b6eadd1808a8d15cce47af9630 (commit)
       via  c0e4449908eee84bcb293ec21c10fec646bde45d (commit)
       via  eb7da3d81f565ae20b0a35dda0607537e969ff59 (commit)
       via  0740cb49d1509c56184fc6802b4347ed8fc80a28 (commit)
       via  40e92f09fc3330aa33a169ad1aa6bf458633984c (commit)
       via  d4b5c773e46284ff1aedf0ff7a907f5a37deaf8d (commit)
       via  0133e13f3424db582f3f58c13d6f3dc0627bd53b (commit)
       via  68c31a42ab137a5a54a577f19a69dfcbcfd33271 (commit)
       via  6dc8c138f902abeeabde23dc6fb29bd11e29da3b (commit)
       via  f9685f437312ea790981373ddc375b2a26ba9c4f (commit)
       via  4496c9c1e8c5620fd3b4eaacc7f1f8e35829b32d (commit)
       via  d062a8c1eeeb55264c1a2fd8f4fbe765f1dcc6d9 (commit)
       via  f5e772b2bac149c854b9b003e7a96632af7f8760 (commit)
       via  3a822fff1565d1b0f5802925e3c169355143ba3b (commit)
       via  60273407f92fdfe36c3ec09decfd92746bbb4f5e (commit)
       via  40fb4e317b2a03a2b6ee0c7b7d0f1c37bed25d05 (commit)
       via  68fcf7118923c4c2490075e18c15b4f722973987 (commit)
       via  1ace4fbf3dcacee77540aaaa49e032bad9ed9e27 (commit)
       via  3d51e57cfb0404db568a6adfde2a346d3fd9907e (commit)
       via  a2b62b48ab92ed1b5e5e0bcc292498abba3154cb (commit)
       via  e5cf97290c3d2dcda0eca02f9fcf4020452bca42 (commit)
       via  d646d81ec1c9f16a1e4d3f5bd388ec069c47a1c2 (commit)
       via  c3d5344a92d815c855445d82079d1a390b9282c8 (commit)
       via  2b264d7e4fb649955ade1814527b6eb6f34f4e18 (commit)
       via  228e9ec137be1e7a2bc05641f975b52d1ad84416 (commit)
       via  5765c5a82ce3891faff02c0bcc603cc0fe5ae36d (commit)
       via  c64d07d822f44f5917ee9b90956bb8ed5bb716fd (commit)
       via  21ad60a1d29032ab5f2a9d798ced9d1a1a8420b2 (commit)
       via  73c080f9c07a8eed713c0e62bdbdce31ac5bbf86 (commit)
       via  fb8b2a9d6006077700e84b24d824180d2a433e1c (commit)
       via  967394bca716f70b65bdb243b748859a1e3ab8a6 (commit)
       via  0fc9040fa248c7d964966a568749d1398a457cd8 (commit)
       via  17cc6e40a9ba5db9b0ff003a9a277ba43a72a067 (commit)
       via  ad432bc8317c33899efc29854550b67f3d7babf7 (commit)
       via  d47db067b63089880e2e202d5a33fd7fe5e41dbe (commit)
       via  925172cf529a89f0c5fd81720718971f9059fcfd (commit)
       via  fb01fd87729256ac9740a275ced1dd83dafadfdf (commit)
       via  9accf3d98ffd1d9d484e5214a9dd9e4054204557 (commit)
       via  7d02e256610e37c0ab0e8c55623d6f6c6eacab82 (commit)
       via  9b0975f1dc41ddd10d81fb5b0965b9e9a54ef37a (commit)
       via  1ceeca0a76809248aa974685756e0f05c7f64200 (commit)
       via  f0007cade095c5a2878ebbb8ea8c9b40810e4509 (commit)
       via  ad17b1551241a0fbaa9f9557016cbe440cc6338b (commit)
       via  bbd210517f12fdabb51e0dc2527ba186bb1ba549 (commit)
       via  d143fac660911ffdb6d792007d85523a668dbc9b (commit)
       via  1bd9a697b186c9a2c84f7c1028c9292f779ec79a (commit)
       via  222056dcf22ae7f1ab52df81a40d286c1eba9b3a (commit)
       via  6f0e534fcfe8b465ae383a62b97f5ff71086d474 (commit)
       via  25dc93dd575994fabdcfb558521d3287f604f081 (commit)
       via  1acb290f6628a6aea9a78dea9e3e91b106d22e1b (commit)
       via  c5f6c2e47fab220fd090d911efc2a71a563b7c1d (commit)
       via  39eb0b7297a0e5baad5d3dc34068c854fa4c0c8b (commit)
       via  88c0a1d5911e68aed20675948b15d7e67896df87 (commit)
       via  486bd70d5309469edd27a73f5663044a78526856 (commit)
       via  0f4f2d9a3096f935f4e4f91ee437b7b5b16d20c8 (commit)
       via  ea3cef045a413aa1001cf13e1ea2bc150626c3ce (commit)
       via  f41ef416803b57473761b1963b0709312f36ddad (commit)
       via  e2e8ca42405133edda17d6a679985b9569059406 (commit)
       via  f43622a27b98ae2d44cd1a5d35c95309cc617c5c (commit)
       via  99db1bc2e2de7ee9a91eb07d7f9a7188626ac6bc (commit)
       via  cd3370bac1cfd4b01dd7a9865e2ece5c2696db2b (commit)
       via  bbe3408ae48ce07a5265d065511ee1a1e5ccd026 (commit)
       via  69cd5299e308571149d15eac774ee23fc97ecb0e (commit)
       via  17bec5451bfb14c1412669a40b78e483dfe56933 (commit)
       via  d6a569c191e14ed756135cff3de35371b1b8757b (commit)
       via  7532125912a381c0770aa7af596b7401942c685b (commit)
       via  3248c954dbd67a2abb67ffbc470feaeb8c8dd0d3 (commit)
       via  86c63a8251496f1272902185f4b9a0ddcc023815 (commit)
      from  91ee7515da0bad91330ce5c87b250d6cf12a2789 (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 3bf3d735ac743eda1f42627d165dfd86f1178126
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 30 20:28:10 2012 +0100

    "fix" local-eval for introduced toplevels
    
    * module/ice-9/local-eval.scm: Fix for introduced toplevel identifiers.

commit dfadcf85cb3ae9133dece6bc39ed03dd25323d6e
Merge: 252acfe e1fbe71
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 30 19:59:08 2012 +0100

    Merge remote-tracking branch 'origin/stable-2.0'
    
    Conflicts:
        libguile/debug.h
        module/ice-9/psyntax-pp.scm
        module/ice-9/psyntax.scm
        module/language/tree-il/peval.scm
        module/language/tree-il/primitives.scm

commit 252acfe8e70ac4c7d325588ffea1905fcf6f86b2
Merge: 855db19 3d51e57
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 30 18:52:46 2012 +0100

    Merge commit '3d51e57cfb0404db568a6adfde2a346d3fd9907e'
    
    Conflicts:
        libguile/foreign.c
        libguile/hashtab.c
        module/ice-9/psyntax-pp.scm
        module/language/tree-il/compile-glil.scm

commit 855db1905d56efcdf91ae51a9e80990f79030eae
Merge: 91ee751 9b0975f
Author: Andy Wingo <address@hidden>
Date:   Mon Jan 30 18:25:07 2012 +0100

    Merge commit '9b0975f1dc41ddd10d81fb5b0965b9e9a54ef37a'
    
    Conflicts:
        libguile/foreign.c
        module/ice-9/psyntax-pp.scm
        module/ice-9/psyntax.scm

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

Summary of changes:
 .gitignore                                         |    1 +
 GNUmakefile                                        |    6 +-
 NEWS                                               |  196 +
 README                                             |   13 +-
 build-aux/announce-gen                             |   30 +-
 build-aux/config.rpath                             |    2 +-
 build-aux/git-version-gen                          |   10 +-
 build-aux/gitlog-to-changelog                      |   74 +-
 build-aux/gnu-web-doc-update                       |    2 +-
 build-aux/gnupload                                 |   22 +-
 build-aux/snippet/arg-nonnull.h                    |    2 +-
 build-aux/snippet/c++defs.h                        |    2 +-
 build-aux/snippet/unused-parameter.h               |    2 +-
 build-aux/snippet/warn-on-use.h                    |    2 +-
 build-aux/useless-if-before-free                   |   10 +-
 build-aux/vc-list-files                            |    2 +-
 configure.ac                                       |    7 +-
 doc/gendocs_template                               |    2 +-
 doc/ref/api-control.texi                           |   49 +-
 doc/ref/api-data.texi                              |   42 +-
 doc/ref/api-debug.texi                             |   21 +-
 doc/ref/api-evaluation.texi                        |  320 +-
 doc/ref/api-foreign.texi                           |   10 +-
 doc/ref/api-macros.texi                            |  150 +-
 doc/ref/api-memory.texi                            |   52 +-
 doc/ref/api-modules.texi                           |    8 +-
 doc/ref/api-options.texi                           |   50 +-
 doc/ref/api-procedures.texi                        |    5 -
 doc/ref/api-scheduling.texi                        |  128 +-
 doc/ref/guile-invoke.texi                          |    2 +-
 doc/ref/guile.texi                                 |    2 +-
 doc/ref/r6rs.texi                                  |    6 +-
 doc/ref/scheme-ideas.texi                          |    6 +-
 doc/ref/scheme-using.texi                          |    9 +-
 doc/ref/srfi-modules.texi                          |  158 +-
 doc/ref/vm.texi                                    |    2 +-
 doc/release.org                                    |   10 +
 guile-readline/Makefile.am                         |    5 +-
 lib/Makefile.am                                    |   75 +-
 lib/accept.c                                       |    2 +-
 lib/alignof.h                                      |    2 +-
 lib/alloca.in.h                                    |    2 +-
 lib/arpa_inet.in.h                                 |    2 +-
 lib/asnprintf.c                                    |    2 +-
 lib/basename-lgpl.c                                |    2 +-
 lib/binary-io.h                                    |    2 +-
 lib/bind.c                                         |    2 +-
 lib/byteswap.in.h                                  |    2 +-
 lib/c-ctype.c                                      |    2 +-
 lib/c-ctype.h                                      |    2 +-
 lib/c-strcase.h                                    |    2 +-
 lib/c-strcasecmp.c                                 |    2 +-
 lib/c-strcaseeq.h                                  |    2 +-
 lib/c-strncasecmp.c                                |    2 +-
 lib/canonicalize-lgpl.c                            |    6 +-
 lib/ceil.c                                         |    2 +-
 lib/close.c                                        |    2 +-
 lib/config.charset                                 |    4 +-
 lib/connect.c                                      |    2 +-
 lib/dirent.in.h                                    |  249 +
 lib/{same-inode.h => dirfd.c}                      |   23 +-
 lib/dirname-lgpl.c                                 |    8 +-
 lib/dirname.h                                      |    2 +-
 lib/dosname.h                                      |    2 +-
 lib/duplocale.c                                    |    2 +-
 lib/errno.in.h                                     |    2 +-
 lib/fcntl.in.h                                     |   12 +-
 lib/fd-hook.c                                      |    2 +-
 lib/fd-hook.h                                      |    2 +-
 lib/float+.h                                       |    2 +-
 lib/float.c                                        |    2 +-
 lib/float.in.h                                     |    2 +-
 lib/flock.c                                        |    2 +-
 lib/floor.c                                        |    2 +-
 lib/frexp.c                                        |    2 +-
 lib/fstat.c                                        |    2 +-
 lib/full-read.c                                    |    2 +-
 lib/full-read.h                                    |    2 +-
 lib/full-write.c                                   |    2 +-
 lib/full-write.h                                   |    2 +-
 lib/gai_strerror.c                                 |    2 +-
 lib/getaddrinfo.c                                  |   14 +-
 lib/getpeername.c                                  |    2 +-
 lib/getsockname.c                                  |    2 +-
 lib/getsockopt.c                                   |    2 +-
 lib/gettext.h                                      |    2 +-
 lib/iconv.c                                        |    2 +-
 lib/iconv.in.h                                     |    2 +-
 lib/iconv_close.c                                  |    2 +-
 lib/iconv_open.c                                   |    2 +-
 lib/iconveh.h                                      |    2 +-
 lib/inet_ntop.c                                    |   18 +-
 lib/inet_pton.c                                    |   14 +-
 lib/isinf.c                                        |    2 +-
 lib/isnan.c                                        |    2 +-
 lib/isnand-nolibm.h                                |    2 +-
 lib/isnand.c                                       |    2 +-
 lib/isnanf.c                                       |    2 +-
 lib/isnanl.c                                       |    2 +-
 lib/itold.c                                        |    2 +-
 lib/listen.c                                       |    2 +-
 lib/localcharset.c                                 |   30 +-
 lib/localcharset.h                                 |    2 +-
 lib/locale.in.h                                    |    2 +-
 lib/lstat.c                                        |    8 +-
 lib/malloc.c                                       |    2 +-
 lib/malloca.c                                      |    2 +-
 lib/malloca.h                                      |    2 +-
 lib/math.in.h                                      |    2 +-
 lib/memchr.c                                       |    2 +-
 lib/msvc-inval.c                                   |    4 +-
 lib/msvc-inval.h                                   |    4 +-
 lib/msvc-nothrow.c                                 |    4 +-
 lib/msvc-nothrow.h                                 |    2 +-
 lib/netdb.in.h                                     |   20 +-
 lib/netinet_in.in.h                                |    2 +-
 lib/nproc.c                                        |    2 +-
 lib/nproc.h                                        |    2 +-
 lib/open.c                                         |    2 +-
 lib/pathmax.h                                      |    2 +-
 lib/pipe2.c                                        |    6 +-
 lib/printf-args.c                                  |    2 +-
 lib/printf-args.h                                  |    2 +-
 lib/printf-parse.c                                 |    4 +-
 lib/printf-parse.h                                 |    2 +-
 lib/putenv.c                                       |    6 +-
 lib/raise.c                                        |    2 +-
 lib/read.c                                         |    2 +-
 lib/readlink.c                                     |    2 +-
 lib/recv.c                                         |    2 +-
 lib/recvfrom.c                                     |    2 +-
 lib/ref-add.sin                                    |    2 +-
 lib/ref-del.sin                                    |    2 +-
 lib/rename.c                                       |    2 +-
 lib/rmdir.c                                        |    2 +-
 lib/safe-read.c                                    |    2 +-
 lib/safe-read.h                                    |    2 +-
 lib/safe-write.c                                   |    2 +-
 lib/safe-write.h                                   |    2 +-
 lib/same-inode.h                                   |   16 +-
 lib/send.c                                         |    2 +-
 lib/sendto.c                                       |    2 +-
 lib/setenv.c                                       |  390 +
 lib/setsockopt.c                                   |    2 +-
 lib/shutdown.c                                     |    2 +-
 lib/signal.in.h                                    |    2 +-
 lib/size_max.h                                     |    2 +-
 lib/snprintf.c                                     |    2 +-
 lib/socket.c                                       |    2 +-
 lib/sockets.c                                      |    2 +-
 lib/sockets.h                                      |    2 +-
 lib/stat-time.h                                    |    4 +-
 lib/stat.c                                         |    2 +-
 lib/stdalign.in.h                                  |   14 +-
 lib/stdbool.in.h                                   |    2 +-
 lib/stddef.in.h                                    |    2 +-
 lib/stdint.in.h                                    |    2 +-
 lib/stdio.in.h                                     |    8 +-
 lib/stdlib.in.h                                    |  134 +-
 lib/strftime.c                                     |    8 +-
 lib/strftime.h                                     |    2 +-
 lib/striconveh.c                                   |    2 +-
 lib/striconveh.h                                   |    2 +-
 lib/string.in.h                                    |    2 +-
 lib/stripslash.c                                   |    4 +-
 lib/sys_file.in.h                                  |    2 +-
 lib/sys_socket.in.h                                |    2 +-
 lib/sys_stat.in.h                                  |    7 +-
 lib/sys_time.in.h                                  |    2 +-
 lib/sys_types.in.h                                 |    2 +-
 lib/sys_uio.in.h                                   |    2 +-
 lib/time.in.h                                      |    2 +-
 lib/time_r.c                                       |    2 +-
 lib/trunc.c                                        |    2 +-
 lib/unistd.in.h                                    |   32 +-
 lib/unistr.in.h                                    |    2 +-
 lib/unistr/u8-mbtouc-aux.c                         |    2 +-
 lib/unistr/u8-mbtouc-unsafe-aux.c                  |    2 +-
 lib/unistr/u8-mbtouc-unsafe.c                      |    2 +-
 lib/unistr/u8-mbtouc.c                             |    2 +-
 lib/unistr/u8-mbtoucr.c                            |    2 +-
 lib/unistr/u8-prev.c                               |    2 +-
 lib/unistr/u8-uctomb-aux.c                         |    2 +-
 lib/unistr/u8-uctomb.c                             |    2 +-
 lib/unitypes.in.h                                  |    2 +-
 lib/vasnprintf.c                                   |    6 +-
 lib/vasnprintf.h                                   |    2 +-
 lib/verify.h                                       |   16 +-
 lib/vsnprintf.c                                    |    2 +-
 lib/w32sock.h                                      |    2 +-
 lib/wchar.in.h                                     |    2 +-
 lib/write.c                                        |    2 +-
 lib/xsize.h                                        |    2 +-
 libguile/debug.c                                   |   13 +-
 libguile/debug.h                                   |    4 +-
 libguile/eval.c                                    |   46 +
 libguile/eval.h                                    |    7 +
 libguile/filesys.c                                 |   32 +-
 libguile/fluids.c                                  |    5 +-
 libguile/foreign.c                                 |    9 +-
 libguile/frames.c                                  |   11 +-
 libguile/frames.h                                  |    7 +-
 libguile/gc.c                                      |    4 +
 libguile/hashtab.c                                 |    7 +-
 libguile/i18n.c                                    |   13 +
 libguile/macros.c                                  |   34 +
 libguile/print.c                                   |    3 +-
 libguile/random.c                                  |  101 +
 libguile/random.h                                  |    3 +
 libguile/strings.c                                 |   85 +-
 libguile/threads.c                                 |    4 +-
 libguile/values.c                                  |   25 +
 libguile/values.h                                  |    1 +
 libguile/vm.c                                      |    5 +-
 m4/00gnulib.m4                                     |    2 +-
 m4/absolute-header.m4                              |    8 +-
 m4/alloca.m4                                       |   18 +-
 m4/arpa_inet_h.m4                                  |    2 +-
 m4/autobuild.m4                                    |    2 +-
 m4/byteswap.m4                                     |    2 +-
 m4/canonicalize.m4                                 |    2 +-
 m4/ceil.m4                                         |    2 +-
 m4/check-math-lib.m4                               |    2 +-
 m4/close.m4                                        |    2 +-
 m4/codeset.m4                                      |    2 +-
 m4/configmake.m4                                   |    2 +-
 m4/dirent_h.m4                                     |   64 +
 m4/dirfd.m4                                        |   83 +
 m4/dirname.m4                                      |    2 +-
 m4/double-slash-root.m4                            |    2 +-
 m4/duplocale.m4                                    |    2 +-
 m4/eealloc.m4                                      |    2 +-
 m4/environ.m4                                      |    2 +-
 m4/errno_h.m4                                      |    2 +-
 m4/exponentd.m4                                    |    2 +-
 m4/exponentf.m4                                    |    2 +-
 m4/exponentl.m4                                    |    2 +-
 m4/extensions.m4                                   |    6 +-
 m4/fcntl-o.m4                                      |    2 +-
 m4/fcntl_h.m4                                      |    2 +-
 m4/float_h.m4                                      |    2 +-
 m4/flock.m4                                        |    2 +-
 m4/floor.m4                                        |    2 +-
 m4/fpieee.m4                                       |    2 +-
 m4/frexp.m4                                        |    2 +-
 m4/fstat.m4                                        |    2 +-
 m4/func.m4                                         |    2 +-
 m4/getaddrinfo.m4                                  |    2 +-
 m4/glibc21.m4                                      |    2 +-
 m4/gnulib-cache.m4                                 |    6 +-
 m4/gnulib-common.m4                                |    8 +-
 m4/gnulib-comp.m4                                  |   23 +-
 m4/gnulib-tool.m4                                  |    2 +-
 m4/hostent.m4                                      |    2 +-
 m4/iconv.m4                                        |    2 +-
 m4/iconv_h.m4                                      |    2 +-
 m4/iconv_open-utf.m4                               |    2 +-
 m4/iconv_open.m4                                   |    2 +-
 m4/include_next.m4                                 |    4 +-
 m4/inet_ntop.m4                                    |    2 +-
 m4/inet_pton.m4                                    |    2 +-
 m4/inline.m4                                       |    2 +-
 m4/intmax_t.m4                                     |    2 +-
 m4/inttypes_h.m4                                   |    2 +-
 m4/isinf.m4                                        |    2 +-
 m4/isnan.m4                                        |    2 +-
 m4/isnand.m4                                       |    2 +-
 m4/isnanf.m4                                       |    2 +-
 m4/isnanl.m4                                       |    2 +-
 m4/largefile.m4                                    |    2 +-
 m4/ld-version-script.m4                            |   17 +-
 m4/ldexp.m4                                        |    2 +-
 m4/lib-ld.m4                                       |    2 +-
 m4/lib-link.m4                                     |    2 +-
 m4/lib-prefix.m4                                   |    2 +-
 m4/libunistring-base.m4                            |    2 +-
 m4/libunistring.m4                                 |    2 +-
 m4/localcharset.m4                                 |    2 +-
 m4/locale_h.m4                                     |    2 +-
 m4/longlong.m4                                     |    8 +-
 m4/lstat.m4                                        |    6 +-
 m4/malloc.m4                                       |    2 +-
 m4/malloca.m4                                      |    2 +-
 m4/math_h.m4                                       |    2 +-
 m4/mathfunc.m4                                     |    2 +-
 m4/memchr.m4                                       |    2 +-
 m4/mmap-anon.m4                                    |    2 +-
 m4/mode_t.m4                                       |    2 +-
 m4/msvc-inval.m4                                   |    2 +-
 m4/msvc-nothrow.m4                                 |    2 +-
 m4/multiarch.m4                                    |    2 +-
 m4/netdb_h.m4                                      |    2 +-
 m4/netinet_in_h.m4                                 |    2 +-
 m4/nocrash.m4                                      |    2 +-
 m4/nproc.m4                                        |    2 +-
 m4/open.m4                                         |    2 +-
 m4/pathmax.m4                                      |    2 +-
 m4/pipe2.m4                                        |    2 +-
 m4/printf.m4                                       |    8 +-
 m4/putenv.m4                                       |    2 +-
 m4/raise.m4                                        |    2 +-
 m4/read.m4                                         |    2 +-
 m4/readlink.m4                                     |    2 +-
 m4/rename.m4                                       |    2 +-
 m4/rmdir.m4                                        |    2 +-
 m4/safe-read.m4                                    |    2 +-
 m4/safe-write.m4                                   |    2 +-
 m4/servent.m4                                      |    2 +-
 m4/setenv.m4                                       |  140 +
 m4/signal_h.m4                                     |    2 +-
 m4/size_max.m4                                     |    2 +-
 m4/snprintf.m4                                     |    2 +-
 m4/socketlib.m4                                    |    2 +-
 m4/sockets.m4                                      |    2 +-
 m4/socklen.m4                                      |    2 +-
 m4/sockpfaf.m4                                     |    2 +-
 m4/ssize_t.m4                                      |    2 +-
 m4/stat-time.m4                                    |    2 +-
 m4/stat.m4                                         |    2 +-
 m4/stdalign.m4                                     |    4 +-
 m4/stdbool.m4                                      |    2 +-
 m4/stddef_h.m4                                     |    2 +-
 m4/stdint.m4                                       |    8 +-
 m4/stdint_h.m4                                     |    2 +-
 m4/stdio_h.m4                                      |    2 +-
 m4/stdlib_h.m4                                     |   12 +-
 m4/strftime.m4                                     |    2 +-
 m4/string_h.m4                                     |    2 +-
 m4/sys_file_h.m4                                   |    2 +-
 m4/sys_socket_h.m4                                 |    2 +-
 m4/sys_stat_h.m4                                   |    2 +-
 m4/sys_time_h.m4                                   |    2 +-
 m4/sys_types_h.m4                                  |    2 +-
 m4/sys_uio_h.m4                                    |    2 +-
 m4/time_h.m4                                       |    4 +-
 m4/time_r.m4                                       |    2 +-
 m4/tm_gmtoff.m4                                    |    2 +-
 m4/trunc.m4                                        |    2 +-
 m4/unistd_h.m4                                     |   11 +-
 m4/vasnprintf.m4                                   |    2 +-
 m4/visibility.m4                                   |    2 +-
 m4/vsnprintf.m4                                    |    2 +-
 m4/warn-on-use.m4                                  |    2 +-
 m4/warnings.m4                                     |    2 +-
 m4/wchar_h.m4                                      |    2 +-
 m4/wchar_t.m4                                      |    2 +-
 m4/wint_t.m4                                       |    2 +-
 m4/write.m4                                        |    2 +-
 m4/xsize.m4                                        |    2 +-
 maint.mk                                           |   39 +-
 meta/guile-2.2.pc.in                               |    5 +-
 module/Makefile.am                                 |    5 +-
 module/ice-9/boot-9.scm                            |   61 +-
 module/ice-9/compile-psyntax.scm                   |    9 +-
 module/ice-9/eval.scm                              |    3 +-
 module/ice-9/local-eval.scm                        |  255 +
 module/ice-9/psyntax-pp.scm                        |37576 ++++++++++----------
 module/ice-9/psyntax.scm                           |  194 +-
 module/ice-9/vlist.scm                             |    3 +-
 module/language/assembly/disassemble.scm           |    5 +-
 module/language/glil/compile-assembly.scm          |   13 +-
 module/language/scheme/spec.scm                    |    9 +-
 module/language/tree-il/analyze.scm                |   49 +-
 module/language/tree-il/compile-glil.scm           |    7 +-
 module/language/tree-il/peval.scm                  |    6 +-
 module/language/tree-il/primitives.scm             |    6 +-
 module/rnrs/control.scm                            |   14 +-
 module/scripts/list.scm                            |    3 +-
 module/sxml/ssax.scm                               |    9 +-
 module/system/base/message.scm                     |    6 +-
 module/system/repl/common.scm                      |    2 +-
 module/system/repl/error-handling.scm              |    3 +-
 test-suite/lalr/common-test.scm                    |    7 -
 test-suite/standalone/Makefile.am                  |    7 +
 test-suite/standalone/test-guile-snarf             |   18 +-
 test-suite/standalone/test-loose-ends.c            |   36 +-
 .../standalone/{test-list.c => test-scm-values.c}  |   52 +-
 test-suite/tests/asm-to-bytecode.test              |   20 +-
 test-suite/tests/eval.test                         |  101 +-
 test-suite/tests/foreign.test                      |    8 +-
 test-suite/tests/gc.test                           |   33 +-
 test-suite/tests/hash.test                         |   19 +-
 test-suite/tests/i18n.test                         |    8 +-
 test-suite/tests/statprof.test                     |   72 +-
 test-suite/tests/tree-il.test                      |  102 +-
 385 files changed, 22780 insertions(+), 19890 deletions(-)
 create mode 100644 lib/dirent.in.h
 copy lib/{same-inode.h => dirfd.c} (66%)
 create mode 100644 lib/setenv.c
 create mode 100644 m4/dirent_h.m4
 create mode 100644 m4/dirfd.m4
 create mode 100644 m4/setenv.m4
 create mode 100644 module/ice-9/local-eval.scm
 copy test-suite/standalone/{test-list.c => test-scm-values.c} (50%)

diff --git a/.gitignore b/.gitignore
index ddef18b..edbb1f0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -147,3 +147,4 @@ INSTALL
 /lib/stdalign.h
 /lib/signal.h
 /lib/sys/types.h
+/lib/dirent.h
diff --git a/GNUmakefile b/GNUmakefile
index 86bc60f..d0fd3e8 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,11 +1,11 @@
-# Having a separate GNUmakefile lets me `include' the dynamically
+# Having a separate GNUmakefile lets me 'include' the dynamically
 # generated rules created via cfg.mk (package-local configuration)
 # as well as maint.mk (generic maintainer rules).
 # This makefile is used only if you run GNU Make.
 # It is necessary if you want to build targets usually of interest
 # only to the maintainer.
 
-# Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2006-2012 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -114,7 +114,7 @@ endif
 
 abort-due-to-no-makefile:
        @echo There seems to be no Makefile in this directory.   1>&2
-       @echo "You must run ./configure before running \`make'." 1>&2
+       @echo "You must run ./configure before running 'make'." 1>&2
        @exit 1
 
 endif
diff --git a/NEWS b/NEWS
index 6098130..0edcef7 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,202 @@ See the end for copying conditions.
 Please send Guile bug reports to address@hidden
 
 
+Changes in 2.0.4 (since 2.0.3):
+
+* Notable changes
+
+** Better debuggability for interpreted procedures.
+    
+Guile 2.0 came with a great debugging experience for compiled
+procedures, but the story for interpreted procedures was terrible.  Now,
+at least, interpreted procedures have names, and the `arity' procedure
+property is always correct (or, as correct as it can be, in the presence
+of `case-lambda').
+
+** Support for cross-compilation.
+    
+One can now use a native Guile to cross-compile `.go' files for a
+different architecture.  See the documentation for `--target' in the
+"Compilation" section of the manual, for information on how to use the
+cross-compiler.  See the "Cross building Guile" section of the README,
+for more on how to cross-compile Guile itself.
+
+** The return of `local-eval'.
+
+Back by popular demand, `the-environment' and `local-eval' allow the
+user to capture a lexical environment, and then evaluate arbitrary
+expressions in that context.  There is also a new `local-compile'
+command.  See "Local Evaluation" in the manual, for more.  Special
+thanks to Mark Weaver for an initial implementation of this feature.
+
+** Fluids can now have default values.
+
+Fluids are used for dynamic and thread-local binding.  They have always
+inherited their values from the context or thread that created them.
+However, there was a case in which a new thread would enter Guile, and
+the default values of all the fluids would be `#f' for that thread.
+
+This has now been fixed so that `make-fluid' has an optional default
+value for fluids in unrelated dynamic roots, which defaults to `#f'.
+
+** Garbage collector tuning.
+
+The garbage collector has now been tuned to run more often under some
+circumstances.
+
+*** Unmanaged allocation
+
+The new `scm_gc_register_allocation' function will notify the collector
+of unmanaged allocation.  This will cause the collector to run sooner.
+Guile's `scm_malloc', `scm_calloc', and `scm_realloc' unmanaged
+allocators eventually call this function.  This leads to better
+performance under steady-state unmanaged allocation.
+
+*** Transient allocation
+    
+When the collector runs, it will try to record the total memory
+footprint of a process, if the platform supports this information.  If
+the memory footprint is growing, the collector will run more frequently.
+This reduces the increase of the resident size of a process in response
+to a transient increase in allocation.
+
+*** Management of threads, bignums
+
+Creating a thread will allocate a fair amount of memory.  Guile now does
+some GC work (using `GC_collect_a_little') when allocating a thread.
+This leads to a better memory footprint when creating many short-lived
+threads.
+    
+Similarly, bignums can occupy a lot of memory.  Guile now offers hooks
+to enable custom GMP allocators that end up calling
+`scm_gc_register_allocation'.  These allocators are enabled by default
+when running Guile from the command-line.  To enable them in libraries,
+set the `scm_install_gmp_memory_functions' variable to a nonzero value
+before loading Guile.
+
+** SRFI-39 parameters are available by default.
+    
+Guile now includes support for parameters, as defined by SRFI-39, in the
+default environment.  See "Parameters" in the manual, for more
+information.  `current-input-port', `current-output-port', and
+`current-error-port' are now parameters.
+    
+** Add `current-warning-port'.
+    
+Guile now outputs warnings on a separate port, `current-warning-port',
+initialized to the value that `current-error-port' has on startup.
+
+** Syntax parameters.
+
+Following Racket's lead, Guile now supports syntax parameters.  See
+"Syntax parameters" in the manual, for more.
+
+Also see Barzilay, Culpepper, and Flatt's 2011 SFP workshop paper,
+"Keeping it Clean with syntax-parameterize".
+    
+** Parse command-line arguments from the locale encoding.
+    
+Guile now attempts to parse command-line arguments using the user's
+locale.  However for backwards compatibility with other 2.0.x releases,
+it does so without actually calling `setlocale'.  Please report any bugs
+in this facility to address@hidden
+
+** One-armed conditionals: `when' and `unless'
+
+Guile finally has `when' and `unless' in the default environment.  Use
+them whenever you would use an `if' with only one branch.  See
+"Conditionals" in the manual, for more.
+
+** `current-filename', `add-to-load-path'
+
+There is a new form, `(current-filename)', which expands out to the
+source file in which it occurs.  Combined with the new
+`add-to-load-path', this allows simple scripts to easily add nearby
+directories to the load path.  See "Load Paths" in the manual, for more.
+
+** `random-state-from-platform'
+
+This procedure initializes a random seed using good random sources
+available on your platform, such as /dev/urandom.  See "Random Number
+Generation" in the manual, for more.
+
+** Manual updates
+
+Besides the sections already mentioned, the following manual sections
+are new in this release: "Modules and the File System", "Module System
+Reflection", "Syntax Transformer Helpers", and "Local Inclusion".
+
+* New interfaces
+
+** (ice-9 session): `apropos-hook'
+** New print option: `escape-newlines', defaults to #t.
+** (ice-9 ftw): `file-system-fold', `file-system-tree', `scandir'
+** `scm_c_value_ref': access to multiple returned values from C
+** scm_call (a varargs version), scm_call_7, scm_call_8, scm_call_9
+** Some new syntax helpers in (system syntax)
+
+Search the manual for these identifiers and modules, for more.
+
+* Build fixes
+
+** FreeBSD build fixes.
+** OpenBSD compilation fixes.
+** Solaris 2.10 test suite fixes.
+** IA64 compilation fix.
+** MinGW build fixes.
+** Work around instruction reordering on SPARC and HPPA in the VM.
+** Gnulib updates: added `dirfd', `setenv' modules.
+
+* Bug fixes
+
+** Add a deprecated alias for $expt.
+** Add an exception printer for `getaddrinfo-error'.
+** Add deprecated shim for `scm_display_error' with stack as first argument.
+** Add warnings for unsupported `simple-format' options.
+** Allow overlapping regions to be passed to `bytevector-copy!'.
+** Avoid calling `u32_conv_from_encoding' on the null string.
+** Better function prologue disassembly
+** Compiler: fix miscompilation of (values foo ...) in some contexts.
+** Compiler: fix serialization of #nil-terminated lists.
+** Compiler: allow values bound in non-tail let expressions to be collected.
+** Deprecate SCM_ASRTGO.
+** Document invalidity of (begin) as expression; add back-compat shim.
+** Don't leak file descriptors when mmaping objcode.
+** Empty substrings no longer reference the original stringbuf.
+** FFI: Fix `set-pointer-finalizer!' to leave the type cell unchanged.
+** FFI: Fix signed/unsigned pointer mismatches in implementation.
+** FFI: Hold a weak reference to the CIF made by `procedure->pointer'.
+** FFI: Hold a weak reference to the procedure passed to `procedure->pointer'.
+** FFI: Properly unpack small integer return values in closure call.
+** Fix R6RS `fold-left' so the accumulator is the first argument.
+** Fix `validate-target' in (system base target).
+** Fix bit-set*! bug from 2005.
+** Fix bug in `make-repl' when `lang' is actually a <language>.
+** Fix bugs related to mutation, the null string, and shared substrings.
+** Fix <dynwind> serialization.
+** Fix erroneous check in `set-procedure-properties!'.
+** Fix generalized-vector-{ref,set!} for slices.
+** Fix error messages involving definition forms.
+** Fix primitive-eval to return #<unspecified> for definitions.
+** HTTP: Extend handling of "Cache-Control" header.
+** HTTP: Fix qstring writing of cache-extension values
+** HTTP: Fix validators for various list-style headers.
+** HTTP: Permit non-date values for Expires header.
+** HTTP: `write-request-line' writes absolute paths, not absolute URIs.
+** Hack the port-column of current-output-port after printing a prompt.
+** Have `cpu-word-size' error out on unknown CPUs; add support for MIPSEL.
+** Make sure `regexp-quote' tests use Unicode-capable string ports.
+** Peval: Fix bugs in the new optimizer.
+** Peval: fold (values FOO) to FOO in more cases
+** Statistically unique marks and labels, for robust hygiene across sessions.
+** Web: Allow URIs with empty authorities, like "file:///etc/hosts".
+** `,language' at REPL sets the current-language fluid.
+** `primitive-load' returns the value(s) of the last expression.
+** `scm_from_stringn' always returns unique strings.
+** `scm_i_substring_copy' tries to narrow the substring.
+** guile-readline: Clean `.go' files.
+** i18n: Fix gc_malloc/free mismatch on non-GNU systems.
+
 Changes in 2.0.3 (since 2.0.2):
 
 * Speed improvements
diff --git a/README b/README
index 66f02b3..31fdb80 100644
--- a/README
+++ b/README
@@ -93,10 +93,15 @@ Guile requires the following external packages:
   - pkg-config
 
     Guile's ./configure script uses pkg-config to discover the correct
-    compile and link options for libgc and libffi.  If you don't have
-    pkg-config installed, or you have a version of libgc that doesn't
-    provide a .pc file, you can work around this by setting some
-    variables as part of the configure command-line:
+    compile and link options for libgc and libffi.  For this to work,
+    the `PKG_CONFIG_PATH' environment variable must be set to point to
+    the places where libgc's and libffi's `.pc' files can be found:
+
+      
PKG_CONFIG_PATH=/path/to/libgc/lib/pkgconfig:/path/to/libffi/lib/pkgconfig
+
+    Alternatively, when pkg-config is not installed, you can work around
+    this by setting some variables as part of the configure
+    command-line:
 
     - PKG_CONFIG=true
 
diff --git a/build-aux/announce-gen b/build-aux/announce-gen
index 3866381..3ca90a9 100755
--- a/build-aux/announce-gen
+++ b/build-aux/announce-gen
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
     if 0;
 # Generate a release announcement message.
 
-my $VERSION = '2011-11-09 21:30'; # UTC
+my $VERSION = '2012-01-06 07:46'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@ sub usage ($)
   my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
   if ($exit_code != 0)
     {
-      print $STREAM "Try `$ME --help' for more information.\n";
+      print $STREAM "Try '$ME --help' for more information.\n";
     }
   else
     {
@@ -106,7 +106,7 @@ sub sizes (@)
       my $t = `$cmd`;
       # FIXME-someday: give a better diagnostic, a la $PROCESS_STATUS
       $@
-        and (warn "$ME: command failed: `$cmd'\n"), $fail = 1;
+        and (warn "$ME: command failed: '$cmd'\n"), $fail = 1;
       chomp $t;
       $t =~ s/^([\d.]+[MkK]).*/${1}B/;
       $res{$f} = $t;
@@ -210,7 +210,7 @@ sub print_news_deltas ($$$)
       else
         {
           # This regexp must not match version numbers in NEWS items.
-          # For example, they might well say `introduced in 4.5.5',
+          # For example, they might well say "introduced in 4.5.5",
           # and we don't want that to match.
           $line =~ /^$re_prefix.*(?:[^\d.]|$)\Q$prev_version\E(?:[^\d.]|$)/o
             and last;
@@ -222,9 +222,9 @@ sub print_news_deltas ($$$)
   close NEWS;
 
   $in_items
-    or die "$ME: $news_file: no matching lines for `$curr_version'\n";
+    or die "$ME: $news_file: no matching lines for '$curr_version'\n";
   $found_news
-    or die "$ME: $news_file: no news item found for `$curr_version'\n";
+    or die "$ME: $news_file: no news item found for '$curr_version'\n";
 }
 
 sub print_changelog_deltas ($$)
@@ -269,7 +269,7 @@ sub print_changelog_deltas ($$)
   # Append any remaining ChangeLog files.
   push @reordered, sort keys %changelog;
 
-  # Remove leading `./'.
+  # Remove leading './'.
   @reordered = map { s!^\./!!; $_ } @reordered;
 
   print "\nChangeLog entries:\n\n";
@@ -280,11 +280,11 @@ sub print_changelog_deltas ($$)
 
   my $cmd = "cvs -n diff -u -r$prev_cvs_tag -rHEAD @reordered";
   open DIFF, '-|', $cmd
-    or die "$ME: cannot run `$cmd': $!\n";
+    or die "$ME: cannot run '$cmd': $!\n";
   # Print two types of lines, making minor changes:
-  # Lines starting with `+++ ', e.g.,
+  # Lines starting with '+++ ', e.g.,
   # +++ ChangeLog   22 Feb 2003 16:52:51 -0000      1.247
-  # and those starting with `+'.
+  # and those starting with '+'.
   # Don't print the others.
   my $prev_printed_line_empty = 1;
   while (defined (my $line = <DIFF>))
@@ -310,7 +310,7 @@ sub print_changelog_deltas ($$)
   # The exit code should be 1.
   # Allow in case there are no modified ChangeLog entries.
   $? == 256 || $? == 128
-    or warn "$ME: warning: `cmd' had unexpected exit code or signal ($?)\n";
+    or warn "$ME: warning: '$cmd' had unexpected exit code or signal ($?)\n";
 }
 
 sub get_tool_versions ($$)
@@ -329,7 +329,7 @@ sub get_tool_versions ($$)
           next;
         }
       # Assume that the last "word" on the first line of
-      # `tool --version` output is the version string.
+      # 'tool --version' output is the version string.
       my ($first_line, undef) = split ("\n", `$t --version`);
       if ($first_line =~ /.* (\d[\w.-]+)$/)
         {
@@ -410,7 +410,7 @@ sub get_tool_versions ($$)
         . "in the gnulib source directory.\n"), $fail = 1;
 
   exists $valid_release_types{$release_type}
-    or (warn "$ME: `$release_type': invalid release type\n"), $fail = 1;
+    or (warn "$ME: '$release_type': invalid release type\n"), $fail = 1;
 
   @ARGV
     and (warn "$ME: too many arguments:\n", join ("\n", @ARGV), "\n"),
@@ -505,7 +505,7 @@ then run this command to import it:
 
   gpg --keyserver keys.gnupg.net --recv-keys $gpg_key_id
 
-and rerun the \`gpg --verify' command.
+and rerun the 'gpg --verify' command.
 EOF
 
   my @tool_versions = get_tool_versions (address@hidden, $gnulib_version);
diff --git a/build-aux/config.rpath b/build-aux/config.rpath
index 8bd7f5d..c0d31f9 100755
--- a/build-aux/config.rpath
+++ b/build-aux/config.rpath
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2011 Free Software Foundation, Inc.
+#   Copyright 1996-2012 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <address@hidden>, 1996
 #
diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
index c7a58af..d5542a2 100755
--- a/build-aux/git-version-gen
+++ b/build-aux/git-version-gen
@@ -1,8 +1,8 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2011-11-13.13; # UTC
+scriptversion=2012-01-06.07; # UTC
 
-# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007-2012 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -98,8 +98,8 @@ while test $# -gt 0; do
     --version) echo "$version"; exit 0;;
     --prefix) shift; prefix="$1";;
     -*)
-      echo "$0: Unknown option \`$1'." >&2
-      echo "$0: Try \`--help' for more information." >&2
+      echo "$0: Unknown option '$1'." >&2
+      echo "$0: Try '--help' for more information." >&2
       exit 1;;
     *)
       if test -z "$tarball_version_file"; then
@@ -107,7 +107,7 @@ while test $# -gt 0; do
       elif test -z "$tag_sed_script"; then
         tag_sed_script="$1"
       else
-        echo "$0: extra non-option argument \`$1'." >&2
+        echo "$0: extra non-option argument '$1'." >&2
         exit 1
       fi;;
   esac
diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog
index 40a8035..0efedb0 100755
--- a/build-aux/gitlog-to-changelog
+++ b/build-aux/gitlog-to-changelog
@@ -3,13 +3,13 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
     if 0;
 # Convert git log output to ChangeLog format.
 
-my $VERSION = '2011-11-02 07:53'; # UTC
+my $VERSION = '2012-01-06 07:14'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ sub usage ($)
   my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
   if ($exit_code != 0)
     {
-      print $STREAM "Try `$ME --help' for more information.\n";
+      print $STREAM "Try '$ME --help' for more information.\n";
     }
   else
     {
@@ -78,6 +78,21 @@ EXAMPLE:
   $ME --since=2008-01-01 > ChangeLog
   $ME -- -n 5 foo > last-5-commits-to-branch-foo
 
+SPECIAL SYNTAX:
+
+The following types of strings are interpreted specially when they appear
+at the beginning of a log message line.  They are not copied to the output.
+
+  Copyright-paperwork-exempt: Yes
+    Append the "(tiny change)" notation to the usual "date name email"
+    ChangeLog header to mark a change that does not require a copyright
+    assignment.
+  Co-authored-by: Joe User <address@hidden>
+    List the specified name and email address on a second
+    ChangeLog header, denoting a co-author.
+  Signed-off-by: Joe User <address@hidden>
+    These lines are simply elided.
+
 In a FILE specified via --amend, comment lines (starting with "#") are ignored.
 FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on
 a line) referring to a commit in the current project, and CODE refers to one
@@ -93,7 +108,7 @@ s/all tile types/all file types/
 1379ed974f1fa39b12e2ffab18b3f7a607082202
 # Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself.
 # Change the author to be Paul.  Note the escaped "@":
-s,Jim .*>,Paul Eggert <address@hidden>,
+s,Jim .*>,Paul Eggert <address@hidden>,
 
 EOF
     }
@@ -196,9 +211,10 @@ sub parse_amend_file($)
   my @cmd = (qw (git log --log-size),
              '--pretty=format:%H:%ct  %an  <%ae>%n%n'.$format_string, @ARGV);
   open PIPE, '-|', @cmd
-    or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n"
+    or die ("$ME: failed to run '". quoted_cmd (@cmd) ."': $!\n"
             . "(Is your Git too old?  Version 1.5.1 or later is required.)\n");
 
+  my $prev_multi_paragraph;
   my $prev_date_line = '';
   my @prev_coauthors = ();
   while (1)
@@ -249,11 +265,33 @@ sub parse_amend_file($)
         or die "$ME:$.: Invalid line "
           . "(expected date/author/email):\n$author_line\n";
 
-      my $date_line = sprintf "%s  $2\n", strftime ("%F", localtime ($1));
+      # Format 'Copyright-paperwork-exempt: Yes' as a standard ChangeLog
+      # `(tiny change)' annotation.
+      my $tiny = (grep (/^Copyright-paperwork-exempt:\s+[Yy]es$/, @line)
+                  ? '  (tiny change)' : '');
+
+      my $date_line = sprintf "%s  %s$tiny\n",
+        strftime ("%F", localtime ($1)), $2;
+
+      my @coauthors = grep /^Co-authored-by:.*$/, @line;
+      # Omit meta-data lines we've already interpreted.
+      @line = grep !/^(?:Signed-off-by:[ ].*>$
+                       |Co-authored-by:[ ]
+                       |Copyright-paperwork-exempt:[ ]
+                       )/x, @line;
+
+      # Remove leading and trailing blank lines.
+      if (@line)
+        {
+          while ($line[0] =~ /^\s*$/) { shift @line; }
+          while ($line[$#line] =~ /^\s*$/) { pop @line; }
+        }
+
+      # Record whether there are two or more paragraphs.
+      my $multi_paragraph = grep /^\s*$/, @line;
 
       # Format 'Co-authored-by: A U Thor <address@hidden>' lines in
       # standard multi-author ChangeLog format.
-      my @coauthors = grep /^Co-authored-by:.*$/, @line;
       for (@coauthors)
         {
           s/^Co-authored-by:\s*/\t    /;
@@ -264,9 +302,13 @@ sub parse_amend_file($)
               . substr ($_, 5) . "\n";
         }
 
-      # If this header would be the same as the previous date/name/email/
-      # coauthors header, then arrange not to print it.
-      if ($date_line ne $prev_date_line or "@coauthors" ne "@prev_coauthors")
+      # If this header would be different from the previous date/name/email/
+      # coauthors header, or if this or the previous entry consists of two
+      # or more paragraphs, then print the header.
+      if ($date_line ne $prev_date_line
+          or "@coauthors" ne "@prev_coauthors"
+          or $multi_paragraph
+          or $prev_multi_paragraph)
         {
           $prev_date_line eq ''
             or print "\n";
@@ -276,17 +318,7 @@ sub parse_amend_file($)
         }
       $prev_date_line = $date_line;
       @prev_coauthors = @coauthors;
-
-      # Omit "Co-authored-by..." and "Signed-off-by..." lines.
-      @line = grep !/^Signed-off-by: .*>$/, @line;
-      @line = grep !/^Co-authored-by: /, @line;
-
-      # Remove leading and trailing blank lines.
-      if (@line)
-        {
-          while ($line[0] =~ /^\s*$/) { shift @line; }
-          while ($line[$#line] =~ /^\s*$/) { pop @line; }
-        }
+      $prev_multi_paragraph = $multi_paragraph;
 
       # If there were any lines
       if (@line == 0)
diff --git a/build-aux/gnu-web-doc-update b/build-aux/gnu-web-doc-update
index f6d0ee1..7a43049 100755
--- a/build-aux/gnu-web-doc-update
+++ b/build-aux/gnu-web-doc-update
@@ -9,7 +9,7 @@
 
 VERSION=2009-07-21.16; # UTC
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/build-aux/gnupload b/build-aux/gnupload
index 68215ca..eb450a0 100755
--- a/build-aux/gnupload
+++ b/build-aux/gnupload
@@ -1,10 +1,9 @@
 #!/bin/sh
 # Sign files and upload them.
 
-scriptversion=2010-05-23.15; # UTC
+scriptversion=2012-01-15.15; # UTC
 
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2004-2010, 2012 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -20,6 +19,8 @@ scriptversion=2010-05-23.15; # UTC
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Originally written by Alexandre Duret-Lutz <address@hidden>.
+# The master copy of this file is maintained in the gnulib Git repository.
+# Please send bug reports and feature requests to address@hidden
 
 set -e
 
@@ -57,7 +58,7 @@ Options:
   --version                output version information and exit
 
 If --symlink-regex is given without EXPR, then the link target name
-is created by replacing the version information with \`-latest', e.g.:
+is created by replacing the version information with '-latest', e.g.:
 
   foo-1.3.4.tar.gz -> foo-latest.tar.gz
 
@@ -105,8 +106,7 @@ happen to have an ncftp package installed, the ncftpput-ftp 
script in
 the build-aux/ directory of the gnulib package
 (http://savannah.gnu.org/projects/gnulib) may serve as a replacement.
 
-Report bugs to <address@hidden>.
-Send patches to <address@hidden>."
+Send patches and bug reports to <address@hidden>."
 
 # Read local configuration file
 if test -r "$conffile"; then
@@ -170,7 +170,7 @@ while test -n "$1"; do
       break
       ;;
     -*)
-      echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2
+      echo "$0: Unknown option '$1', try '$0 --help'" 1>&2
       exit 1
       ;;
     esac
@@ -219,7 +219,7 @@ else
   for file
   do
     if test ! -f $file; then
-      echo "$0: Cannot find \`$file'" 1>&2
+      echo "$0: Cannot find '$file'" 1>&2
       exit 1
     elif test -n "$symlink_expr"; then
       linkname=`echo $file | sed "$symlink_expr"`
@@ -238,10 +238,10 @@ fi
 unset passphrase
 
 # Reset PATH to be sure that echo is a built-in.  We will later use
-# `echo $passphrase' to output the passphrase, so it is important that
-# it is a built-in (third-party programs tend to appear in `ps'
+# 'echo $passphrase' to output the passphrase, so it is important that
+# it is a built-in (third-party programs tend to appear in 'ps'
 # listings with their arguments...).
-# Remember this script runs with `set -e', so if echo is not built-in
+# Remember this script runs with 'set -e', so if echo is not built-in
 # it will exit now.
 PATH=/empty echo -n "Enter GPG passphrase: "
 stty -echo
diff --git a/build-aux/snippet/arg-nonnull.h b/build-aux/snippet/arg-nonnull.h
index 6c2f1e8..3a9dd26 100644
--- a/build-aux/snippet/arg-nonnull.h
+++ b/build-aux/snippet/arg-nonnull.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/build-aux/snippet/c++defs.h b/build-aux/snippet/c++defs.h
index b6821a6..96da94b 100644
--- a/build-aux/snippet/c++defs.h
+++ b/build-aux/snippet/c++defs.h
@@ -1,5 +1,5 @@
 /* C++ compatible function declaration macros.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/build-aux/snippet/unused-parameter.h 
b/build-aux/snippet/unused-parameter.h
index c8d2071..1c8d61f 100644
--- a/build-aux/snippet/unused-parameter.h
+++ b/build-aux/snippet/unused-parameter.h
@@ -1,5 +1,5 @@
 /* A C macro for declaring that specific function parameters are not used.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/build-aux/snippet/warn-on-use.h b/build-aux/snippet/warn-on-use.h
index 2cdeec3..d4cb94f 100644
--- a/build-aux/snippet/warn-on-use.h
+++ b/build-aux/snippet/warn-on-use.h
@@ -1,5 +1,5 @@
 /* A C macro for emitting warnings if a function is used.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2010-2012 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published
diff --git a/build-aux/useless-if-before-free b/build-aux/useless-if-before-free
index b8f5a26..2b64630 100755
--- a/build-aux/useless-if-before-free
+++ b/build-aux/useless-if-before-free
@@ -4,13 +4,13 @@ eval '(exit $?0)' && eval 'exec perl -wST "$0" ${1+"$@"}'
 # Detect instances of "if (p) free (p);".
 # Likewise "if (p != 0)", "if (0 != p)", or with NULL; and with braces.
 
-my $VERSION = '2011-04-20 13:43'; # UTC
+my $VERSION = '2012-01-06 07:23'; # UTC
 # The definition above must lie within the first 8 lines in order
 # for the Emacs time-stamp write hook (at end) to update it.
 # If you change this file with Emacs, please let the write hook
 # do its job.  Otherwise, update this string manually.
 
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2012 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ sub usage ($)
   my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR);
   if ($exit_code != 0)
     {
-      print $STREAM "Try `$ME --help' for more information.\n";
+      print $STREAM "Try '$ME --help' for more information.\n";
     }
   else
     {
@@ -62,7 +62,7 @@ detect free-like functions named FOO and BAR.
 OPTIONS:
 
    --list       print only the name of each matching FILE (\\0-terminated)
-   --name=N     add name N to the list of \`free\'-like functions to detect;
+   --name=N     add name N to the list of \'free\'-like functions to detect;
                   may be repeated
 
    --help       display this help and exit
@@ -125,7 +125,7 @@ sub is_NULL ($)
   foreach my $file (@ARGV)
     {
       open FH, '<', $file
-        or (warn "$ME: can't open `$file' for reading: $!\n"),
+        or (warn "$ME: can't open '$file' for reading: $!\n"),
           $err = EXIT_ERROR, next;
       while (defined (my $line = <FH>))
         {
diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files
index 405e458..d477da8 100755
--- a/build-aux/vc-list-files
+++ b/build-aux/vc-list-files
@@ -4,7 +4,7 @@
 # Print a version string.
 scriptversion=2011-05-16.22; # UTC
 
-# Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2006-2012 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/configure.ac b/configure.ac
index 5f9ead1..697761f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1527,9 +1527,14 @@ case "$GCC" in
     ## and it became equally exasperating (gcc 2.95 and/or glibc 2.1.2).
     ## -Wundef was removed because Gnulib prevented it (see
     ## <http://thread.gmane.org/gmane.lisp.guile.bugs/5329>.)
+
+    ## Build with `-fno-strict-aliasing' to prevent miscompilation on
+    ## some platforms.  See
+    ## <http://lists.gnu.org/archive/html/guile-devel/2012-01/msg00487.html>.
+
     POTENTIAL_GCC_CFLAGS="-Wall -Wmissing-prototypes \
       -Wdeclaration-after-statement \
-      -Wswitch-enum"
+      -Wswitch-enum -fno-strict-aliasing"
     # Do this here so we don't screw up any of the tests above that might
     # not be "warning free"
     if test "${GUILE_ERROR_ON_WARNING}" = yes
diff --git a/doc/gendocs_template b/doc/gendocs_template
index 0c55724..f3a3ff6 100644
--- a/doc/gendocs_template
+++ b/doc/gendocs_template
@@ -77,7 +77,7 @@ the FSF.<br />
 Please send broken links and other corrections or suggestions to
 <a href="mailto:%%EMAIL%%";>&lt;%%EMAIL%%&gt;</a>.</p>
 
-<p>Copyright &copy; 2011 Free Software Foundation, Inc.</p>
+<p>Copyright &copy; 2012 Free Software Foundation, Inc.</p>
 
 <p>Verbatim copying and distribution of this entire article are
 permitted worldwide, without royalty, in any medium, provided this
diff --git a/doc/ref/api-control.texi b/doc/ref/api-control.texi
index c1502b0..7935d56 100644
--- a/doc/ref/api-control.texi
+++ b/doc/ref/api-control.texi
@@ -12,7 +12,7 @@ flow of Scheme affects C code.
 
 @menu
 * begin::                       Sequencing and splicing.
-* if cond case::                Simple conditional evaluation.
+* Conditionals::                If, when, unless, case, and cond.
 * and or::                      Conditional evaluation of a sequence.
 * while do::                    Iteration mechanisms.
 * Prompts::                     Composable, delimited continuations.
@@ -103,11 +103,13 @@ good idea.  But it is useful to be able to write macros 
that expand out
 to multiple definitions, as in @code{define-sealant} above, so Scheme
 abuses the @code{begin} form for these two tasks.
 
address@hidden if cond case
address@hidden Conditionals
 @subsection Simple Conditional Evaluation
 
 @cindex conditional evaluation
 @cindex if
address@hidden when
address@hidden unless
 @cindex case
 @cindex cond
 
@@ -121,14 +123,44 @@ values.
 All arguments may be arbitrary expressions.  First, @var{test} is
 evaluated.  If it returns a true value, the expression @var{consequent}
 is evaluated and @var{alternate} is ignored.  If @var{test} evaluates to
address@hidden, @var{alternate} is evaluated instead.  The value of the
-evaluated branch (@var{consequent} or @var{alternate}) is returned as
-the value of the @code{if} expression.
address@hidden, @var{alternate} is evaluated instead.  The values of the
+evaluated branch (@var{consequent} or @var{alternate}) are returned as
+the values of the @code{if} expression.
 
 When @var{alternate} is omitted and the @var{test} evaluates to
 @code{#f}, the value of the expression is not specified.
 @end deffn
 
+When you go to write an @code{if} without an alternate (a @dfn{one-armed
address@hidden), part of what you are expressing is that you don't care
+about the return value (or values) of the expression.  As such, you are
+more interested in the @emph{effect} of evaluating the consequent
+expression.  (By convention, we use the word @dfn{statement} to refer to
+an expression that is evaluated for effect, not for value).
+
+In such a case, it is considered more clear to express these intentions
+with these special forms, @code{when} and @code{unless}.  As an added
+bonus, these forms accept multiple statements to evaluate, which are
+implicitly wrapped in a @code{begin}.
+
address@hidden {Scheme Syntax} when test statement1 statement2 ...
address@hidden {Scheme Syntax} unless test statement1 statement2 ...
+The actual definitions of these forms are in many ways their most clear
+documentation:
+
address@hidden
+(define-syntax-rule (when test stmt stmt* ...)
+  (if test (begin stmt stmt* ...)))
+
+(define-syntax-rule (unless condition stmt stmt* ...)
+  (if (not test) (begin stmt stmt* ...)))
address@hidden example
+
+That is to say, @code{when} evaluates its consequent statements in order
+if @var{test} is true.  @code{unless} is the opposite: it evaluates the
+statements if @var{test} is false.
address@hidden deffn
+
 @deffn syntax cond clause1 clause2 @dots{}
 Each @code{cond}-clause must look like this:
 
@@ -785,6 +817,13 @@ the current implementation that object shares structure 
with
 @var{args}, so @var{args} should not be modified subsequently.
 @end deffn
 
address@hidden {C Function} scm_c_value_ref (values, idx)
+Returns the value at the position specified by @var{idx} in
address@hidden  Note that @var{values} will ordinarily be a
+multiple-values object, but it need not be.  Any other object
+represents a single value (itself), and is handled appropriately.
address@hidden deffn
+
 @rnindex call-with-values
 @deffn {Scheme Procedure} call-with-values producer consumer
 Calls its @var{producer} argument with no values and a
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index f2450ce..bcfbae3 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 
2007, 2008, 2009, 2010, 2011
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 
2007, 2008, 2009, 2010, 2011, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -78,10 +78,10 @@ equality predicates @code{eq?}, @code{eqv?} and 
@code{equal?}
 #t
 @end lisp
 
-In test condition contexts like @code{if} and @code{cond} (@pxref{if
-cond case}), where a group of subexpressions will be evaluated only if a
address@hidden expression evaluates to ``true'', ``true'' means any
-value at all except @code{#f}.
+In test condition contexts like @code{if} and @code{cond}
+(@pxref{Conditionals}), where a group of subexpressions will be
+evaluated only if a @var{condition} expression evaluates to ``true'',
+``true'' means any value at all except @code{#f}.
 
 @lisp
 (if #t "yes" "no")
@@ -1865,6 +1865,16 @@ Return a datum representation of @var{state} that may be 
written out and
 read back with the Scheme reader.
 @end deffn
 
address@hidden {Scheme Procedure} random-state-from-platform
address@hidden {C Function} scm_random_state_from_platform ()
+Construct a new random state seeded from a platform-specific source of
+entropy, appropriate for use in non-security-critical applications.
+Currently @file{/dev/urandom} is tried first, or else the seed is based
+on the time, date, process ID, an address from a freshly allocated heap
+cell, an address from the local stack frame, and a high-resolution timer
+if available.
address@hidden deffn
+
 @defvar *random-state*
 The global random state used by the above functions when the
 @var{state} parameter is not given.
@@ -1887,29 +1897,13 @@ Guile started up, will always give:
 (0 1 1 2 2 2 1 2 6 7 10 0 5 3 12 5 5 12)
 @end lisp
 
-To use the time of day as the random seed, you can use code like this:
-
address@hidden
-(let ((time (gettimeofday)))
-  (set! *random-state*
-        (seed->random-state (+ (car time)
-                               (cdr time)))))
address@hidden lisp
-
address@hidden
-And then (depending on the time of day, of course):
+To seed the random state in a sensible way for non-security-critical
+applications, do this during initialization of your program:
 
 @lisp
-(map random (cdr (iota 19)))
address@hidden
-(0 0 1 0 2 4 5 4 5 5 9 3 10 1 8 3 14 17)
+(set! *random-state* (random-state-from-platform))
 @end lisp
 
-For security applications, such as password generation, you should use
-more bits of seed.  Otherwise an open source password generator could
-be attacked by guessing the address@hidden but that's a subject for
-another manual.
-
 
 @node Characters
 @subsection Characters
diff --git a/doc/ref/api-debug.texi b/doc/ref/api-debug.texi
index bdb6166..2083daa 100644
--- a/doc/ref/api-debug.texi
+++ b/doc/ref/api-debug.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007, 
2010, 2011
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007, 
2010, 2011, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -292,6 +292,25 @@ If the @code{positions} reader option is enabled, each 
parenthesized
 expression will have values set for the @code{filename}, @code{line} and
 @code{column} properties.
 
+Source properties are also associated with syntax objects.  Procedural
+macros can get at the source location of their input using the
address@hidden accessor.  @xref{Syntax Transformer Helpers}, for
+more.
+
+Guile also defines a couple of convenience macros built on
address@hidden:
+
address@hidden {Scheme Syntax} current-source-location
+Expands to the source properties corresponding to the location of the
address@hidden(current-source-location)} form.
address@hidden deffn
+
address@hidden {Scheme Syntax} current-filename
+Expands to the current filename: the filename that the
address@hidden(current-filename)} form appears in.  Expands to @code{#f} if this
+information is unavailable.
address@hidden deffn
+
 If you're stuck with defmacros (@pxref{Defmacros}), and want to preserve
 source information, the following helper function might be useful to
 you:
diff --git a/doc/ref/api-evaluation.texi b/doc/ref/api-evaluation.texi
index 6a09bef..8c41d1e 100644
--- a/doc/ref/api-evaluation.texi
+++ b/doc/ref/api-evaluation.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 
2006, 2009, 2010, 2011
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 
2006, 2009, 2010, 2011, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -17,8 +17,11 @@ loading, evaluating, and compiling Scheme code at run time.
 * Fly Evaluation::              Procedures for on the fly evaluation.
 * Compilation::                 How to compile Scheme files and procedures.
 * Loading::                     Loading Scheme code from file.
+* Load Paths::                  Where Guile looks for code.
 * Character Encoding of Source Files:: Loading non-ASCII Scheme code from file.
 * Delayed Evaluation::          Postponing evaluation until it is needed.
+* Local Evaluation::            Evaluation in a local lexical environment.
+* Local Inclusion::             Compile-time inclusion of one file in another.
 @end menu
 
 
@@ -417,6 +420,8 @@ quote-keywordish-symbols  reader  How to print symbols that 
have a colon
                                   '#t' quotes them; 'reader' quotes them
                                   when the reader option 'keywords' is
                                   not '#f'.
+escape-newlines           yes     Render newlines as \n when printing
+                                  using `write'. 
 @end smalllisp
 
 These options may be modified with the print-set! syntax.
@@ -528,9 +533,24 @@ then there's no @address@hidden@var{argN} and @var{arg} is 
the
 @deffnx {C Function} scm_call_4 (proc, arg1, arg2, arg3, arg4)
 @deffnx {C Function} scm_call_5 (proc, arg1, arg2, arg3, arg4, arg5)
 @deffnx {C Function} scm_call_6 (proc, arg1, arg2, arg3, arg4, arg5, arg6)
address@hidden {C Function} scm_call_7 (proc, arg1, arg2, arg3, arg4, arg5, 
arg6, arg7)
address@hidden {C Function} scm_call_8 (proc, arg1, arg2, arg3, arg4, arg5, 
arg6, arg7, arg8)
address@hidden {C Function} scm_call_9 (proc, arg1, arg2, arg3, arg4, arg5, 
arg6, arg7, arg8, arg9)
 Call @var{proc} with the given arguments.
 @end deffn
 
address@hidden {C Function} scm_call (proc, ...)
+Call @var{proc} with any number of arguments.  The argument list must be
+terminated by @code{SCM_UNDEFINED}.  For example:
+
address@hidden
+scm_call (scm_c_public_ref ("guile", "+"),
+          scm_from_int (1),
+          scm_from_int (2),
+          SCM_UNDEFINED);
address@hidden example
address@hidden deffn
+
 @deffn {C Function} scm_call_n (proc, argv, nargs)
 Call @var{proc} with the array of arguments @var{argv}, as a
 @code{SCM*}.  The length of the arguments should be passed in
@@ -709,7 +729,7 @@ useful compilation warnings.  It can be customized from 
@file{~/.guile}.
 @rnindex load
 @deffn {Scheme Procedure} load filename [reader]
 Load @var{filename} and evaluate its contents in the top-level
-environment.  The load paths are not searched.
+environment.
 
 @var{reader} if provided should be either @code{#f}, or a procedure with
 the signature @code{(lambda (port) @dots{})} which reads the next
@@ -728,29 +748,21 @@ documentation for @code{%load-hook} later in this section.
 @end deffn
 
 @deffn {Scheme Procedure} load-compiled filename
-Load the compiled file named @var{filename}. The load paths are not
-searched.
+Load the compiled file named @var{filename}.
 
 Compiling a source file (@pxref{Read/Load/Eval/Compile}) and then
 calling @code{load-compiled} on the resulting file is equivalent to
 calling @code{load} on the source file.
 @end deffn
 
address@hidden {Scheme Procedure} load-from-path filename
-Similar to @code{load}, but searches for @var{filename} in the load
-paths. Preferentially loads a compiled version of the file, if it is
-available and up-to-date.
address@hidden deffn
-
 @deffn {Scheme Procedure} primitive-load filename
 @deffnx {C Function} scm_primitive_load (filename)
-Load the file named @var{filename} and evaluate its contents in
-the top-level environment. The load paths are not searched;
address@hidden must either be a full pathname or be a pathname
-relative to the current directory.  If the  variable
address@hidden is defined, it should be bound to a procedure
-that will be called before any code is loaded.  See the
-documentation for @code{%load-hook} later in this section.
+Load the file named @var{filename} and evaluate its contents in the
+top-level environment.  @var{filename} must either be a full pathname or
+be a pathname relative to the current directory.  If the variable
address@hidden is defined, it should be bound to a procedure that
+will be called before any code is loaded.  See the documentation for
address@hidden later in this section.
 @end deffn
 
 @deftypefn {C Function} SCM scm_c_primitive_load (const char *filename)
@@ -758,33 +770,6 @@ documentation for @code{%load-hook} later in this section.
 @code{SCM}.
 @end deftypefn
 
address@hidden {Scheme Procedure} primitive-load-path filename 
[exception-on-not-found]
address@hidden {C Function} scm_primitive_load_path (filename)
-Search @code{%load-path} for the file named @var{filename} and
-load it into the top-level environment.  If @var{filename} is a
-relative pathname and is not found in the list of search paths,
-an error is signalled. Preferentially loads a compiled version of the
-file, if it is available and up-to-date.
-
-By default or if @var{exception-on-not-found} is true, an exception is
-raised if @var{filename} is not found.  If @var{exception-on-not-found}
-is @code{#f} and @var{filename} is not found, no exception is raised and
address@hidden is returned.  For compatibility with Guile 1.8 and earlier,
-the C function takes only one argument, which can be either a string
-(the file name) or an argument list.
address@hidden deffn
-
address@hidden {Scheme Procedure} %search-load-path filename
address@hidden {C Function} scm_sys_search_load_path (filename)
-Search @code{%load-path} for the file named @var{filename},
-which must be readable by the current user.  If @var{filename}
-is found in the list of paths to search or is an absolute
-pathname, return its full pathname.  Otherwise, return
address@hidden  Filenames may have any of the optional extensions
-in the @code{%load-extensions} list; @code{%search-load-path}
-will try each extension automatically.
address@hidden deffn
-
 @defvar current-reader
 @code{current-reader} holds the read procedure that is currently being
 used by the above loading procedures to read expressions (from the file
@@ -812,9 +797,9 @@ change occurs at the right time.
 @defvar %load-hook
 A procedure to be called @code{(%load-hook @var{filename})} whenever a
 file is loaded, or @code{#f} for no such call.  @code{%load-hook} is
-used by all of the above loading functions (@code{load},
address@hidden, @code{primitive-load} and
address@hidden).
+used by all of the loading functions (@code{load} and
address@hidden, and @code{load-from-path} and
address@hidden documented in the next section).
 
 For example an application can set this to show what's loaded,
 
@@ -832,6 +817,72 @@ Return the current-load-port.
 The load port is used internally by @code{primitive-load}.
 @end deffn
 
address@hidden Load Paths
address@hidden Load Paths
+
+The procedure in the previous section look for Scheme code in the file
+system at specific location.  Guile also has some procedures to search
+the load path for code.
+
address@hidden @env{GUILE_LOAD_PATH}
address@hidden %load-path
+List of directories which should be searched for Scheme modules and
+libraries.  @code{%load-path} is initialized when Guile starts up to
address@hidden(list (%site-dir) (%library-dir) (%package-data-dir))}, prepended
+with the contents of the @env{GUILE_LOAD_PATH} environment variable, if
+it is set.  @xref{Build Config}, for more on @code{%site-dir} and
+related procedures.
address@hidden defvar
+
address@hidden {Scheme Procedure} load-from-path filename
+Similar to @code{load}, but searches for @var{filename} in the load
+paths. Preferentially loads a compiled version of the file, if it is
+available and up-to-date.
address@hidden deffn
+
+A user can extend the load path by calling @code{add-to-load-path}.
+
address@hidden {Scheme Syntax} add-to-load-path dir
+Add @var{dir} to the load path.
address@hidden deffn
+
+For example, a script might include this form to add the directory that
+it is in to the load path:
+
address@hidden
+(add-to-load-path (dirname (current-filename)))
address@hidden example
+
+It's better to use @code{add-to-load-path} than to modify
address@hidden directly, because @code{add-to-load-path} takes care
+of modifying the path both at compile-time and at run-time.
+
address@hidden {Scheme Procedure} primitive-load-path filename 
[exception-on-not-found]
address@hidden {C Function} scm_primitive_load_path (filename)
+Search @code{%load-path} for the file named @var{filename} and
+load it into the top-level environment.  If @var{filename} is a
+relative pathname and is not found in the list of search paths,
+an error is signalled. Preferentially loads a compiled version of the
+file, if it is available and up-to-date.
+
+By default or if @var{exception-on-not-found} is true, an exception is
+raised if @var{filename} is not found.  If @var{exception-on-not-found}
+is @code{#f} and @var{filename} is not found, no exception is raised and
address@hidden is returned.  For compatibility with Guile 1.8 and earlier,
+the C function takes only one argument, which can be either a string
+(the file name) or an argument list.
address@hidden deffn
+
address@hidden {Scheme Procedure} %search-load-path filename
address@hidden {C Function} scm_sys_search_load_path (filename)
+Search @code{%load-path} for the file named @var{filename}, which must
+be readable by the current user.  If @var{filename} is found in the list
+of paths to search or is an absolute pathname, return its full pathname.
+Otherwise, return @code{#f}.  Filenames may have any of the optional
+extensions in the @code{%load-extensions} list; @code{%search-load-path}
+will try each extension automatically.
address@hidden deffn
+
 @defvar %load-extensions
 A list of default file extensions for files containing Scheme code.
 @code{%search-load-path} tries each of these extensions when looking for
@@ -839,6 +890,62 @@ a file to load.  By default, @code{%load-extensions} is 
bound to the
 list @code{("" ".scm")}.
 @end defvar
 
+As mentioned above, when Guile searches the @code{%load-path} for a
+source file, it will also search the @code{%load-compiled-path} for a
+corresponding compiled file.  If the compiled file is as new or newer
+than the source file, it will be loaded instead of the source file,
+using @code{load-compiled}.
+
address@hidden %load-compiled-path
+Like @code{%load-path}, but for compiled files.  By default, this path
+has two entries: one for compiled files from Guile itself, and one for
+site packages.
address@hidden defvar
+
+When @code{primitive-load-path} searches the @code{%load-compiled-path}
+for a corresponding compiled file for a relative path it does so by
+appending @code{.go} to the relative path.  For example, searching for
address@hidden/popen} could find
address@hidden/usr/lib/guile/2.0/ccache/ice-9/popen.go}, and use it instead of
address@hidden/usr/share/guile/2.0/ice-9/popen.scm}.
+
+If @code{primitive-load-path} does not find a corresponding @code{.go}
+file in the @code{%load-compiled-path}, or the @code{.go} file is out of
+date, it will search for a corresponding auto-compiled file in the
+fallback path, possibly creating one if one does not exist.
+
address@hidden Site Packages}, for more on how to correctly install
+site packages.  @xref{Modules and the File System}, for more on the
+relationship between load paths and modules.  @xref{Compilation}, for
+more on the fallback path and auto-compilation.
+
+Finally, there are a couple of helper procedures for general path
+manipulation.
+
address@hidden {Scheme Procedure} parse-path path [tail]
address@hidden {C Function} scm_parse_path (path, tail)
+Parse @var{path}, which is expected to be a colon-separated string, into
+a list and return the resulting list with @var{tail} appended. If
address@hidden is @code{#f}, @var{tail} is returned.
address@hidden deffn
+
address@hidden {Scheme Procedure} search-path path filename [extensions 
[require-exts?]]
address@hidden {C Function} scm_search_path (path, filename, rest)
+Search @var{path} for a directory containing a file named
address@hidden The file must be readable, and not a directory.  If we
+find one, return its full filename; otherwise, return @code{#f}.  If
address@hidden is absolute, return it unchanged.  If given,
address@hidden is a list of strings; for each directory in @var{path},
+we search for @var{filename} concatenated with each @var{extension}.  If
address@hidden  is true, require that the returned file name have
+one of the given extensions; if @var{require-exts?} is not given, it
+defaults to @code{#f}.
+
+For compatibility with Guile 1.8 and earlier, the C function takes only
+three arguments.
address@hidden deffn
+
+
 @node Character Encoding of Source Files
 @subsection Character Encoding of Source Files
 
@@ -952,6 +1059,125 @@ value.
 @end deffn
 
 
address@hidden Local Evaluation
address@hidden Local Evaluation
+
+Guile includes a facility to capture a lexical environment, and later
+evaluate a new expression within that environment.  This code is
+implemented in a module.
+
address@hidden
+(use-modules (ice-9 local-eval))
address@hidden example
+
address@hidden syntax the-environment
+Captures and returns a lexical environment for use with
address@hidden or @code{local-compile}.
address@hidden deffn
+
address@hidden {Scheme Procedure} local-eval exp env
address@hidden {C Function} scm_local_eval (exp, env)
address@hidden {Scheme Procedure} local-compile exp env [opts=()]
+Evaluate or compile the expression @var{exp} in the lexical environment
address@hidden
address@hidden deffn
+
+Here is a simple example, illustrating that it is the variable
+that gets captured, not just its value at one point in time.
+
address@hidden
+(define e (let ((x 100)) (the-environment)))
+(define fetch-x (local-eval '(lambda () x) e))
+(fetch-x)
address@hidden 100
+(local-eval '(set! x 42) e)
+(fetch-x)
address@hidden 42
address@hidden example
+
+While @var{exp} is evaluated within the lexical environment of
address@hidden(the-environment)}, it has the dynamic environment of the call to
address@hidden
+
address@hidden and @code{local-compile} can only evaluate
+expressions, not definitions.
+
address@hidden
+(local-eval '(define foo 42)
+            (let ((x 100)) (the-environment)))
address@hidden syntax error: definition in expression context
address@hidden example
+
+Note that the current implementation of @code{(the-environment)} only
+captures ``normal'' lexical bindings, and pattern variables bound by
address@hidden  It does not currently capture local syntax
+transformers bound by @code{let-syntax}, @code{letrec-syntax} or
+non-top-level @code{define-syntax} forms.  Any attempt to reference such
+captured syntactic keywords via @code{local-eval} or
address@hidden produces an error.
+
+
address@hidden Local Inclusion
address@hidden Local Inclusion
+
+This section has discussed various means of linking Scheme code
+together: fundamentally, loading up files at run-time using @code{load}
+and @code{load-compiled}.  Guile provides another option to compose
+parts of programs together at expansion-time instead of at run-time.
+
address@hidden {Scheme Syntax} include file-name
+Open @var{file-name}, at expansion-time, and read the Scheme forms that
+it contains, splicing them into the location of the @code{include},
+within a @code{begin}.
address@hidden deffn
+
+If you are a C programmer, if @code{load} in Scheme is like
address@hidden in C, consider @code{include} to be like the C
+preprocessor's @code{#include}.  When you use @code{include}, it is as
+if the contents of the included file were typed in instead of the
address@hidden form.
+
+Because the code is included at compile-time, it is available to the
+macroexpander.  Syntax definitions in the included file are available to
+later code in the form in which the @code{include} appears, without the
+need for @code{eval-when}.  (@xref{Eval When}.)
+
+For the same reason, compiling a form that uses @code{include} results
+in one compilation unit, composed of multiple files.  Loading the
+compiled file is one @code{stat} operation for the compilation unit,
+instead of @address@hidden in the case of @code{load} (once for each
+loaded source file, and once each corresponding compiled file, in the
+best case).
+
+Unlike @code{load}, @code{include} also works within nested lexical
+contexts.  It so happens that the optimizer works best within a lexical
+context, because all of the uses of bindings in a lexical context are
+visible, so composing files by including them within a @code{(let ()
+...)} can sometimes lead to important speed improvements.
+
+On the other hand, @code{include} does have all the disadvantages of
+early binding: once the code with the @code{include} is compiled, no
+change to the included file is reflected in the future behavior of the
+including form.
+
+Also, the particular form of @code{include}, which requires an absolute
+path, or a path relative to the current directory at compile-time, is
+not very amenable to compiling the source in one place, but then
+installing the source to another place.  For this reason, Guile provides
+another form, @code{include-from-path}, which looks for the source file
+to include within a load path.
+
address@hidden {Scheme Syntax} include-from-path file-name
+Like @code{include}, but instead of expecting @code{file-name} to be an
+absolute file name, it is expected to be a relative path to search in
+the @code{%load-path}.
address@hidden deffn
+
address@hidden is more useful when you want to install all of
+the source files for a package (as you should!).  It makes it possible
+to evaluate an installed file from source, instead of relying on the
address@hidden file being up to date.
+
 @c Local Variables:
 @c TeX-master: "guile.texi"
 @c End:
diff --git a/doc/ref/api-foreign.texi b/doc/ref/api-foreign.texi
index 82925e6..6ece7f8 100644
--- a/doc/ref/api-foreign.texi
+++ b/doc/ref/api-foreign.texi
@@ -425,11 +425,11 @@ its own @code{gettext} message catalogue
 (@pxref{Internationalization}).
 
 It will be noted all of the above requires that the Scheme code to be
-found in @code{%load-path} (@pxref{Build Config}).  Presently it's
-left up to the system administrator or each user to augment that path
-when installing Guile modules in non-default locations.  But having
-reached the Scheme code, that code should take care of hitting any of
-its own private files etc.
+found in @code{%load-path} (@pxref{Load Paths}).  Presently it's left up
+to the system administrator or each user to augment that path when
+installing Guile modules in non-default locations.  But having reached
+the Scheme code, that code should take care of hitting any of its own
+private files etc.
 
 
 @node Foreign Pointers
diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi
index e60864b..f6a03bc 100644
--- a/doc/ref/api-macros.texi
+++ b/doc/ref/api-macros.texi
@@ -38,9 +38,10 @@ languages}, or EDSLs.}.
 * Defining Macros::             Binding macros, globally and locally.
 * Syntax Rules::                Pattern-driven macros.
 * Syntax Case::                 Procedural, hygienic macros.
+* Syntax Transformer Helpers::  Helpers for use in procedural macros.
 * Defmacros::                   Lisp-style macros.
 * Identifier Macros::           Identifier macros.
-* Syntax Parameters::           Syntax Parameters
+* Syntax Parameters::           Syntax Parameters.
 * Eval When::                   Affecting the expand-time environment.
 * Internal Macros::             Macros as first-class values.
 @end menu
@@ -671,28 +672,153 @@ source file, one may write:
           (newline))))))
 @end example
 
-Finally, we should mention the following helper procedures defined by the core
-of @code{syntax-case}:
+Readers interested in further information on @code{syntax-case} macros should
+see R. Kent Dybvig's excellent @cite{The Scheme Programming Language}, either
+edition 3 or 4, in the chapter on syntax. Dybvig was the primary author of the
address@hidden system. The book itself is available online at
address@hidden://scheme.com/tspl4/}.
+
address@hidden Syntax Transformer Helpers
address@hidden Syntax Transformer Helpers
+
+As noted in the previous section, Guile's syntax expander operates on
+syntax objects.  Procedural macros consume and produce syntax objects.
+This section describes some of the auxiliary helpers that procedural
+macros can use to compare, generate, and query objects of this data
+type.
 
 @deffn {Scheme Procedure} bound-identifier=? a b
-Returns @code{#t} iff the syntax objects @var{a} and @var{b} refer to the same
-lexically-bound identifier.
+Return @code{#t} iff the syntax objects @var{a} and @var{b} refer to the
+same lexically-bound identifier.
 @end deffn
 
 @deffn {Scheme Procedure} free-identifier=? a b
-Returns @code{#t} iff the syntax objects @var{a} and @var{b} refer to the same
-free identifier.
+Return @code{#t} iff the syntax objects @var{a} and @var{b} refer to the
+same free identifier.
 @end deffn
 
 @deffn {Scheme Procedure} generate-temporaries ls
 Return a list of temporary identifiers as long as @var{ls} is long.
 @end deffn
 
-Readers interested in further information on @code{syntax-case} macros should
-see R. Kent Dybvig's excellent @cite{The Scheme Programming Language}, either
-edition 3 or 4, in the chapter on syntax. Dybvig was the primary author of the
address@hidden system. The book itself is available online at
address@hidden://scheme.com/tspl4/}.
address@hidden {Scheme Procedure} syntax-source x
+Return the source properties that correspond to the syntax object
address@hidden  @xref{Source Properties}, for more information.
address@hidden deffn
+
+Guile also offers some more experimental interfaces in a separate
+module.  As was the case with the Large Hadron Collider, it is unclear
+to our senior macrologists whether adding these interfaces will result
+in awesomeness or in the destruction of Guile via the creation of a
+singularity.  We will preserve their functionality through the 2.0
+series, but we reserve the right to modify them in a future stable
+series, to a more than usual degree.
+
address@hidden
+(use-modules (system syntax))
address@hidden example
+
address@hidden {Scheme Procedure} syntax-module id
+Return the name of the module whose source contains the identifier
address@hidden
address@hidden deffn
+
address@hidden {Scheme Procedure} syntax-local-binding id
+Resolve the identifer @var{id}, a syntax object, within the current
+lexical environment, and return two values, the binding type and a
+binding value.  The binding type is a symbol, which may be one of the
+following:
+
address@hidden @code
address@hidden lexical
+A lexically-bound variable.  The value is a unique token (in the sense
+of @code{eq?}) identifying this binding.
address@hidden macro
+A syntax transformer, either local or global.  The value is the
+transformer procedure.
address@hidden pattern-variable
+A pattern variable, bound via syntax-case.  The value is an opaque
+object, internal to the expander.
address@hidden displaced-lexical
+A lexical variable that has gone out of scope.  This can happen if a
+badly-written procedural macro saves a syntax object, then attempts to
+introduce it in a context in which it is unbound.  The value is
address@hidden
address@hidden global
+A global binding.  The value is a pair, whose head is the symbol, and
+whose tail is the name of the module in which to resolve the symbol.
address@hidden other
+Some other binding, like @code{lambda} or other core bindings.  The
+value is @code{#f}.
address@hidden table
+
+This is a very low-level procedure, with limited uses.  One case in
+which it is useful is to build abstractions that associate auxiliary
+information with macros:
+
address@hidden
+(define aux-property (make-object-property))
+(define-syntax-rule (with-aux aux value)
+  (let ((trans value))
+    (set! (aux-property trans) aux)
+    trans))
+(define-syntax retrieve-aux
+  (lambda (x)
+    (syntax-case x ()
+      ((x id)
+       (call-with-values (lambda () (syntax-local-binding #'id))
+         (lambda (type val)
+           (with-syntax ((aux (datum->syntax #'here
+                                             (and (eq? type 'macro)
+                                                  (aux-property val)))))
+             #''aux)))))))
+(define-syntax foo
+  (with-aux 'bar
+    (syntax-rules () ((_) 'foo))))
+(foo)
address@hidden foo
+(retrieve-aux foo)
address@hidden bar
address@hidden example
+
address@hidden must be called within the dynamic extent of
+a syntax transformer; to call it otherwise will signal an error.
address@hidden deffn
+
address@hidden {Scheme Procedure} syntax-locally-bound-identifiers id
+Return a list of identifiers that were visible lexically when the
+identifier @var{id} was created, in order from outermost to innermost.
+
+This procedure is intended to be used in specialized procedural macros,
+to provide a macro with the set of bound identifiers that the macro can
+reference.
+
+As a technical implementation detail, the identifiers returned by
address@hidden will be anti-marked, like the
+syntax object that is given as input to a macro.  This is to signal to
+the macro expander that these bindings were present in the original
+source, and do not need to be hygienically renamed, as would be the case
+with other introduced identifiers.  See the discussion of hygiene in
+section 12.1 of the R6RS, for more information on marks.
+
address@hidden
+(define (local-lexicals id)
+  (filter (lambda (x)
+            (eq? (syntax-local-binding x) 'lexical))
+          (syntax-locally-bound-identifiers id)))
+(define-syntax lexicals
+  (lambda (x)
+    (syntax-case x ()
+      ((lexicals) #'(lexicals lexicals))
+      ((lexicals scope)
+       (with-syntax (((id ...) (local-lexicals #'scope)))
+         #'(list (cons 'id id) ...))))))
+
+(let* ((x 10) (x 20)) (lexicals))
address@hidden ((x . 10) (x . 20))
address@hidden example
address@hidden deffn
+
 
 @node Defmacros
 @subsection Lisp-style Macro Definitions
diff --git a/doc/ref/api-memory.texi b/doc/ref/api-memory.texi
index 375686d..6dca7a2 100644
--- a/doc/ref/api-memory.texi
+++ b/doc/ref/api-memory.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 
2010
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2009, 
2010, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -163,6 +163,9 @@ between different modules.
 
 The function @code{scm_calloc} is similar to @code{scm_malloc}, but
 initializes the block of memory to zero as well.
+
+These functions will (indirectly) call
address@hidden
 @end deftypefn
 
 @deftypefn {C Function} {void *} scm_realloc (void address@hidden, size_t 
@var{new_size})
@@ -174,6 +177,8 @@ and allocates a new block of size @var{new_size}.
 
 When not enough memory is available, signal an error.  This function
 runs the GC to free up some memory when it deems it appropriate.
+
+This function will call @code{scm_gc_register_allocation}.
 @end deftypefn
 
 
@@ -209,39 +214,26 @@ the memory management overhead very low.  However, in 
Guile 2.x,
 @end deftypefn
 
 
address@hidden {C Function} void scm_gc_register_collectable_memory (void 
address@hidden, size_t @var{size}, const char address@hidden)
-Informs the GC that the memory at @var{mem} of size @var{size} can
-potentially be freed during a GC.  That is, announce that @var{mem} is
-part of a GC controlled object and when the GC happens to free that
-object, @var{size} bytes will be freed along with it.  The GC will
address@hidden free the memory itself, it will just know that so-and-so
-much bytes of memory are associated with GC controlled objects and the
-memory system figures this into its decisions when to run a GC.
-
-The @var{what} argument is used for statistical purposes.  It should
-describe the type of object that the memory will be used for so that
-users can identify just what strange objects are eating up their
-memory.
-
-In Guile 2.x, this function has no effect.
address@hidden deftypefn
address@hidden {C Function} void scm_gc_register_allocation (size_t @var{size})
+Informs the garbage collector that @var{size} bytes have been allocated,
+which the collector would otherwise not have known about.
 
address@hidden {C Function} void scm_gc_unregister_collectable_memory (void 
address@hidden, size_t @var{size})
-Informs the GC that the memory at @var{mem} of size @var{size} is no
-longer associated with a GC controlled object.  You must take care to
-match up every call to @code{scm_gc_register_collectable_memory} with
-a call to @code{scm_gc_unregister_collectable_memory}.  If you don't do
-this, the GC might have a wrong impression of what is going on and run
-much less efficiently than it could.
+In general, Scheme will decide to collect garbage only after some amount
+of memory has been allocated.  Calling this function will make the
+Scheme garbage collector know about more allocation, and thus run more
+often (as appropriate).
 
-In Guile 2.x, this function has no effect.
+It is especially important to call this function when large unmanaged
+allocations, like images, may be freed by small Scheme allocations, like
+SMOBs.
 @end deftypefn
 
 
address@hidden {C Function} void scm_frame_free (void *mem)
-Equivalent to @code{scm_frame_unwind_handler (free, @var{mem},
-SCM_F_WIND_EXPLICITLY)}.  That is, the memory block at @var{mem} will
-be freed when the current frame is left.
address@hidden {C Function} void scm_dynwind_free (void *mem)
+Equivalent to @code{scm_dynwind_unwind_handler (free, @var{mem},
+SCM_F_WIND_EXPLICITLY)}.  That is, the memory block at @var{mem} will be
+freed (using @code{free} from the C library) when the current dynwind is
+left.
 @end deftypefn
 
 @deffn {Scheme Procedure} malloc-stats
@@ -272,7 +264,7 @@ The functions @code{scm_must_malloc} and 
@code{scm_must_realloc}
 behaved like @code{scm_gc_malloc} and @code{scm_gc_realloc} do now,
 respectively.  They would inform the GC about the newly allocated
 memory via the internal equivalent of
address@hidden  However,
address@hidden  However,
 @code{scm_must_free} did not unregister the memory it was about to
 free.  The usual way to unregister memory was to return its size from
 a smob free function.
diff --git a/doc/ref/api-modules.texi b/doc/ref/api-modules.texi
index 9830cfd..b9f9758 100644
--- a/doc/ref/api-modules.texi
+++ b/doc/ref/api-modules.texi
@@ -98,8 +98,8 @@ types of access are handled by the syntactic form 
@code{use-modules},
 which accepts one or more interface specifications and, upon evaluation,
 arranges for those interfaces to be available to the current module.
 This process may include locating and loading code for a given module if
-that code has not yet been loaded, following @code{%load-path} (@pxref{Build
-Config}).
+that code has not yet been loaded, following @code{%load-path}
+(@pxref{Modules and the File System}).
 
 An @dfn{interface specification} has one of two forms.  The first
 variation is simply to name the module, in which case its public
@@ -464,11 +464,11 @@ from in the @dfn{load path}.
 In this case, loading @code{(ice-9 popen)} will eventually cause Guile
 to run @code{(primitive-load-path "ice-9/popen")}.
 @code{primitive-load-path} will search for a file @file{ice-9/popen} in
-the @code{%load-path} (@pxref{Build Config}).  For each directory in
+the @code{%load-path} (@pxref{Load Paths}).  For each directory in
 @code{%load-path}, Guile will try to find the file name, concatenated
 with the extensions from @code{%load-extensions}.  By default, this will
 cause Guile to @code{stat} @file{ice-9/popen.scm}, and then
address@hidden/popen}.  @xref{Loading}, for more on
address@hidden/popen}.  @xref{Load Paths}, for more on
 @code{primitive-load-path}.
 
 If a corresponding compiled @file{.go} file is found in the
diff --git a/doc/ref/api-options.texi b/doc/ref/api-options.texi
index 6f7568b..f635978 100644
--- a/doc/ref/api-options.texi
+++ b/doc/ref/api-options.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 
2006, 2008, 2009, 2010, 2011
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 
2006, 2008, 2009, 2010, 2011, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -59,14 +59,14 @@ The @code{effective-version} function returns the version 
name that
 should remain unchanged during a stable series.  Currently that means
 that it omits the micro version.  The effective version should be used
 for items like the versioned share directory name
-i.e.@: @file{/usr/share/guile/1.6/}
+i.e.@: @file{/usr/share/guile/2.0/}
 
 @lisp
-(version) @result{} "1.6.0"
-(effective-version) @result{} "1.6"
-(major-version) @result{} "1"
-(minor-version) @result{} "6"
-(micro-version) @result{} "0"
+(version) @result{} "2.0.4"
+(effective-version) @result{} "2.0"
+(major-version) @result{} "2"
+(minor-version) @result{} "0"
+(micro-version) @result{} "4"
 @end lisp
 @end deffn
 
@@ -86,7 +86,7 @@ party package) are installed.  On Unix-like systems this is 
usually
 @file{/usr/share/guile/@var{GUILE_EFFECTIVE_VERSION}};
 
 @noindent
-for example @file{/usr/local/share/guile/1.6}.
+for example @file{/usr/local/share/guile/2.0}.
 @end deffn
 
 @deffn {Scheme Procedure} %site-dir
@@ -96,40 +96,6 @@ your site should be installed.  On Unix-like systems, this 
is usually
 @file{/usr/local/share/guile/site} or @file{/usr/share/guile/site}.
 @end deffn
 
address@hidden @env{GUILE_LOAD_PATH}
address@hidden %load-path
-List of directories which should be searched for Scheme modules and
-libraries.  @code{%load-path} is initialized when Guile starts up to
address@hidden(list (%site-dir) (%library-dir) (%package-data-dir))},
-prepended with the contents of the @env{GUILE_LOAD_PATH} environment variable,
-if it is set.
address@hidden defvar
-
address@hidden {Scheme Procedure} parse-path path [tail]
address@hidden {C Function} scm_parse_path (path, tail)
-Parse @var{path}, which is expected to be a colon-separated
-string, into a list and return the resulting list with
address@hidden appended. If @var{path} is @code{#f}, @var{tail}
-is returned.
address@hidden deffn
-
address@hidden {Scheme Procedure} search-path path filename [extensions 
[require-exts?]]
address@hidden {C Function} scm_search_path (path, filename, rest)
-Search @var{path} for a directory containing a file named
address@hidden The file must be readable, and not a directory.
-If we find one, return its full filename; otherwise, return
address@hidden  If @var{filename} is absolute, return it unchanged.
-If given, @var{extensions} is a list of strings; for each
-directory in @var{path}, we search for @var{filename}
-concatenated with each @var{extension}.  If @var{require-exts?}
-is true, require that the returned file name have one of the
-given extensions; if @var{require-exts?} is not given, it
-defaults to @code{#f}.
-
-For compatibility with Guile 1.8 and earlier, the C function takes only
-three arguments
address@hidden deffn
-
 @defvar %guile-build-info
 Alist of information collected during the building of a particular
 Guile.  Entries can be grouped into one of several categories:
diff --git a/doc/ref/api-procedures.texi b/doc/ref/api-procedures.texi
index 2b4a05e..1cecadf 100644
--- a/doc/ref/api-procedures.texi
+++ b/doc/ref/api-procedures.texi
@@ -674,11 +674,6 @@ Return the source of the procedure @var{proc}. Returns 
@code{#f} if
 the source code is not available.
 @end deffn
 
address@hidden {Scheme Procedure} procedure-environment proc
address@hidden {C Function} scm_procedure_environment (proc)
-Return the environment of the procedure @var{proc}. Very deprecated.
address@hidden deffn
-
 @deffn {Scheme Procedure} procedure-properties proc
 @deffnx {C Function} scm_procedure_properties (proc)
 Return the properties associated with @var{proc}, as an association
diff --git a/doc/ref/api-scheduling.texi b/doc/ref/api-scheduling.texi
index f107cbf..6b0ed22 100644
--- a/doc/ref/api-scheduling.texi
+++ b/doc/ref/api-scheduling.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007, 
2009, 2010
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2007, 
2009, 2010, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -15,6 +15,7 @@
 * Blocking::                    How to block properly in guile mode.
 * Critical Sections::           Avoiding concurrency and reentries.
 * Fluids and Dynamic States::   Thread-local variables, etc.
+* Parameters::                  Dynamic scoping in Scheme.
 * Futures::                     Fine-grain parallelism.
 * Parallel Forms::              Parallel execution of forms.
 @end menu
@@ -680,9 +681,11 @@ used for testing whether an object is actually a fluid.  
The values
 stored in a fluid can be accessed with @code{fluid-ref} and
 @code{fluid-set!}.
 
address@hidden {Scheme Procedure} make-fluid
address@hidden {Scheme Procedure} make-fluid [dflt]
 @deffnx {C Function} scm_make_fluid ()
-Return a newly created fluid.
address@hidden {C Function} scm_make_fluid_with_default (dflt)
+Return a newly created fluid, whose initial value is @var{dflt}, or
address@hidden if @var{dflt} is not given.
 Fluids are objects that can hold one
 value per dynamic state.  That is, modifications to this value are
 only visible to code that executes with the same dynamic state as
@@ -694,7 +697,7 @@ with its own dynamic state, you can use fluids for thread 
local storage.
 @deffn {Scheme Procedure} make-unbound-fluid
 @deffnx {C Function} scm_make_unbound_fluid ()
 Return a new fluid that is initially unbound (instead of being
-implicitly bound to @code{#f}.
+implicitly bound to some definite value).
 @end deffn
 
 @deffn {Scheme Procedure} fluid? obj
@@ -707,8 +710,8 @@ Return @code{#t} iff @var{obj} is a fluid; otherwise, return
 @deffnx {C Function} scm_fluid_ref (fluid)
 Return the value associated with @var{fluid} in the current
 dynamic root.  If @var{fluid} has not been set, then return
address@hidden Calling @code{fluid-ref} on an unbound fluid produces a
-runtime error.
+its default value. Calling @code{fluid-ref} on an unbound fluid produces
+a runtime error.
 @end deffn
 
 @deffn {Scheme Procedure} fluid-set! fluid value
@@ -820,6 +823,119 @@ Like @code{scm_with_dynamic_state}, but call @var{func} 
with
 @var{data}.
 @end deftypefn
 
address@hidden Parameters
address@hidden Parameters
+
address@hidden SRFI-39
address@hidden parameter object
address@hidden Parameter
+
+A parameter object is a procedure.  Calling it with no arguments returns
+its value.  Calling it with one argument sets the value.
+
address@hidden
+(define my-param (make-parameter 123))
+(my-param) @result{} 123
+(my-param 456)
+(my-param) @result{} 456
address@hidden example
+
+The @code{parameterize} special form establishes new locations for
+parameters, those new locations having effect within the dynamic scope
+of the @code{parameterize} body.  Leaving restores the previous
+locations.  Re-entering (through a saved continuation) will again use
+the new locations.
+
address@hidden
+(parameterize ((my-param 789))
+  (my-param)) @result{} 789
+(my-param) @result{} 456
address@hidden example
+
+Parameters are like dynamically bound variables in other Lisp dialects.
+They allow an application to establish parameter settings (as the name
+suggests) just for the execution of a particular bit of code, restoring
+when done.  Examples of such parameters might be case-sensitivity for a
+search, or a prompt for user input.
+
+Global variables are not as good as parameter objects for this sort of
+thing.  Changes to them are visible to all threads, but in Guile
+parameter object locations are per-thread, thereby truly limiting the
+effect of @code{parameterize} to just its dynamic execution.
+
+Passing arguments to functions is thread-safe, but that soon becomes
+tedious when there's more than a few or when they need to pass down
+through several layers of calls before reaching the point they should
+affect.  And introducing a new setting to existing code is often easier
+with a parameter object than adding arguments.
+
address@hidden make-parameter init [converter]
+Return a new parameter object, with initial value @var{init}.
+
+If a @var{converter} is given, then a call @code{(@var{converter}
+val)} is made for each value set, its return is the value stored.
+Such a call is made for the @var{init} initial value too.
+
+A @var{converter} allows values to be validated, or put into a
+canonical form.  For example,
+
address@hidden
+(define my-param (make-parameter 123
+                   (lambda (val)
+                     (if (not (number? val))
+                         (error "must be a number"))
+                     (inexact->exact val))))
+(my-param 0.75)
+(my-param) @result{} 3/4
address@hidden example
address@hidden defun
+
address@hidden {Scheme Syntax} parameterize ((param value) @dots{}) body @dots{}
+Establish a new dynamic scope with the given @var{param}s bound to new
+locations and set to the given @var{value}s.  @var{body} is evaluated
+in that environment, the result is the return from the last form in
address@hidden
+
+Each @var{param} is an expression which is evaluated to get the
+parameter object.  Often this will just be the name of a variable
+holding the object, but it can be anything that evaluates to a
+parameter.
+
+The @var{param} expressions and @var{value} expressions are all
+evaluated before establishing the new dynamic bindings, and they're
+evaluated in an unspecified order.
+
+For example,
+
address@hidden
+(define prompt (make-parameter "Type something: "))
+(define (get-input)
+  (display (prompt))
+  ...)
+
+(parameterize ((prompt "Type a number: "))
+  (get-input)
+  ...)
address@hidden example
address@hidden deffn
+
+Parameter objects are implemented using fluids (@pxref{Fluids and
+Dynamic States}), so each dynamic state has its own parameter
+locations.  That includes the separate locations when outside any
address@hidden form.  When a parameter is created it gets a
+separate initial location in each dynamic state, all initialized to the
+given @var{init} value.
+
+As alluded to above, because each thread usually has a separate dynamic
+state, each thread has its own locations behind parameter objects, and
+changes in one thread are not visible to any other.  When a new dynamic
+state or thread is created, the values of parameters in the originating
+context are copied, into new locations.
+
address@hidden SRFI-39
+Guile's parameters conform to SRFI-39 (@pxref{SRFI-39}).
+
+
 @node Futures
 @subsection Futures
 @cindex futures
diff --git a/doc/ref/guile-invoke.texi b/doc/ref/guile-invoke.texi
index ccb5301..08c1698 100644
--- a/doc/ref/guile-invoke.texi
+++ b/doc/ref/guile-invoke.texi
@@ -73,7 +73,7 @@ the user's @file{.guile} file.
 
 @item -x @var{extension}
 Add @var{extension} to the front of Guile's load extension list
-(@pxref{Loading, @code{%load-extensions}}).  The specified extensions
+(@pxref{Load Paths, @code{%load-extensions}}).  The specified extensions
 are tried in the order given on the command line, and before the default
 load extensions.  Extensions added here are @emph{not} in effect during
 execution of the user's @file{.guile} file.
diff --git a/doc/ref/guile.texi b/doc/ref/guile.texi
index 9c6deb6..c3da0c3 100644
--- a/doc/ref/guile.texi
+++ b/doc/ref/guile.texi
@@ -14,7 +14,7 @@
 This manual documents Guile version @value{VERSION}.
 
 Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2009,
-2010, 2011 Free Software Foundation.
+2010, 2011, 2012 Free Software Foundation.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
diff --git a/doc/ref/r6rs.texi b/doc/ref/r6rs.texi
index d054bd3..df14cc0 100644
--- a/doc/ref/r6rs.texi
+++ b/doc/ref/r6rs.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  2010, 2011
address@hidden Copyright (C)  2010, 2011, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -316,7 +316,7 @@ grouped below by the existing manual sections to which they 
correspond.
 @deffn {Scheme Syntax} if test consequence [alternate]
 @deffnx {Scheme Syntax} cond clause1 clause2 ...
 @deffnx {Scheme Syntax} case key clause1 clause2 ...
address@hidden cond case}, for documentation.
address@hidden, for documentation.
 @end deffn
 
 @deffn {Scheme Syntax} and expr ...
@@ -1146,7 +1146,7 @@ exception handler that binds a raised exception to 
@var{variable} and
 then evaluates the specified @var{clause}s as if they were part of a 
 @code{cond} expression, with the value of the first matching clause 
 becoming the value of the @code{guard} expression 
-(@pxref{if cond case}).  If none of the clause's test expressions 
+(@pxref{Conditionals}).  If none of the clause's test expressions 
 evaluates to @code{#t}, the exception is re-raised, with the exception
 handler that was current before the evaluation of the @code{guard} form.
 
diff --git a/doc/ref/scheme-ideas.texi b/doc/ref/scheme-ideas.texi
index 99c07b9..53f7b61 100644
--- a/doc/ref/scheme-ideas.texi
+++ b/doc/ref/scheme-ideas.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 
2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -964,11 +964,11 @@ same as a procedure which returns its last argument, 
because the
 evaluation of a procedure invocation expression does not guarantee to
 evaluate the arguments in order.
 
address@hidden and @code{cond} (@pxref{if cond case}) provide conditional
address@hidden and @code{cond} (@pxref{Conditionals}) provide conditional
 evaluation of argument expressions depending on whether one or more
 conditions evaluate to ``true'' or ``false''.
 
address@hidden (@pxref{if cond case}) provides conditional evaluation of
address@hidden (@pxref{Conditionals}) provides conditional evaluation of
 argument expressions depending on whether a variable has one of a
 specified group of values.
 
diff --git a/doc/ref/scheme-using.texi b/doc/ref/scheme-using.texi
index 73e1a5d..ae608d7 100644
--- a/doc/ref/scheme-using.texi
+++ b/doc/ref/scheme-using.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C) 2006, 2010, 2011
address@hidden Copyright (C) 2006, 2010, 2011, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -750,8 +750,8 @@ The first thing to do is to install your Scheme files where 
Guile can
 find them.  When Guile goes to find a Scheme file, it will search a
 @dfn{load path} to find the file: first in Guile's own path, then in
 paths for @dfn{site packages}.  A site package is any Scheme code that
-is installed and not part of Guile itself.  @xref{Loading}, for more on
-load paths.
+is installed and not part of Guile itself.  @xref{Load Paths}, for more
+on load paths.
 
 There are several site paths, for historical reasons, but the one that
 should generally be used can be obtained by invoking the
@@ -780,7 +780,8 @@ site packages will be
 
 Note that a @code{.go} file will only be loaded in preference to a
 @code{.scm} file if it is newer.  For that reason, you should install
-your Scheme files first, and your compiled files second.
+your Scheme files first, and your compiled files second.  @code{Load
+Paths}, for more on the loading process.
 
 Finally, although this section is only about Scheme, sometimes you need
 to install C extensions too.  Shared libraries should be installed in
diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi
index 1e0ba2b..09b93ac 100644
--- a/doc/ref/srfi-modules.texi
+++ b/doc/ref/srfi-modules.texi
@@ -1,6 +1,6 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Guile Reference Manual.
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 
2007, 2008, 2009, 2010, 2011
address@hidden Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 
2007, 2008, 2009, 2010, 2011, 2012
 @c   Free Software Foundation, Inc.
 @c See the file guile.texi for copying conditions.
 
@@ -3846,134 +3846,14 @@ from a closed port.
 @node SRFI-39
 @subsection SRFI-39 - Parameters
 @cindex SRFI-39
address@hidden parameter object
address@hidden Parameter
 
-This SRFI provides parameter objects, which implement dynamically
-bound locations for values.  The functions below are available from
+This SRFI adds support for dynamically-scoped parameters.  SRFI 39 is
+implemented in the Guile core; there's no module needed to get SRFI-39
+itself.  Parameters are documented in @ref{Parameters}.
 
address@hidden
-(use-modules (srfi srfi-39))
address@hidden example
-
-A parameter object is a procedure.  Called with no arguments it
-returns its value, called with one argument it sets the value.
-
address@hidden
-(define my-param (make-parameter 123))
-(my-param) @result{} 123
-(my-param 456)
-(my-param) @result{} 456
address@hidden example
-
-The @code{parameterize} special form establishes new locations for
-parameters, those new locations having effect within the dynamic scope
-of the @code{parameterize} body.  Leaving restores the previous
-locations, or re-entering through a saved continuation will again use
-the new locations.
-
address@hidden
-(parameterize ((my-param 789))
-  (my-param) @result{} 789
-  )
-(my-param) @result{} 456
address@hidden example
-
-Parameters are like dynamically bound variables in other Lisp dialects.
-They allow an application to establish parameter settings (as the name
-suggests) just for the execution of a particular bit of code,
-restoring when done.  Examples of such parameters might be
-case-sensitivity for a search, or a prompt for user input.
-
-Global variables are not as good as parameter objects for this sort of
-thing.  Changes to them are visible to all threads, but in Guile
-parameter object locations are per-thread, thereby truly limiting the
-effect of @code{parameterize} to just its dynamic execution.
-
-Passing arguments to functions is thread-safe, but that soon becomes
-tedious when there's more than a few or when they need to pass down
-through several layers of calls before reaching the point they should
-affect.  And introducing a new setting to existing code is often
-easier with a parameter object than adding arguments.
-
-
address@hidden 1
address@hidden make-parameter init [converter]
-Return a new parameter object, with initial value @var{init}.
-
-A parameter object is a procedure.  When called @code{(param)} it
-returns its value, or a call @code{(param val)} sets its value.  For
-example,
-
address@hidden
-(define my-param (make-parameter 123))
-(my-param) @result{} 123
-
-(my-param 456)
-(my-param) @result{} 456
address@hidden example
-
-If a @var{converter} is given, then a call @code{(@var{converter}
-val)} is made for each value set, its return is the value stored.
-Such a call is made for the @var{init} initial value too.
-
-A @var{converter} allows values to be validated, or put into a
-canonical form.  For example,
-
address@hidden
-(define my-param (make-parameter 123
-                   (lambda (val)
-                     (if (not (number? val))
-                         (error "must be a number"))
-                     (inexact->exact val))))
-(my-param 0.75)
-(my-param) @result{} 3/4
address@hidden example
address@hidden defun
-
address@hidden {library syntax} parameterize ((param value) @dots{}) body 
@dots{}
-Establish a new dynamic scope with the given @var{param}s bound to new
-locations and set to the given @var{value}s.  @var{body} is evaluated
-in that environment, the result is the return from the last form in
address@hidden
-
-Each @var{param} is an expression which is evaluated to get the
-parameter object.  Often this will just be the name of a variable
-holding the object, but it can be anything that evaluates to a
-parameter.
-
-The @var{param} expressions and @var{value} expressions are all
-evaluated before establishing the new dynamic bindings, and they're
-evaluated in an unspecified order.
-
-For example,
-
address@hidden
-(define prompt (make-parameter "Type something: "))
-(define (get-input)
-  (display (prompt))
-  ...)
-
-(parameterize ((prompt "Type a number: "))
-  (get-input)
-  ...)
address@hidden example
address@hidden deffn
-
address@hidden {Parameter object} current-input-port [new-port]
address@hidden {Parameter object} current-output-port [new-port]
address@hidden {Parameter object} current-error-port [new-port]
-This SRFI extends the core @code{current-input-port} and
address@hidden, making them parameter objects.  The
-Guile-specific @code{current-error-port} is extended too, for
-consistency.  (@pxref{Default Ports}.)
-
-This is an upwardly compatible extension, a plain call like
address@hidden(current-input-port)} still returns the current input port, and
address@hidden can still be used.  But the port can now
-also be set with @code{(current-input-port my-port)} and bound
-dynamically with @code{parameterize}.
address@hidden deffn
+This module does export one extra function: @code{with-parameters*}.
+This is a Guile-specific addition to the SRFI, similar to the core
address@hidden (@pxref{Fluids and Dynamic States}).
 
 @defun with-parameters* param-list value-list thunk
 Establish a new dynamic scope, as per @code{parameterize} above,
@@ -3981,30 +3861,8 @@ taking parameters from @var{param-list} and 
corresponding values from
 @var{values-list}.  A call @code{(@var{thunk})} is made in the new
 scope and the result from that @var{thunk} is the return from
 @code{with-parameters*}.
-
-This function is a Guile-specific addition to the SRFI, it's similar
-to the core @code{with-fluids*} (@pxref{Fluids and Dynamic States}).
 @end defun
 
-
address@hidden 1
-Parameter objects are implemented using fluids (@pxref{Fluids and
-Dynamic States}), so each dynamic state has it's own parameter
-locations.  That includes the separate locations when outside any
address@hidden form.  When a parameter is created it gets a
-separate initial location in each dynamic state, all initialized to
-the given @var{init} value.
-
-As alluded to above, because each thread usually has a separate
-dynamic state, each thread has it's own locations behind parameter
-objects, and changes in one thread are not visible to any other.  When
-a new dynamic state or thread is created, the values of parameters in
-the originating context are copied, into new locations.
-
-SRFI-39 doesn't specify the interaction between parameter objects and
-threads, so the threading behaviour described here should be regarded
-as Guile-specific.
-
 @node SRFI-42
 @subsection SRFI-42 - Eager Comprehensions
 @cindex SRFI-42
@@ -4335,7 +4193,7 @@ This SRFI extends RnRS @code{cond} to support test 
expressions that
 return multiple values, as well as arbitrary definitions of test
 success.  SRFI 61 is implemented in the Guile core; there's no module
 needed to get SRFI-61 itself.  Extended @code{cond} is documented in
address@hidden cond case,, Simple Conditional Evaluation}.
address@hidden,, Simple Conditional Evaluation}.
 
 @node SRFI-67
 @subsection SRFI-67 - Compare procedures
diff --git a/doc/ref/vm.texi b/doc/ref/vm.texi
index cf4e135..398129e 100644
--- a/doc/ref/vm.texi
+++ b/doc/ref/vm.texi
@@ -438,7 +438,7 @@ expressions.
 @end deffn
 
 @deffn Instruction local-boxed-ref index
address@hidden Instruction local-boxed-ref index
address@hidden Instruction local-boxed-set index
 Get or set the value of the variable located at @var{index} within the
 current stack frame. A shortcut for @code{local-ref} then
 @code{variable-ref} or @code{variable-set}, respectively.
diff --git a/doc/release.org b/doc/release.org
index 0d18be3..462c705 100644
--- a/doc/release.org
+++ b/doc/release.org
@@ -6,6 +6,10 @@ This document describes the typical release process for Guile 
2.0.
 
 * Preparing & uploading the tarball
 
+** M-x debbugs-gnu
+
+… or http://bugs.gnu.org/guile, for an idea of things to fix.
+
 ** Update Gnulib
 
 The commit log's first line should be "Update Gnulib to X", where X is
@@ -49,6 +53,12 @@ If you're still in a good mood, you may also want to check 
on porter
 boxes for other OSes.  The GNU/Hurd people have 
[[http://www.gnu.org/software/hurd/public_hurd_boxen.html][porter boxes]], so 
does
 the [[http://www.opencsw.org/standards/build_farm][OpenCSW Solaris Team]].
 
+
+*** Post a pre-release announcement to address@hidden'
+
+Send a link to 
[[http://hydra.nixos.org/job/gnu/guile-2-0/tarball/latest/download-by-type/file/source-dist][the
 latest tarball]].  This will allow readers to test on
+possibly weird platforms and report any bugs.
+
 ** Update `GUILE-VERSION'
 
 For stable releases, make sure to update the SONAME appropriately.  To
diff --git a/guile-readline/Makefile.am b/guile-readline/Makefile.am
index f9d51a2..0c4ca77 100644
--- a/guile-readline/Makefile.am
+++ b/guile-readline/Makefile.am
@@ -1,6 +1,7 @@
 ## Process this file with Automake to create Makefile.in
 ##
-##     Copyright (C) 1998, 1999, 2000, 2001, 2004, 2006, 2007, 2008, 2009, 
2010 Free Software Foundation, Inc.
+##   Copyright (C) 1998, 1999, 2000, 2001, 2004, 2006, 2007, 2008,
+##     2009, 2010, 2012 Free Software Foundation, Inc.
 ##
 ##   This file is part of guile-readline.
 ##
@@ -68,7 +69,7 @@ EXTRA_DIST += LIBGUILEREADLINE-VERSION ChangeLog-2008
 ETAGS_ARGS +=                                                  \
   $(address@hidden@_la_SOURCES)
 
-CLEANFILES += *.x
+CLEANFILES += *.x *.go
 
 endif HAVE_READLINE
 
diff --git a/lib/Makefile.am b/lib/Makefile.am
index d4ff8c3..a4a9960 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -1,6 +1,6 @@
 ## DO NOT EDIT! GENERATED AUTOMATICALLY!
 ## Process this file with automake to produce Makefile.in.
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local 
--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 localcharset 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
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gnulib-local 
--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 dirfd 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 localcharset locale log1p maintainer-makefile malloc-gnu 
malloca nproc open pipe2 putenv recv recvfrom rename send sendto setenv 
setsockopt shutdown socket stat-time stdlib strftime striconveh string sys_stat 
trunc verify vsnprintf warnings wchar
 
 AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
 
@@ -287,6 +287,63 @@ EXTRA_libgnu_la_SOURCES += connect.c
 
 ## end   gnulib module connect
 
+## begin gnulib module dirent
+
+BUILT_SOURCES += dirent.h
+
+# We need the following in order to create <dirent.h> when the system
+# doesn't have one that works with the given compiler.
+dirent.h: dirent.in.h $(top_builddir)/config.status $(CXXDEFS_H) 
$(ARG_NONNULL_H) $(WARN_ON_USE_H)
+       $(AM_V_GEN)rm -f address@hidden $@ && \
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''GUARD_PREFIX''@|GL|g' \
+             -e 's|@''HAVE_DIRENT_H''@|$(HAVE_DIRENT_H)|g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+             -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
+             -e 's/@''GNULIB_OPENDIR''@/$(GNULIB_OPENDIR)/g' \
+             -e 's/@''GNULIB_READDIR''@/$(GNULIB_READDIR)/g' \
+             -e 's/@''GNULIB_REWINDDIR''@/$(GNULIB_REWINDDIR)/g' \
+             -e 's/@''GNULIB_CLOSEDIR''@/$(GNULIB_CLOSEDIR)/g' \
+             -e 's/@''GNULIB_DIRFD''@/$(GNULIB_DIRFD)/g' \
+             -e 's/@''GNULIB_FDOPENDIR''@/$(GNULIB_FDOPENDIR)/g' \
+             -e 's/@''GNULIB_SCANDIR''@/$(GNULIB_SCANDIR)/g' \
+             -e 's/@''GNULIB_ALPHASORT''@/$(GNULIB_ALPHASORT)/g' \
+             -e 's/@''HAVE_OPENDIR''@/$(HAVE_OPENDIR)/g' \
+             -e 's/@''HAVE_READDIR''@/$(HAVE_READDIR)/g' \
+             -e 's/@''HAVE_REWINDDIR''@/$(HAVE_REWINDDIR)/g' \
+             -e 's/@''HAVE_CLOSEDIR''@/$(HAVE_CLOSEDIR)/g' \
+             -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
+             -e 's|@''HAVE_DECL_FDOPENDIR''@|$(HAVE_DECL_FDOPENDIR)|g' \
+             -e 's|@''HAVE_FDOPENDIR''@|$(HAVE_FDOPENDIR)|g' \
+             -e 's|@''HAVE_SCANDIR''@|$(HAVE_SCANDIR)|g' \
+             -e 's|@''HAVE_ALPHASORT''@|$(HAVE_ALPHASORT)|g' \
+             -e 's|@''REPLACE_OPENDIR''@|$(REPLACE_OPENDIR)|g' \
+             -e 's|@''REPLACE_CLOSEDIR''@|$(REPLACE_CLOSEDIR)|g' \
+             -e 's|@''REPLACE_DIRFD''@|$(REPLACE_DIRFD)|g' \
+             -e 's|@''REPLACE_FDOPENDIR''@|$(REPLACE_FDOPENDIR)|g' \
+             -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+             -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+             -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+             < $(srcdir)/dirent.in.h; \
+       } > address@hidden && \
+       mv address@hidden $@
+MOSTLYCLEANFILES += dirent.h dirent.h-t
+
+EXTRA_DIST += dirent.in.h
+
+## end   gnulib module dirent
+
+## begin gnulib module dirfd
+
+
+EXTRA_DIST += dirfd.c
+
+EXTRA_libgnu_la_SOURCES += dirfd.c
+
+## end   gnulib module dirfd
+
 ## begin gnulib module dirname-lgpl
 
 libgnu_la_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c
@@ -1286,6 +1343,15 @@ EXTRA_libgnu_la_SOURCES += sendto.c
 
 ## end   gnulib module sendto
 
+## begin gnulib module setenv
+
+
+EXTRA_DIST += setenv.c
+
+EXTRA_libgnu_la_SOURCES += setenv.c
+
+## end   gnulib module setenv
+
 ## begin gnulib module setsockopt
 
 
@@ -1788,6 +1854,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) \
              -e 's/@''GNULIB_PTSNAME''@/$(GNULIB_PTSNAME)/g' \
              -e 's/@''GNULIB_PTSNAME_R''@/$(GNULIB_PTSNAME_R)/g' \
              -e 's/@''GNULIB_PUTENV''@/$(GNULIB_PUTENV)/g' \
+             -e 's/@''GNULIB_RANDOM''@/$(GNULIB_RANDOM)/g' \
              -e 's/@''GNULIB_RANDOM_R''@/$(GNULIB_RANDOM_R)/g' \
              -e 's/@''GNULIB_REALLOC_POSIX''@/$(GNULIB_REALLOC_POSIX)/g' \
              -e 's/@''GNULIB_REALPATH''@/$(GNULIB_REALPATH)/g' \
@@ -1815,6 +1882,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) \
              -e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
              -e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
              -e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
+             -e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
              -e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
              -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
              -e 's|@''HAVE_REALPATH''@|$(HAVE_REALPATH)|g' \
@@ -1834,6 +1902,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) \
              -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
              -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
              -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
+             -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
              -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
              -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
              -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
@@ -2294,6 +2363,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
              -e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
              -e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
+             -e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
              -e 's/@''GNULIB_LCHOWN''@/$(GNULIB_LCHOWN)/g' \
              -e 's/@''GNULIB_LINK''@/$(GNULIB_LINK)/g' \
              -e 's/@''GNULIB_LINKAT''@/$(GNULIB_LINKAT)/g' \
@@ -2372,6 +2442,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status 
$(CXXDEFS_H) $(ARG_NONNULL_H
              -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
              -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
+             -e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
              -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \
diff --git a/lib/accept.c b/lib/accept.c
index be8269e..78bb822 100644
--- a/lib/accept.c
+++ b/lib/accept.c
@@ -1,6 +1,6 @@
 /* accept.c --- wrappers for Windows accept function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/alignof.h b/lib/alignof.h
index 2049142..17942ea 100644
--- a/lib/alignof.h
+++ b/lib/alignof.h
@@ -1,5 +1,5 @@
 /* Determine alignment of types.
-   Copyright (C) 2003-2004, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2004, 2006, 2009-2012 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
diff --git a/lib/alloca.in.h b/lib/alloca.in.h
index 8760ae7..fe95954 100644
--- a/lib/alloca.in.h
+++ b/lib/alloca.in.h
@@ -1,6 +1,6 @@
 /* Memory allocation on the stack.
 
-   Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation,
+   Copyright (C) 1995, 1999, 2001-2004, 2006-2012 Free Software Foundation,
    Inc.
 
    This program is free software; you can redistribute it and/or modify it
diff --git a/lib/arpa_inet.in.h b/lib/arpa_inet.in.h
index 44669cc..4295f67 100644
--- a/lib/arpa_inet.in.h
+++ b/lib/arpa_inet.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <arpa/inet.h>.
 
-   Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2008-2012 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
diff --git a/lib/asnprintf.c b/lib/asnprintf.c
index f1fb746..1120bed 100644
--- a/lib/asnprintf.c
+++ b/lib/asnprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999, 2002, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2006, 2009-2012 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
diff --git a/lib/basename-lgpl.c b/lib/basename-lgpl.c
index 685cbc7..8ddbfc3 100644
--- a/lib/basename-lgpl.c
+++ b/lib/basename-lgpl.c
@@ -1,6 +1,6 @@
 /* basename.c -- return the last element in a file name
 
-   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2011 Free Software
+   Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/binary-io.h b/lib/binary-io.h
index 874fe68..00a78f0 100644
--- a/lib/binary-io.h
+++ b/lib/binary-io.h
@@ -1,5 +1,5 @@
 /* Binary mode I/O.
-   Copyright (C) 2001, 2003, 2005, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2003, 2005, 2008-2012 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
diff --git a/lib/bind.c b/lib/bind.c
index e339e58..1a2a3b6 100644
--- a/lib/bind.c
+++ b/lib/bind.c
@@ -1,6 +1,6 @@
 /* bind.c --- wrappers for Windows bind function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/byteswap.in.h b/lib/byteswap.in.h
index 0491781..a9baa68 100644
--- a/lib/byteswap.in.h
+++ b/lib/byteswap.in.h
@@ -1,5 +1,5 @@
 /* byteswap.h - Byte swapping
-   Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2012 Free Software Foundation, Inc.
    Written by Oskar Liljeblad <address@hidden>, 2005.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/c-ctype.c b/lib/c-ctype.c
index 06f87d0..512bcdc 100644
--- a/lib/c-ctype.c
+++ b/lib/c-ctype.c
@@ -1,6 +1,6 @@
 /* Character handling in C locale.
 
-   Copyright 2000-2003, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright 2000-2003, 2006, 2009-2012 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
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
index 669673f..aa3c964 100644
--- a/lib/c-ctype.h
+++ b/lib/c-ctype.h
@@ -5,7 +5,7 @@
    <ctype.h> functions' behaviour depends on the current locale set via
    setlocale.
 
-   Copyright (C) 2000-2003, 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2006, 2008-2012 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
diff --git a/lib/c-strcase.h b/lib/c-strcase.h
index 5173cb2..3b92ba9 100644
--- a/lib/c-strcase.h
+++ b/lib/c-strcase.h
@@ -1,5 +1,5 @@
 /* Case-insensitive string comparison functions in C locale.
-   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2011 Free Software
+   Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/c-strcasecmp.c b/lib/c-strcasecmp.c
index 5216c44..c8e0706 100644
--- a/lib/c-strcasecmp.c
+++ b/lib/c-strcasecmp.c
@@ -1,5 +1,5 @@
 /* c-strcasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2012 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
diff --git a/lib/c-strcaseeq.h b/lib/c-strcaseeq.h
index 754303d..25e6e07 100644
--- a/lib/c-strcaseeq.h
+++ b/lib/c-strcaseeq.h
@@ -1,5 +1,5 @@
 /* Optimized case-insensitive string comparison in C locale.
-   Copyright (C) 2001-2002, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2007, 2009-2012 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
diff --git a/lib/c-strncasecmp.c b/lib/c-strncasecmp.c
index 2d5a324..32ced38 100644
--- a/lib/c-strncasecmp.c
+++ b/lib/c-strncasecmp.c
@@ -1,5 +1,5 @@
 /* c-strncasecmp.c -- case insensitive string comparator in C locale
-   Copyright (C) 1998-1999, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1998-1999, 2005-2006, 2009-2012 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
diff --git a/lib/canonicalize-lgpl.c b/lib/canonicalize-lgpl.c
index 1fd4c37..9b03dc6 100644
--- a/lib/canonicalize-lgpl.c
+++ b/lib/canonicalize-lgpl.c
@@ -1,5 +1,5 @@
 /* Return the canonical absolute name of a given file.
-   Copyright (C) 1996-2011 Free Software Foundation, Inc.
+   Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -84,10 +84,10 @@
 
 #if !FUNC_REALPATH_WORKS || defined _LIBC
 /* Return the canonical absolute name of file NAME.  A canonical name
-   does not contain any `.', `..' components nor any repeated path
+   does not contain any ".", ".." components nor any repeated path
    separators ('/') or symlinks.  All path components must exist.  If
    RESOLVED is null, the result is malloc'd; otherwise, if the
-   canonical name is PATH_MAX chars or more, returns null with `errno'
+   canonical name is PATH_MAX chars or more, returns null with 'errno'
    set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars,
    returns the name in RESOLVED.  If the name cannot be resolved and
    RESOLVED is non-NULL, it contains the path of the first component
diff --git a/lib/ceil.c b/lib/ceil.c
index e666071..58c3adf 100644
--- a/lib/ceil.c
+++ b/lib/ceil.c
@@ -1,5 +1,5 @@
 /* Round towards positive infinity.
-   Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2010-2012 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
diff --git a/lib/close.c b/lib/close.c
index e8a1ed5..2b6f598 100644
--- a/lib/close.c
+++ b/lib/close.c
@@ -1,5 +1,5 @@
 /* close replacement.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/config.charset b/lib/config.charset
index 55d7791..d771048 100644
--- a/lib/config.charset
+++ b/lib/config.charset
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Output a system dependent table of character encoding aliases.
 #
-#   Copyright (C) 2000-2004, 2006-2011 Free Software Foundation, Inc.
+#   Copyright (C) 2000-2004, 2006-2012 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
@@ -30,6 +30,8 @@
 # The current list of GNU canonical charset names is as follows.
 #
 #       name              MIME?             used by which systems
+#                                    (darwin = MacOS X, woe32 = native Windows)
+#
 #   ASCII, ANSI_X3.4-1968       glibc solaris freebsd netbsd darwin cygwin
 #   ISO-8859-1              Y   glibc aix hpux irix osf solaris freebsd netbsd 
openbsd darwin cygwin
 #   ISO-8859-2              Y   glibc aix hpux irix osf solaris freebsd netbsd 
openbsd darwin cygwin
diff --git a/lib/connect.c b/lib/connect.c
index 1d4fcdd..303cd0b 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -1,6 +1,6 @@
 /* connect.c --- wrappers for Windows connect function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/dirent.in.h b/lib/dirent.in.h
new file mode 100644
index 0000000..ff27059
--- /dev/null
+++ b/lib/dirent.in.h
@@ -0,0 +1,249 @@
+/* A GNU-like <dirent.h>.
+   Copyright (C) 2006-2012 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 address@hidden@_DIRENT_H
+
+#if __GNUC__ >= 3
address@hidden@
+#endif
address@hidden@
+
+/* The include_next requires a split double-inclusion guard.  */
+#if @HAVE_DIRENT_H@
+# @INCLUDE_NEXT@ @NEXT_DIRENT_H@
+#endif
+
+#ifndef address@hidden@_DIRENT_H
+#define address@hidden@_DIRENT_H
+
+/* Get ino_t.  Needed on some systems, including glibc 2.8.  */
+#include <sys/types.h>
+
+#if address@hidden@
+/* Define types DIR and 'struct dirent'.  */
+# if !GNULIB_defined_struct_dirent
+struct dirent
+{
+  char d_type;
+  char d_name[1];
+};
+/* Possible values for 'd_type'.  */
+#  define DT_UNKNOWN 0
+#  define DT_FIFO    1          /* FIFO */
+#  define DT_CHR     2          /* character device */
+#  define DT_DIR     4          /* directory */
+#  define DT_BLK     6          /* block device */
+#  define DT_REG     8          /* regular file */
+#  define DT_LNK    10          /* symbolic link */
+#  define DT_SOCK   12          /* socket */
+#  define DT_WHT    14          /* whiteout */
+typedef struct gl_directory DIR;
+#  define GNULIB_defined_struct_dirent 1
+# endif
+#endif
+
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
+
+/* The definition of _GL_ARG_NONNULL is copied here.  */
+
+/* The definition of _GL_WARN_ON_USE is copied here.  */
+
+
+/* Declare overridden functions.  */
+
+#if @GNULIB_OPENDIR@
+# if @REPLACE_OPENDIR@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef opendir
+#   define opendir rpl_opendir
+#  endif
+_GL_FUNCDECL_RPL (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL 
((1)));
+_GL_CXXALIAS_RPL (opendir, DIR *, (const char *dir_name));
+# else
+#  if address@hidden@
+_GL_FUNCDECL_SYS (opendir, DIR *, (const char *dir_name) _GL_ARG_NONNULL 
((1)));
+#  endif
+_GL_CXXALIAS_SYS (opendir, DIR *, (const char *dir_name));
+# endif
+_GL_CXXALIASWARN (opendir);
+#elif defined GNULIB_POSIXCHECK
+# undef opendir
+# if HAVE_RAW_DECL_OPENDIR
+_GL_WARN_ON_USE (opendir, "opendir is not portable - "
+                 "use gnulib module opendir for portability");
+# endif
+#endif
+
+#if @GNULIB_READDIR@
+# if address@hidden@
+_GL_FUNCDECL_SYS (readdir, struct dirent *, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (readdir, struct dirent *, (DIR *dirp));
+_GL_CXXALIASWARN (readdir);
+#elif defined GNULIB_POSIXCHECK
+# undef readdir
+# if HAVE_RAW_DECL_READDIR
+_GL_WARN_ON_USE (readdir, "readdir is not portable - "
+                 "use gnulib module readdir for portability");
+# endif
+#endif
+
+#if @GNULIB_REWINDDIR@
+# if address@hidden@
+_GL_FUNCDECL_SYS (rewinddir, void, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (rewinddir, void, (DIR *dirp));
+_GL_CXXALIASWARN (rewinddir);
+#elif defined GNULIB_POSIXCHECK
+# undef rewinddir
+# if HAVE_RAW_DECL_REWINDDIR
+_GL_WARN_ON_USE (rewinddir, "rewinddir is not portable - "
+                 "use gnulib module rewinddir for portability");
+# endif
+#endif
+
+#if @GNULIB_CLOSEDIR@
+# if @REPLACE_CLOSEDIR@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef closedir
+#   define closedir rpl_closedir
+#  endif
+_GL_FUNCDECL_RPL (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (closedir, int, (DIR *dirp));
+# else
+#  if address@hidden@
+_GL_FUNCDECL_SYS (closedir, int, (DIR *dirp) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (closedir, int, (DIR *dirp));
+# endif
+_GL_CXXALIASWARN (closedir);
+#elif defined GNULIB_POSIXCHECK
+# undef closedir
+# if HAVE_RAW_DECL_CLOSEDIR
+_GL_WARN_ON_USE (closedir, "closedir is not portable - "
+                 "use gnulib module closedir for portability");
+# endif
+#endif
+
+#if @GNULIB_DIRFD@
+/* Return the file descriptor associated with the given directory stream,
+   or -1 if none exists.  */
+# if @REPLACE_DIRFD@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef dirfd
+#   define dirfd rpl_dirfd
+#  endif
+_GL_FUNCDECL_RPL (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+_GL_CXXALIAS_RPL (dirfd, int, (DIR *));
+# else
+#  if defined __cplusplus && defined GNULIB_NAMESPACE && defined dirfd
+    /* dirfd is defined as a macro and not as a function.
+       Turn it into a function and get rid of the macro.  */
+static inline int (dirfd) (DIR *dp) { return dirfd (dp); }
+#   undef dirfd
+#  endif
+#  if !(@HAVE_DECL_DIRFD@ || defined dirfd)
+_GL_FUNCDECL_SYS (dirfd, int, (DIR *) _GL_ARG_NONNULL ((1)));
+#  endif
+_GL_CXXALIAS_SYS (dirfd, int, (DIR *));
+# endif
+_GL_CXXALIASWARN (dirfd);
+#elif defined GNULIB_POSIXCHECK
+# undef dirfd
+# if HAVE_RAW_DECL_DIRFD
+_GL_WARN_ON_USE (dirfd, "dirfd is unportable - "
+                 "use gnulib module dirfd for portability");
+# endif
+#endif
+
+#if @GNULIB_FDOPENDIR@
+/* Open a directory stream visiting the given directory file
+   descriptor.  Return NULL and set errno if fd is not visiting a
+   directory.  On success, this function consumes fd (it will be
+   implicitly closed either by this function or by a subsequent
+   closedir).  */
+# if @REPLACE_FDOPENDIR@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef fdopendir
+#   define fdopendir rpl_fdopendir
+#  endif
+_GL_FUNCDECL_RPL (fdopendir, DIR *, (int fd));
+_GL_CXXALIAS_RPL (fdopendir, DIR *, (int fd));
+# else
+#  if address@hidden@ || address@hidden@
+_GL_FUNCDECL_SYS (fdopendir, DIR *, (int fd));
+#  endif
+_GL_CXXALIAS_SYS (fdopendir, DIR *, (int fd));
+# endif
+_GL_CXXALIASWARN (fdopendir);
+#elif defined GNULIB_POSIXCHECK
+# undef fdopendir
+# if HAVE_RAW_DECL_FDOPENDIR
+_GL_WARN_ON_USE (fdopendir, "fdopendir is unportable - "
+                 "use gnulib module fdopendir for portability");
+# endif
+#endif
+
+#if @GNULIB_SCANDIR@
+/* Scan the directory DIR, calling FILTER on each directory entry.
+   Entries for which FILTER returns nonzero are individually malloc'd,
+   sorted using qsort with CMP, and collected in a malloc'd array in
+   *NAMELIST.  Returns the number of entries selected, or -1 on error.  */
+# if address@hidden@
+_GL_FUNCDECL_SYS (scandir, int,
+                  (const char *dir, struct dirent ***namelist,
+                   int (*filter) (const struct dirent *),
+                   int (*cmp) (const struct dirent **, const struct dirent **))
+                  _GL_ARG_NONNULL ((1, 2, 4)));
+# endif
+/* Need to cast, because on glibc systems, the fourth parameter is
+                        int (*cmp) (const void *, const void *).  */
+_GL_CXXALIAS_SYS_CAST (scandir, int,
+                       (const char *dir, struct dirent ***namelist,
+                        int (*filter) (const struct dirent *),
+                        int (*cmp) (const struct dirent **, const struct 
dirent **)));
+_GL_CXXALIASWARN (scandir);
+#elif defined GNULIB_POSIXCHECK
+# undef scandir
+# if HAVE_RAW_DECL_SCANDIR
+_GL_WARN_ON_USE (scandir, "scandir is unportable - "
+                 "use gnulib module scandir for portability");
+# endif
+#endif
+
+#if @GNULIB_ALPHASORT@
+/* Compare two 'struct dirent' entries alphabetically.  */
+# if address@hidden@
+_GL_FUNCDECL_SYS (alphasort, int,
+                  (const struct dirent **, const struct dirent **)
+                  _GL_ARG_NONNULL ((1, 2)));
+# endif
+/* Need to cast, because on glibc systems, the parameters are
+                       (const void *, const void *).  */
+_GL_CXXALIAS_SYS_CAST (alphasort, int,
+                       (const struct dirent **, const struct dirent **));
+_GL_CXXALIASWARN (alphasort);
+#elif defined GNULIB_POSIXCHECK
+# undef alphasort
+# if HAVE_RAW_DECL_ALPHASORT
+_GL_WARN_ON_USE (alphasort, "alphasort is unportable - "
+                 "use gnulib module alphasort for portability");
+# endif
+#endif
+
+
+#endif /* address@hidden@_DIRENT_H */
+#endif /* address@hidden@_DIRENT_H */
diff --git a/lib/same-inode.h b/lib/dirfd.c
similarity index 66%
copy from lib/same-inode.h
copy to lib/dirfd.c
index e89cb53..7013010 100644
--- a/lib/same-inode.h
+++ b/lib/dirfd.c
@@ -1,6 +1,6 @@
-/* Determine whether two stat buffers refer to the same file.
+/* dirfd.c -- return the file descriptor associated with an open DIR*
 
-   Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008-2012 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
@@ -15,11 +15,18 @@
    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 SAME_INODE_H
-# define SAME_INODE_H 1
+/* Written by Jim Meyering. */
 
-# 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 <config.h>
 
-#endif
+#include <dirent.h>
+#include <errno.h>
+
+int
+dirfd (DIR *dir_p)
+{
+  int fd = DIR_TO_FD (dir_p);
+  if (fd == -1)
+    errno = ENOTSUP;
+  return fd;
+}
diff --git a/lib/dirname-lgpl.c b/lib/dirname-lgpl.c
index 934c271..5d0cc07 100644
--- a/lib/dirname-lgpl.c
+++ b/lib/dirname-lgpl.c
@@ -1,6 +1,6 @@
 /* dirname.c -- return all but the last element in a file name
 
-   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2011 Free Software
+   Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -25,7 +25,7 @@
 
 /* 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
+   even though 'dir_name (FILE)' will return ".".  Works properly even
    if there are trailing slashes (by effectively ignoring them).  */
 
 size_t
@@ -53,9 +53,9 @@ dir_len (char const *file)
 }
 
 
-/* In general, we can't use the builtin `dirname' function if available,
+/* 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.
+   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
diff --git a/lib/dirname.h b/lib/dirname.h
index 821b24e..ce77baf 100644
--- a/lib/dirname.h
+++ b/lib/dirname.h
@@ -1,6 +1,6 @@
 /*  Take file names apart into directory and base names.
 
-    Copyright (C) 1998, 2001, 2003-2006, 2009-2011 Free Software Foundation,
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2012 Free Software Foundation,
     Inc.
 
     This program is free software: you can redistribute it and/or modify
diff --git a/lib/dosname.h b/lib/dosname.h
index 3087d39..f4b1439 100644
--- a/lib/dosname.h
+++ b/lib/dosname.h
@@ -1,6 +1,6 @@
 /* File names on MS-DOS/Windows systems.
 
-   Copyright (C) 2000-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2001, 2004-2006, 2009-2012 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
diff --git a/lib/duplocale.c b/lib/duplocale.c
index 8b1bf34..dd85efe 100644
--- a/lib/duplocale.c
+++ b/lib/duplocale.c
@@ -1,5 +1,5 @@
 /* Duplicate a locale object.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 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
diff --git a/lib/errno.in.h b/lib/errno.in.h
index c01c3c1..7135f28 100644
--- a/lib/errno.in.h
+++ b/lib/errno.in.h
@@ -1,6 +1,6 @@
 /* A POSIX-like <errno.h>.
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h
index 77d69a3..56a1f0d 100644
--- a/lib/fcntl.in.h
+++ b/lib/fcntl.in.h
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 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
@@ -62,6 +62,12 @@
 # include <unistd.h>
 #endif
 
+/* Native Windows platforms declare open(), creat() in <io.h>.  */
+#if (@GNULIB_OPEN@ || defined GNULIB_POSIXCHECK) \
+    && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
 
 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
 
@@ -177,12 +183,12 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
 /* Fix up the O_* macros.  */
 
 #if !defined O_DIRECT && defined O_DIRECTIO
-/* Tru64 spells it `O_DIRECTIO'.  */
+/* Tru64 spells it 'O_DIRECTIO'.  */
 # define O_DIRECT O_DIRECTIO
 #endif
 
 #if !defined O_CLOEXEC && defined O_NOINHERIT
-/* Mingw spells it `O_NOINHERIT'.  */
+/* Mingw spells it 'O_NOINHERIT'.  */
 # define O_CLOEXEC O_NOINHERIT
 #endif
 
diff --git a/lib/fd-hook.c b/lib/fd-hook.c
index 40fbeeb..39e25ea 100644
--- a/lib/fd-hook.c
+++ b/lib/fd-hook.c
@@ -1,5 +1,5 @@
 /* Hook for making making file descriptor functions close(), ioctl() 
extensible.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2009.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/fd-hook.h b/lib/fd-hook.h
index aab4d91..b3b200d 100644
--- a/lib/fd-hook.h
+++ b/lib/fd-hook.h
@@ -1,5 +1,5 @@
 /* Hook for making making file descriptor functions close(), ioctl() 
extensible.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 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
diff --git a/lib/float+.h b/lib/float+.h
index 78019e5..bcb9566 100644
--- a/lib/float+.h
+++ b/lib/float+.h
@@ -1,5 +1,5 @@
 /* Supplemental information about the floating-point formats.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2007.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/float.c b/lib/float.c
index b4c1d37..94c6cfd 100644
--- a/lib/float.c
+++ b/lib/float.c
@@ -1,5 +1,5 @@
 /* Auxiliary definitions for <float.h>.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/float.in.h b/lib/float.in.h
index 18ecb6e..b3740b8 100644
--- a/lib/float.in.h
+++ b/lib/float.in.h
@@ -1,6 +1,6 @@
 /* A correct <float.h>.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/flock.c b/lib/flock.c
index 439ff43..3eb9abb 100644
--- a/lib/flock.c
+++ b/lib/flock.c
@@ -6,7 +6,7 @@
 
    Written by Richard W.M. Jones <rjones.at.redhat.com>
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/floor.c b/lib/floor.c
index ada6e82..c6311c8 100644
--- a/lib/floor.c
+++ b/lib/floor.c
@@ -1,5 +1,5 @@
 /* Round towards negative infinity.
-   Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2010-2012 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
diff --git a/lib/frexp.c b/lib/frexp.c
index b6147cc..baeb462 100644
--- a/lib/frexp.c
+++ b/lib/frexp.c
@@ -1,5 +1,5 @@
 /* Split a double into fraction and mantissa.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/fstat.c b/lib/fstat.c
index 97d0ffd..e0ed800 100644
--- a/lib/fstat.c
+++ b/lib/fstat.c
@@ -1,5 +1,5 @@
 /* fstat() replacement.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 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
diff --git a/lib/full-read.c b/lib/full-read.c
index 2f78020..68b273d 100644
--- a/lib/full-read.c
+++ b/lib/full-read.c
@@ -1,5 +1,5 @@
 /* An interface to read that retries after partial reads and interrupts.
-   Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2009-2012 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
diff --git a/lib/full-read.h b/lib/full-read.h
index 313d474..fdf2331 100644
--- a/lib/full-read.h
+++ b/lib/full-read.h
@@ -1,6 +1,6 @@
 /* An interface to read() that reads all it is asked to read.
 
-   Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2012 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
diff --git a/lib/full-write.c b/lib/full-write.c
index b60ba02..20d99b7 100644
--- a/lib/full-write.c
+++ b/lib/full-write.c
@@ -1,6 +1,6 @@
 /* An interface to read and write that retries (if necessary) until complete.
 
-   Copyright (C) 1993-1994, 1997-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1993-1994, 1997-2006, 2009-2012 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
diff --git a/lib/full-write.h b/lib/full-write.h
index c059a63..018b25c 100644
--- a/lib/full-write.h
+++ b/lib/full-write.h
@@ -1,6 +1,6 @@
 /* An interface to write() that writes all it is asked to write.
 
-   Copyright (C) 2002-2003, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2009-2012 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
diff --git a/lib/gai_strerror.c b/lib/gai_strerror.c
index cc6f9c0..41ad0b2 100644
--- a/lib/gai_strerror.c
+++ b/lib/gai_strerror.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2011 Free Software
+/* Copyright (C) 1997, 2001-2002, 2004-2006, 2008-2012 Free Software
    Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Philip Blundell <address@hidden>, 1997.
diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c
index 2610031..8a34ede 100644
--- a/lib/getaddrinfo.c
+++ b/lib/getaddrinfo.c
@@ -1,5 +1,5 @@
 /* Get address information (partial implementation).
-   Copyright (C) 1997, 2001-2002, 2004-2011 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2001-2002, 2004-2012 Free Software Foundation, Inc.
    Contributed by Simon Josefsson <address@hidden>.
 
    This program is free software; you can redistribute it and/or modify
@@ -56,13 +56,13 @@
 #endif
 
 #if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
+# define WINDOWS_NATIVE
 #endif
 
 /* gl_sockets_startup */
 #include "sockets.h"
 
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
 typedef int (WSAAPI *getaddrinfo_func) (const char*, const char*,
                                         const struct addrinfo*,
                                         struct addrinfo**);
@@ -153,7 +153,7 @@ getaddrinfo (const char *restrict nodename,
   };
 #endif
 
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
   if (use_win32_p ())
     return getaddrinfo_ptr (nodename, servname, hints, res);
 #endif
@@ -332,11 +332,11 @@ getaddrinfo (const char *restrict nodename,
   return 0;
 }
 
-/* Free `addrinfo' structure AI including associated storage.  */
+/* Free 'addrinfo' structure AI including associated storage.  */
 void
 freeaddrinfo (struct addrinfo *ai)
 {
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
   if (use_win32_p ())
     {
       freeaddrinfo_ptr (ai);
@@ -362,7 +362,7 @@ getnameinfo (const struct sockaddr *restrict sa, socklen_t 
salen,
              char *restrict service, socklen_t servicelen,
              int flags)
 {
-#ifdef WIN32_NATIVE
+#ifdef WINDOWS_NATIVE
   if (use_win32_p ())
     return getnameinfo_ptr (sa, salen, node, nodelen,
                             service, servicelen, flags);
diff --git a/lib/getpeername.c b/lib/getpeername.c
index 8fb12e3..02e3fad 100644
--- a/lib/getpeername.c
+++ b/lib/getpeername.c
@@ -1,6 +1,6 @@
 /* getpeername.c --- wrappers for Windows getpeername function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/getsockname.c b/lib/getsockname.c
index 6cdfa9e..890c50e 100644
--- a/lib/getsockname.c
+++ b/lib/getsockname.c
@@ -1,6 +1,6 @@
 /* getsockname.c --- wrappers for Windows getsockname function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/getsockopt.c b/lib/getsockopt.c
index 1d0fe98..0bf74b0 100644
--- a/lib/getsockopt.c
+++ b/lib/getsockopt.c
@@ -1,6 +1,6 @@
 /* getsockopt.c --- wrappers for Windows getsockopt function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/gettext.h b/lib/gettext.h
index 68bb005..53ea28e 100644
--- a/lib/gettext.h
+++ b/lib/gettext.h
@@ -1,5 +1,5 @@
 /* Convenience header for conditional use of GNU <libintl.h>.
-   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2011 Free Software
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/iconv.c b/lib/iconv.c
index f607ed3..8695fe4 100644
--- a/lib/iconv.c
+++ b/lib/iconv.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 1999-2001, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2001, 2007, 2009-2012 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
diff --git a/lib/iconv.in.h b/lib/iconv.in.h
index 66fc8ef..e492fcc 100644
--- a/lib/iconv.in.h
+++ b/lib/iconv.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <iconv.h>.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/iconv_close.c b/lib/iconv_close.c
index d015f74..881e111 100644
--- a/lib/iconv_close.c
+++ b/lib/iconv_close.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2012 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
diff --git a/lib/iconv_open.c b/lib/iconv_open.c
index b17a3b2..9e4183b 100644
--- a/lib/iconv_open.c
+++ b/lib/iconv_open.c
@@ -1,5 +1,5 @@
 /* Character set conversion.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2012 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
diff --git a/lib/iconveh.h b/lib/iconveh.h
index 2a4f34b..4a4f506 100644
--- a/lib/iconveh.h
+++ b/lib/iconveh.h
@@ -1,5 +1,5 @@
 /* Character set conversion handler type.
-   Copyright (C) 2001-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c
index 6b5cbe5..c21281b 100644
--- a/lib/inet_ntop.c
+++ b/lib/inet_ntop.c
@@ -1,6 +1,6 @@
 /* inet_ntop.c -- convert IPv4 and IPv6 addresses from binary to text form
 
-   Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2008-2012 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
@@ -38,6 +38,16 @@
 /* Specification.  */
 #include <arpa/inet.h>
 
+/* Use this to suppress gcc's "...may be used before initialized" warnings.
+   Beware: The Code argument must not contain commas.  */
+#ifndef IF_LINT
+# ifdef lint
+#  define IF_LINT(Code) Code
+# else
+#  define IF_LINT(Code) /* empty */
+# endif
+#endif
+
 #if HAVE_DECL_INET_NTOP
 
 # undef inet_ntop
@@ -74,7 +84,7 @@ static const char *inet_ntop6 (const unsigned char *src, char 
*dst, socklen_t si
  * inet_ntop(af, src, dst, size)
  *      convert a network format address to presentation format.
  * return:
- *      pointer to presentation format address (`dst'), or NULL (see errno).
+ *      pointer to presentation format address ('dst'), or NULL (see errno).
  * author:
  *      Paul Vixie, 1996.
  */
@@ -105,7 +115,7 @@ inet_ntop (int af, const void *restrict src,
  * inet_ntop4(src, dst, size)
  *      format an IPv4 address
  * return:
- *      `dst' (as a const)
+ *      'dst' (as a const)
  * notes:
  *      (1) uses no statics
  *      (2) takes a u_char* not an in_addr as input
@@ -167,6 +177,8 @@ inet_ntop6 (const unsigned char *src, char *dst, socklen_t 
size)
     words[i / 2] = (src[i] << 8) | src[i + 1];
   best.base = -1;
   cur.base = -1;
+  IF_LINT(best.len = 0);
+  IF_LINT(cur.len = 0);
   for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++)
     {
       if (words[i] == 0)
diff --git a/lib/inet_pton.c b/lib/inet_pton.c
index 83ac40d..36e981a 100644
--- a/lib/inet_pton.c
+++ b/lib/inet_pton.c
@@ -1,6 +1,6 @@
 /* inet_pton.c -- convert IPv4 and IPv6 addresses from text to binary form
 
-   Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2008-2012 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
@@ -73,8 +73,8 @@ static int inet_pton6 (const char *src, unsigned char *dst);
  *      to network format (which is usually some kind of binary format).
  * return:
  *      1 if the address was valid for the specified address family
- *      0 if the address wasn't valid (`dst' is untouched in this case)
- *      -1 if some other error occurred (`dst' is untouched in this case, too)
+ *      0 if the address wasn't valid ('dst' is untouched in this case)
+ *      -1 if some other error occurred ('dst' is untouched in this case, too)
  * author:
  *      Paul Vixie, 1996.
  */
@@ -103,9 +103,9 @@ inet_pton (int af, const char *restrict src, void *restrict 
dst)
  *      like inet_aton() but without all the hexadecimal, octal (with the
  *      exception of 0) and shorthand.
  * return:
- *      1 if `src' is a valid dotted quad, else 0.
+ *      1 if 'src' is a valid dotted quad, else 0.
  * notice:
- *      does not touch `dst' unless it's returning 1.
+ *      does not touch 'dst' unless it's returning 1.
  * author:
  *      Paul Vixie, 1996.
  */
@@ -159,9 +159,9 @@ inet_pton4 (const char *restrict src, unsigned char 
*restrict dst)
  * inet_pton6(src, dst)
  *      convert presentation level address to network order binary form.
  * return:
- *      1 if `src' is a valid [RFC1884 2.2] address, else 0.
+ *      1 if 'src' is a valid [RFC1884 2.2] address, else 0.
  * notice:
- *      (1) does not touch `dst' unless it's returning 1.
+ *      (1) does not touch 'dst' unless it's returning 1.
  *      (2) :: in a full address is silently ignored.
  * credit:
  *      inspired by Mark Andrews.
diff --git a/lib/isinf.c b/lib/isinf.c
index 0531c6f..8621bfc 100644
--- a/lib/isinf.c
+++ b/lib/isinf.c
@@ -1,5 +1,5 @@
 /* Test for positive or negative infinity.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/isnan.c b/lib/isnan.c
index b83d093..1faa28a 100644
--- a/lib/isnan.c
+++ b/lib/isnan.c
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/isnand-nolibm.h b/lib/isnand-nolibm.h
index e434a7b..e9e64db 100644
--- a/lib/isnand-nolibm.h
+++ b/lib/isnand-nolibm.h
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/isnand.c b/lib/isnand.c
index adfac27..308caac 100644
--- a/lib/isnand.c
+++ b/lib/isnand.c
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/isnanf.c b/lib/isnanf.c
index 2fd06f8..6376ce0 100644
--- a/lib/isnanf.c
+++ b/lib/isnanf.c
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2012 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
diff --git a/lib/isnanl.c b/lib/isnanl.c
index 2e68d28..cfe2545 100644
--- a/lib/isnanl.c
+++ b/lib/isnanl.c
@@ -1,5 +1,5 @@
 /* Test for NaN that does not need libm.
-   Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009-2012 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
diff --git a/lib/itold.c b/lib/itold.c
index 460f208..0c41e2d 100644
--- a/lib/itold.c
+++ b/lib/itold.c
@@ -1,5 +1,5 @@
 /* Replacement for 'int' to 'long double' conversion routine.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/listen.c b/lib/listen.c
index 5e836de..28f3aaf 100644
--- a/lib/listen.c
+++ b/lib/listen.c
@@ -1,6 +1,6 @@
 /* listen.c --- wrappers for Windows listen function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/localcharset.c b/lib/localcharset.c
index e301642..47a6e5d 100644
--- a/lib/localcharset.c
+++ b/lib/localcharset.c
@@ -1,6 +1,6 @@
 /* Determine a canonical name for the current locale's character encoding.
 
-   Copyright (C) 2000-2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2006, 2008-2012 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
@@ -34,7 +34,7 @@
 #endif
 
 #if defined _WIN32 || defined __WIN32__
-# define WIN32_NATIVE
+# define WINDOWS_NATIVE
 #endif
 
 #if defined __EMX__
@@ -44,7 +44,7 @@
 # endif
 #endif
 
-#if !defined WIN32_NATIVE
+#if !defined WINDOWS_NATIVE
 # include <unistd.h>
 # if HAVE_LANGINFO_CODESET
 #  include <langinfo.h>
@@ -57,7 +57,7 @@
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
 # endif
-#elif defined WIN32_NATIVE
+#elif defined WINDOWS_NATIVE
 # define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 #endif
@@ -83,7 +83,7 @@
 #endif
 
 #if defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ || defined 
__EMX__ || defined __DJGPP__
-  /* Win32, Cygwin, OS/2, DOS */
+  /* Native Windows, Cygwin, OS/2, DOS */
 # define ISSLASH(C) ((C) == '/' || (C) == '\\')
 #endif
 
@@ -123,7 +123,7 @@ get_charset_aliases (void)
   cp = charset_aliases;
   if (cp == NULL)
     {
-#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined 
__CYGWIN__)
+#if !(defined DARWIN7 || defined VMS || defined WINDOWS_NATIVE || defined 
__CYGWIN__)
       const char *dir;
       const char *base = "charset.alias";
       char *file_name;
@@ -308,7 +308,7 @@ get_charset_aliases (void)
            "DECKOREAN" "\0" "EUC-KR" "\0";
 # endif
 
-# if defined WIN32_NATIVE || defined __CYGWIN__
+# if defined WINDOWS_NATIVE || defined __CYGWIN__
       /* To avoid the troubles of installing a separate file in the same
          directory as the DLL and of retrieving the DLL's directory at
          runtime, simply inline the aliases here.  */
@@ -360,7 +360,7 @@ locale_charset (void)
   const char *codeset;
   const char *aliases;
 
-#if !(defined WIN32_NATIVE || defined OS2)
+#if !(defined WINDOWS_NATIVE || defined OS2)
 
 # if HAVE_LANGINFO_CODESET
 
@@ -407,10 +407,10 @@ locale_charset (void)
             }
         }
 
-      /* Woe32 has a function returning the locale's codepage as a number:
-         GetACP().  This encoding is used by Cygwin, unless the user has set
-         the environment variable CYGWIN=codepage:oem (which very few people
-         do).
+      /* The Windows API has a function returning the locale's codepage as a
+         number: GetACP().  This encoding is used by Cygwin, unless the user
+         has set the environment variable CYGWIN=codepage:oem (which very few
+         people do).
          Output directed to console windows needs to be converted (to
          GetOEMCP() if the console is using a raster font, or to
          GetConsoleOutputCP() if it is using a TrueType font).  Cygwin does
@@ -453,12 +453,12 @@ locale_charset (void)
 
 # endif
 
-#elif defined WIN32_NATIVE
+#elif defined WINDOWS_NATIVE
 
   static char buf[2 + 10 + 1];
 
-  /* Woe32 has a function returning the locale's codepage as a number:
-     GetACP().
+  /* The Windows API has a function returning the locale's codepage as a
+     number: GetACP().
      When the output goes to a console window, it needs to be provided in
      GetOEMCP() encoding if the console is using a raster font, or in
      GetConsoleOutputCP() encoding if it is using a TrueType font.
diff --git a/lib/localcharset.h b/lib/localcharset.h
index a80c8cb..e7543fe 100644
--- a/lib/localcharset.h
+++ b/lib/localcharset.h
@@ -1,5 +1,5 @@
 /* Determine a canonical name for the current locale's character encoding.
-   Copyright (C) 2000-2003, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2000-2003, 2009-2012 Free Software Foundation, Inc.
    This file is part of the GNU CHARSET Library.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/locale.in.h b/lib/locale.in.h
index da722ab..9d25ae3 100644
--- a/lib/locale.in.h
+++ b/lib/locale.in.h
@@ -1,5 +1,5 @@
 /* A POSIX <locale.h>.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/lstat.c b/lib/lstat.c
index eb57d39..fe20e61 100644
--- a/lib/lstat.c
+++ b/lib/lstat.c
@@ -1,6 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997-2006, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 1997-2006, 2008-2012 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
@@ -51,11 +51,11 @@ orig_lstat (const char *filename, struct stat *buf)
 # include <errno.h>
 
 /* lstat works differently on Linux and Solaris systems.  POSIX (see
-   `pathname resolution' in the glossary) requires that programs like
-   `ls' take into consideration the fact that FILE has a trailing slash
+   "pathname resolution" in the glossary) requires that programs like
+   'ls' take into consideration the fact that FILE has a trailing slash
    when FILE is a symbolic link.  On Linux and Solaris 10 systems, the
    lstat function already has the desired semantics (in treating
-   `lstat ("symlink/", sbuf)' just like `lstat ("symlink/.", sbuf)',
+   'lstat ("symlink/", sbuf)' just like 'lstat ("symlink/.", sbuf)',
    but on Solaris 9 and earlier it does not.
 
    If FILE has a trailing slash and specifies a symbolic link,
diff --git a/lib/malloc.c b/lib/malloc.c
index b06ef3f..7a6f3d1 100644
--- a/lib/malloc.c
+++ b/lib/malloc.c
@@ -1,6 +1,6 @@
 /* malloc() function that is glibc compatible.
 
-   Copyright (C) 1997-1998, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1997-1998, 2006-2007, 2009-2012 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
diff --git a/lib/malloca.c b/lib/malloca.c
index 7bb1fbe..eca5598 100644
--- a/lib/malloca.c
+++ b/lib/malloca.c
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/malloca.h b/lib/malloca.h
index 15e37aa..cb39cea 100644
--- a/lib/malloca.h
+++ b/lib/malloca.h
@@ -1,5 +1,5 @@
 /* Safe automatic memory allocation.
-   Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2003.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/math.in.h b/lib/math.in.h
index 1703a12..9d62603 100644
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <math.h>.
 
-   Copyright (C) 2002-2003, 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2007-2012 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
diff --git a/lib/memchr.c b/lib/memchr.c
index 16546e4..7b6e258 100644
--- a/lib/memchr.c
+++ b/lib/memchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2011
+/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2012
    Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (address@hidden),
diff --git a/lib/msvc-inval.c b/lib/msvc-inval.c
index 8c6ae3c..4efa611 100644
--- a/lib/msvc-inval.c
+++ b/lib/msvc-inval.c
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 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
@@ -40,7 +40,7 @@ gl_msvc_invalid_parameter_handler (const wchar_t *expression,
 
 # else
 
-/* Get declarations of the Win32 API functions.  */
+/* Get declarations of the native Windows API functions.  */
 #  define WIN32_LEAN_AND_MEAN
 #  include <windows.h>
 
diff --git a/lib/msvc-inval.h b/lib/msvc-inval.h
index fc579c9..bb78aac 100644
--- a/lib/msvc-inval.h
+++ b/lib/msvc-inval.h
@@ -1,5 +1,5 @@
 /* Invalid parameter handler for MSVC runtime libraries.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 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
@@ -207,7 +207,7 @@ extern struct gl_msvc_inval_per_thread 
*gl_msvc_inval_current (void);
    or when SANE_LIBRARY_HANDLING is desired.  */
 
 /* The braces here avoid GCC warnings like
-   "warning: suggest explicit braces to avoid ambiguous `else'".  */
+   "warning: suggest explicit braces to avoid ambiguous 'else'".  */
 # define TRY_MSVC_INVAL \
     do                                                                         
\
       {                                                                        
\
diff --git a/lib/msvc-nothrow.c b/lib/msvc-nothrow.c
index c55bd2e..7198311 100644
--- a/lib/msvc-nothrow.c
+++ b/lib/msvc-nothrow.c
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 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
@@ -21,7 +21,7 @@
 /* Specification.  */
 #include "msvc-nothrow.h"
 
-/* Get declarations of the Win32 API functions.  */
+/* Get declarations of the native Windows API functions.  */
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
diff --git a/lib/msvc-nothrow.h b/lib/msvc-nothrow.h
index b603906..beb3ac9 100644
--- a/lib/msvc-nothrow.h
+++ b/lib/msvc-nothrow.h
@@ -1,6 +1,6 @@
 /* Wrappers that don't throw invalid parameter notifications
    with MSVC runtime libraries.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 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
diff --git a/lib/netdb.in.h b/lib/netdb.in.h
index 3077b9f..cdf356a 100644
--- a/lib/netdb.in.h
+++ b/lib/netdb.in.h
@@ -1,5 +1,5 @@
 /* Provide a netdb.h header file for systems lacking it (read: MinGW).
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
@@ -80,9 +80,9 @@ struct addrinfo
 
 # endif
 
-/* Possible values for `ai_flags' field in `addrinfo' structure.  */
+/* Possible values for 'ai_flags' field in 'addrinfo' structure.  */
 # ifndef AI_PASSIVE
-#  define AI_PASSIVE    0x0001  /* Socket address is intended for `bind'.  */
+#  define AI_PASSIVE    0x0001  /* Socket address is intended for 'bind'.  */
 # endif
 # ifndef AI_CANONNAME
 #  define AI_CANONNAME  0x0002  /* Request for canonical name.  */
@@ -111,16 +111,16 @@ struct addrinfo
                                       returned address type.  */
 # endif
 
-/* Error values for `getaddrinfo' function.  */
+/* Error values for 'getaddrinfo' function.  */
 # ifndef EAI_BADFLAGS
-#  define EAI_BADFLAGS    -1    /* Invalid value for `ai_flags' field.  */
+#  define EAI_BADFLAGS    -1    /* Invalid value for 'ai_flags' field.  */
 #  define EAI_NONAME      -2    /* NAME or SERVICE is unknown.  */
 #  define EAI_AGAIN       -3    /* Temporary failure in name resolution.  */
 #  define EAI_FAIL        -4    /* Non-recoverable failure in name res.  */
 #  define EAI_NODATA      -5    /* No address associated with NAME.  */
-#  define EAI_FAMILY      -6    /* `ai_family' not supported.  */
-#  define EAI_SOCKTYPE    -7    /* `ai_socktype' not supported.  */
-#  define EAI_SERVICE     -8    /* SERVICE not supported for `ai_socktype'.  */
+#  define EAI_FAMILY      -6    /* 'ai_family' not supported.  */
+#  define EAI_SOCKTYPE    -7    /* 'ai_socktype' not supported.  */
+#  define EAI_SERVICE     -8    /* SERVICE not supported for 'ai_socktype'.  */
 #  define EAI_MEMORY      -10   /* Memory allocation failure.  */
 # endif
 
@@ -141,7 +141,7 @@ struct addrinfo
 # endif
 # ifndef EAI_SYSTEM
 /* Not defined on mingw32. */
-#  define EAI_SYSTEM      -11   /* System error returned in `errno'.  */
+#  define EAI_SYSTEM      -11   /* System error returned in 'errno'.  */
 # endif
 
 # if 0
@@ -179,7 +179,7 @@ _GL_CXXALIAS_SYS (getaddrinfo, int,
 _GL_CXXALIASWARN (getaddrinfo);
 
 # if address@hidden@
-/* Free `addrinfo' structure AI including associated storage.
+/* Free 'addrinfo' structure AI including associated storage.
    For more details, see the POSIX:2001 specification
    <http://www.opengroup.org/susv3xsh/getaddrinfo.html>.  */
 _GL_FUNCDECL_SYS (freeaddrinfo, void, (struct addrinfo *ai)
diff --git a/lib/netinet_in.in.h b/lib/netinet_in.in.h
index 97df933..8bf37a6 100644
--- a/lib/netinet_in.in.h
+++ b/lib/netinet_in.in.h
@@ -1,5 +1,5 @@
 /* Substitute for <netinet/in.h>.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/nproc.c b/lib/nproc.c
index a1e13e2..6932ac9 100644
--- a/lib/nproc.c
+++ b/lib/nproc.c
@@ -1,6 +1,6 @@
 /* Detect the number of processors.
 
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 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
diff --git a/lib/nproc.h b/lib/nproc.h
index 8dbb02f..ac2ddd5 100644
--- a/lib/nproc.h
+++ b/lib/nproc.h
@@ -1,6 +1,6 @@
 /* Detect the number of processors.
 
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 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
diff --git a/lib/open.c b/lib/open.c
index d24f42c..3a74813 100644
--- a/lib/open.c
+++ b/lib/open.c
@@ -1,5 +1,5 @@
 /* Open a descriptor to a file.
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/pathmax.h b/lib/pathmax.h
index 4de9c34..4d643a7 100644
--- a/lib/pathmax.h
+++ b/lib/pathmax.h
@@ -1,5 +1,5 @@
 /* Define PATH_MAX somehow.  Requires sys/types.h.
-   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2011 Free Software
+   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/pipe2.c b/lib/pipe2.c
index edcb81f..12a5a8a 100644
--- a/lib/pipe2.c
+++ b/lib/pipe2.c
@@ -1,5 +1,5 @@
 /* Create a pipe, with specific opening flags.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 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
@@ -31,7 +31,7 @@
 #endif
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Native Woe32 API.  */
+/* Native Windows API.  */
 
 # include <io.h>
 
@@ -75,7 +75,7 @@ pipe2 (int fd[2], int flags)
     }
 
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-/* Native Woe32 API.  */
+/* Native Windows API.  */
 
   if (_pipe (fd, 4096, flags & ~O_NONBLOCK) < 0)
     {
diff --git a/lib/printf-args.c b/lib/printf-args.c
index 68e52fd..bddbf6d 100644
--- a/lib/printf-args.c
+++ b/lib/printf-args.c
@@ -1,5 +1,5 @@
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2011 Free Software
+   Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/printf-args.h b/lib/printf-args.h
index 998e95d..0fdfaa5 100644
--- a/lib/printf-args.h
+++ b/lib/printf-args.h
@@ -1,5 +1,5 @@
 /* Decomposed printf argument list.
-   Copyright (C) 1999, 2002-2003, 2006-2007, 2011 Free Software
+   Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2012 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/printf-parse.c b/lib/printf-parse.c
index 0143861..6aded7c 100644
--- a/lib/printf-parse.c
+++ b/lib/printf-parse.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 1999-2000, 2002-2003, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2000, 2002-2003, 2006-2012 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
@@ -421,7 +421,7 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, 
arguments *a)
                     }
 #endif
 #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-                  /* On native Win32, PRIdMAX is defined as "I64d".
+                  /* On native Windows, PRIdMAX is defined as "I64d".
                      We cannot change it to "lld" because PRIdMAX must also
                      be understood by the system's printf routines.  */
                   else if (*cp == 'I' && cp[1] == '6' && cp[2] == '4')
diff --git a/lib/printf-parse.h b/lib/printf-parse.h
index 281f0d9..c6a083c 100644
--- a/lib/printf-parse.h
+++ b/lib/printf-parse.h
@@ -1,5 +1,5 @@
 /* Parse printf format string.
-   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2011 Free Software
+   Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2012 Free Software
    Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/putenv.c b/lib/putenv.c
index bf17744..eb3fae3 100644
--- a/lib/putenv.c
+++ b/lib/putenv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2011 Free Software
+/* Copyright (C) 1991, 1994, 1997-1998, 2000, 2003-2012 Free Software
    Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C
@@ -43,7 +43,7 @@ extern char **environ;
 #endif
 
 #if _LIBC
-/* This lock protects against simultaneous modifications of `environ'.  */
+/* This lock protects against simultaneous modifications of 'environ'.  */
 # include <bits/libc-lock.h>
 __libc_lock_define_initialized (static, envlock)
 # define LOCK   __libc_lock_lock (envlock)
@@ -91,7 +91,7 @@ _unsetenv (const char *name)
 
 
 /* Put STRING, which is of the form "NAME=VALUE", in the environment.
-   If STRING contains no `=', then remove STRING from the environment.  */
+   If STRING contains no '=', then remove STRING from the environment.  */
 int
 putenv (char *string)
 {
diff --git a/lib/raise.c b/lib/raise.c
index d284b5f..0c3acbb 100644
--- a/lib/raise.c
+++ b/lib/raise.c
@@ -1,6 +1,6 @@
 /* Provide a non-threads replacement for the POSIX raise function.
 
-   Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2003, 2005-2006, 2009-2012 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
diff --git a/lib/read.c b/lib/read.c
index a0b2637..9018bb5 100644
--- a/lib/read.c
+++ b/lib/read.c
@@ -1,5 +1,5 @@
 /* POSIX compatible read() function.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2011.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/readlink.c b/lib/readlink.c
index 8a6cbc6..c75d794 100644
--- a/lib/readlink.c
+++ b/lib/readlink.c
@@ -1,5 +1,5 @@
 /* Stub for readlink().
-   Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2007, 2009-2012 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
diff --git a/lib/recv.c b/lib/recv.c
index cd8b36d..7a5946a 100644
--- a/lib/recv.c
+++ b/lib/recv.c
@@ -1,6 +1,6 @@
 /* recv.c --- wrappers for Windows recv function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/recvfrom.c b/lib/recvfrom.c
index 60c2ec1..bfd97ac 100644
--- a/lib/recvfrom.c
+++ b/lib/recvfrom.c
@@ -1,6 +1,6 @@
 /* recvfrom.c --- wrappers for Windows recvfrom function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/ref-add.sin b/lib/ref-add.sin
index 7a14c4d..2aa7826 100644
--- a/lib/ref-add.sin
+++ b/lib/ref-add.sin
@@ -1,6 +1,6 @@
 # Add this package to a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2012 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
diff --git a/lib/ref-del.sin b/lib/ref-del.sin
index 8c8d764..a2ad6ad 100644
--- a/lib/ref-del.sin
+++ b/lib/ref-del.sin
@@ -1,6 +1,6 @@
 # Remove this package from a list of references stored in a text file.
 #
-#   Copyright (C) 2000, 2009-2011 Free Software Foundation, Inc.
+#   Copyright (C) 2000, 2009-2012 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
diff --git a/lib/rename.c b/lib/rename.c
index ebbbfea..547a6a2 100644
--- a/lib/rename.c
+++ b/lib/rename.c
@@ -1,6 +1,6 @@
 /* Work around rename bugs in some systems.
 
-   Copyright (C) 2001-2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2003, 2005-2006, 2009-2012 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
diff --git a/lib/rmdir.c b/lib/rmdir.c
index 98104bf..0b53626 100644
--- a/lib/rmdir.c
+++ b/lib/rmdir.c
@@ -1,6 +1,6 @@
 /* Work around rmdir bugs.
 
-   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2011 Free Software
+   Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/safe-read.c b/lib/safe-read.c
index a7cef32..d2d85c7 100644
--- a/lib/safe-read.c
+++ b/lib/safe-read.c
@@ -1,6 +1,6 @@
 /* An interface to read and write that retries after interrupts.
 
-   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2011 Free Software
+   Copyright (C) 1993-1994, 1998, 2002-2006, 2009-2012 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/safe-read.h b/lib/safe-read.h
index e878bca..fccc200 100644
--- a/lib/safe-read.h
+++ b/lib/safe-read.h
@@ -1,5 +1,5 @@
 /* An interface to read() that retries after interrupts.
-   Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006, 2009-2012 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
diff --git a/lib/safe-write.c b/lib/safe-write.c
index dce3277..cd42722 100644
--- a/lib/safe-write.c
+++ b/lib/safe-write.c
@@ -1,5 +1,5 @@
 /* An interface to write that retries after interrupts.
-   Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2012 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
diff --git a/lib/safe-write.h b/lib/safe-write.h
index 42e5981..84bc36d 100644
--- a/lib/safe-write.h
+++ b/lib/safe-write.h
@@ -1,5 +1,5 @@
 /* An interface to write() that retries after interrupts.
-   Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2009-2012 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
diff --git a/lib/same-inode.h b/lib/same-inode.h
index e89cb53..7ce286d 100644
--- a/lib/same-inode.h
+++ b/lib/same-inode.h
@@ -1,6 +1,6 @@
 /* Determine whether two stat buffers refer to the same file.
 
-   Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2009-2012 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
@@ -18,8 +18,16 @@
 #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)
+# ifdef __VMS
+#  define SAME_INODE(a, b)             \
+    ((a).st_ino[0] == (b).st_ino[0]    \
+     && (a).st_ino[1] == (b).st_ino[1] \
+     && (a).st_ino[2] == (b).st_ino[2] \
+     && (a).st_dev == (b).st_dev)
+# else
+#  define SAME_INODE(a, b)    \
+    ((a).st_ino == (b).st_ino \
+     && (a).st_dev == (b).st_dev)
+# endif
 
 #endif
diff --git a/lib/send.c b/lib/send.c
index db082a6..64d0e8d 100644
--- a/lib/send.c
+++ b/lib/send.c
@@ -1,6 +1,6 @@
 /* send.c --- wrappers for Windows send function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/sendto.c b/lib/sendto.c
index b709299..7a8e994 100644
--- a/lib/sendto.c
+++ b/lib/sendto.c
@@ -1,6 +1,6 @@
 /* sendto.c --- wrappers for Windows sendto function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/setenv.c b/lib/setenv.c
new file mode 100644
index 0000000..75f423f
--- /dev/null
+++ b/lib/setenv.c
@@ -0,0 +1,390 @@
+/* Copyright (C) 1992, 1995-2003, 2005-2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   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/>.  */
+
+#if !_LIBC
+# define _GL_USE_STDLIB_ALLOC 1
+# include <config.h>
+#endif
+
+/* Don't use __attribute__ __nonnull__ in this compilation unit.  Otherwise gcc
+   optimizes away the name == NULL test below.  */
+#define _GL_ARG_NONNULL(params)
+
+#include <alloca.h>
+
+/* Specification.  */
+#include <stdlib.h>
+
+#include <errno.h>
+#ifndef __set_errno
+# define __set_errno(ev) ((errno) = (ev))
+#endif
+
+#include <string.h>
+#if _LIBC || HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#if !_LIBC
+# include "malloca.h"
+#endif
+
+#if _LIBC || !HAVE_SETENV
+
+#if !_LIBC
+# define __environ      environ
+#endif
+
+#if _LIBC
+/* This lock protects against simultaneous modifications of 'environ'.  */
+# include <bits/libc-lock.h>
+__libc_lock_define_initialized (static, envlock)
+# define LOCK   __libc_lock_lock (envlock)
+# define UNLOCK __libc_lock_unlock (envlock)
+#else
+# define LOCK
+# define UNLOCK
+#endif
+
+/* In the GNU C library we must keep the namespace clean.  */
+#ifdef _LIBC
+# define setenv __setenv
+# define clearenv __clearenv
+# define tfind __tfind
+# define tsearch __tsearch
+#endif
+
+/* In the GNU C library implementation we try to be more clever and
+   allow arbitrarily many changes of the environment given that the used
+   values are from a small set.  Outside glibc this will eat up all
+   memory after a while.  */
+#if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \
+                      && defined __GNUC__)
+# define USE_TSEARCH    1
+# include <search.h>
+typedef int (*compar_fn_t) (const void *, const void *);
+
+/* This is a pointer to the root of the search tree with the known
+   values.  */
+static void *known_values;
+
+# define KNOWN_VALUE(Str) \
+  ({                                                                          \
+    void *value = tfind (Str, &known_values, (compar_fn_t) strcmp);           \
+    value != NULL ? *(char **) value : NULL;                                  \
+  })
+# define STORE_VALUE(Str) \
+  tsearch (Str, &known_values, (compar_fn_t) strcmp)
+
+#else
+# undef USE_TSEARCH
+
+# define KNOWN_VALUE(Str) NULL
+# define STORE_VALUE(Str) do { } while (0)
+
+#endif
+
+
+/* If this variable is not a null pointer we allocated the current
+   environment.  */
+static char **last_environ;
+
+
+/* This function is used by 'setenv' and 'putenv'.  The difference between
+   the two functions is that for the former must create a new string which
+   is then placed in the environment, while the argument of 'putenv'
+   must be used directly.  This is all complicated by the fact that we try
+   to reuse values once generated for a 'setenv' call since we can never
+   free the strings.  */
+int
+__add_to_environ (const char *name, const char *value, const char *combined,
+                  int replace)
+{
+  char **ep;
+  size_t size;
+  const size_t namelen = strlen (name);
+  const size_t vallen = value != NULL ? strlen (value) + 1 : 0;
+
+  LOCK;
+
+  /* We have to get the pointer now that we have the lock and not earlier
+     since another thread might have created a new environment.  */
+  ep = __environ;
+
+  size = 0;
+  if (ep != NULL)
+    {
+      for (; *ep != NULL; ++ep)
+        if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
+          break;
+        else
+          ++size;
+    }
+
+  if (ep == NULL || *ep == NULL)
+    {
+      char **new_environ;
+#ifdef USE_TSEARCH
+      char *new_value;
+#endif
+
+      /* We allocated this space; we can extend it.  */
+      new_environ =
+        (char **) (last_environ == NULL
+                   ? malloc ((size + 2) * sizeof (char *))
+                   : realloc (last_environ, (size + 2) * sizeof (char *)));
+      if (new_environ == NULL)
+        {
+          /* It's easier to set errno to ENOMEM than to rely on the
+             'malloc-posix' and 'realloc-posix' gnulib modules.  */
+          __set_errno (ENOMEM);
+          UNLOCK;
+          return -1;
+        }
+
+      /* If the whole entry is given add it.  */
+      if (combined != NULL)
+        /* We must not add the string to the search tree since it belongs
+           to the user.  */
+        new_environ[size] = (char *) combined;
+      else
+        {
+          /* See whether the value is already known.  */
+#ifdef USE_TSEARCH
+# ifdef _LIBC
+          new_value = (char *) alloca (namelen + 1 + vallen);
+          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+                     value, vallen);
+# else
+          new_value = (char *) malloca (namelen + 1 + vallen);
+          if (new_value == NULL)
+            {
+              __set_errno (ENOMEM);
+              UNLOCK;
+              return -1;
+            }
+          memcpy (new_value, name, namelen);
+          new_value[namelen] = '=';
+          memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+          new_environ[size] = KNOWN_VALUE (new_value);
+          if (new_environ[size] == NULL)
+#endif
+            {
+              new_environ[size] = (char *) malloc (namelen + 1 + vallen);
+              if (new_environ[size] == NULL)
+                {
+#if defined USE_TSEARCH && !defined _LIBC
+                  freea (new_value);
+#endif
+                  __set_errno (ENOMEM);
+                  UNLOCK;
+                  return -1;
+                }
+
+#ifdef USE_TSEARCH
+              memcpy (new_environ[size], new_value, namelen + 1 + vallen);
+#else
+              memcpy (new_environ[size], name, namelen);
+              new_environ[size][namelen] = '=';
+              memcpy (&new_environ[size][namelen + 1], value, vallen);
+#endif
+              /* And save the value now.  We cannot do this when we remove
+                 the string since then we cannot decide whether it is a
+                 user string or not.  */
+              STORE_VALUE (new_environ[size]);
+            }
+#if defined USE_TSEARCH && !defined _LIBC
+          freea (new_value);
+#endif
+        }
+
+      if (__environ != last_environ)
+        memcpy ((char *) new_environ, (char *) __environ,
+                size * sizeof (char *));
+
+      new_environ[size + 1] = NULL;
+
+      last_environ = __environ = new_environ;
+    }
+  else if (replace)
+    {
+      char *np;
+
+      /* Use the user string if given.  */
+      if (combined != NULL)
+        np = (char *) combined;
+      else
+        {
+#ifdef USE_TSEARCH
+          char *new_value;
+# ifdef _LIBC
+          new_value = alloca (namelen + 1 + vallen);
+          __mempcpy (__mempcpy (__mempcpy (new_value, name, namelen), "=", 1),
+                     value, vallen);
+# else
+          new_value = malloca (namelen + 1 + vallen);
+          if (new_value == NULL)
+            {
+              __set_errno (ENOMEM);
+              UNLOCK;
+              return -1;
+            }
+          memcpy (new_value, name, namelen);
+          new_value[namelen] = '=';
+          memcpy (&new_value[namelen + 1], value, vallen);
+# endif
+
+          np = KNOWN_VALUE (new_value);
+          if (np == NULL)
+#endif
+            {
+              np = (char *) malloc (namelen + 1 + vallen);
+              if (np == NULL)
+                {
+#if defined USE_TSEARCH && !defined _LIBC
+                  freea (new_value);
+#endif
+                  __set_errno (ENOMEM);
+                  UNLOCK;
+                  return -1;
+                }
+
+#ifdef USE_TSEARCH
+              memcpy (np, new_value, namelen + 1 + vallen);
+#else
+              memcpy (np, name, namelen);
+              np[namelen] = '=';
+              memcpy (&np[namelen + 1], value, vallen);
+#endif
+              /* And remember the value.  */
+              STORE_VALUE (np);
+            }
+#if defined USE_TSEARCH && !defined _LIBC
+          freea (new_value);
+#endif
+        }
+
+      *ep = np;
+    }
+
+  UNLOCK;
+
+  return 0;
+}
+
+int
+setenv (const char *name, const char *value, int replace)
+{
+  if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return __add_to_environ (name, value, NULL, replace);
+}
+
+/* The 'clearenv' was planned to be added to POSIX.1 but probably
+   never made it.  Nevertheless the POSIX.9 standard (POSIX bindings
+   for Fortran 77) requires this function.  */
+int
+clearenv (void)
+{
+  LOCK;
+
+  if (__environ == last_environ && __environ != NULL)
+    {
+      /* We allocated this environment so we can free it.  */
+      free (__environ);
+      last_environ = NULL;
+    }
+
+  /* Clear the environment pointer removes the whole environment.  */
+  __environ = NULL;
+
+  UNLOCK;
+
+  return 0;
+}
+
+#ifdef _LIBC
+static void
+free_mem (void)
+{
+  /* Remove all traces.  */
+  clearenv ();
+
+  /* Now remove the search tree.  */
+  __tdestroy (known_values, free);
+  known_values = NULL;
+}
+text_set_element (__libc_subfreeres, free_mem);
+
+
+# undef setenv
+# undef clearenv
+weak_alias (__setenv, setenv)
+weak_alias (__clearenv, clearenv)
+#endif
+
+#endif /* _LIBC || !HAVE_SETENV */
+
+/* The rest of this file is called into use when replacing an existing
+   but buggy setenv.  Known bugs include failure to diagnose invalid
+   name, and consuming a leading '=' from value.  */
+#if HAVE_SETENV
+
+# undef setenv
+# if !HAVE_DECL_SETENV
+extern int setenv (const char *, const char *, int);
+# endif
+# define STREQ(a, b) (strcmp (a, b) == 0)
+
+int
+rpl_setenv (const char *name, const char *value, int replace)
+{
+  int result;
+  if (!name || !*name || strchr (name, '='))
+    {
+      errno = EINVAL;
+      return -1;
+    }
+  /* Call the real setenv even if replace is 0, in case implementation
+     has underlying data to update, such as when environ changes.  */
+  result = setenv (name, value, replace);
+  if (result == 0 && replace && *value == '=')
+    {
+      char *tmp = getenv (name);
+      if (!STREQ (tmp, value))
+        {
+          int saved_errno;
+          size_t len = strlen (value);
+          tmp = malloca (len + 2);
+          /* Since leading '=' is eaten, double it up.  */
+          *tmp = '=';
+          memcpy (tmp + 1, value, len + 1);
+          result = setenv (name, tmp, replace);
+          saved_errno = errno;
+          freea (tmp);
+          errno = saved_errno;
+        }
+    }
+  return result;
+}
+
+#endif /* HAVE_SETENV */
diff --git a/lib/setsockopt.c b/lib/setsockopt.c
index dfd7f34..07e9023 100644
--- a/lib/setsockopt.c
+++ b/lib/setsockopt.c
@@ -1,6 +1,6 @@
 /* setsockopt.c --- wrappers for Windows setsockopt function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/shutdown.c b/lib/shutdown.c
index 93bd4fa..1e646a9 100644
--- a/lib/shutdown.c
+++ b/lib/shutdown.c
@@ -1,6 +1,6 @@
 /* shutdown.c --- wrappers for Windows shutdown function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/signal.in.h b/lib/signal.in.h
index c7713e5..2e195a0 100644
--- a/lib/signal.in.h
+++ b/lib/signal.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <signal.h>.
 
-   Copyright (C) 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2006-2012 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
diff --git a/lib/size_max.h b/lib/size_max.h
index aedf29e..d470807 100644
--- a/lib/size_max.h
+++ b/lib/size_max.h
@@ -1,5 +1,5 @@
 /* size_max.h -- declare SIZE_MAX through system headers
-   Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2012 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/snprintf.c b/lib/snprintf.c
index 662ad8e..731cc2f 100644
--- a/lib/snprintf.c
+++ b/lib/snprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2012 Free Software Foundation, Inc.
    Written by Simon Josefsson and Paul Eggert.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/socket.c b/lib/socket.c
index 600a145..24f16c9 100644
--- a/lib/socket.c
+++ b/lib/socket.c
@@ -1,6 +1,6 @@
 /* socket.c --- wrappers for Windows socket function
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/sockets.c b/lib/sockets.c
index 843d992..635479a 100644
--- a/lib/sockets.c
+++ b/lib/sockets.c
@@ -1,6 +1,6 @@
 /* sockets.c --- wrappers for Windows socket functions
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/sockets.h b/lib/sockets.h
index a45bc5f..35d6923 100644
--- a/lib/sockets.h
+++ b/lib/sockets.h
@@ -1,6 +1,6 @@
 /* sockets.h - wrappers for Windows socket functions
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/stat-time.h b/lib/stat-time.h
index 2d01910..1aae18a 100644
--- a/lib/stat-time.h
+++ b/lib/stat-time.h
@@ -1,6 +1,6 @@
 /* stat-related time functions.
 
-   Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009-2012 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
@@ -155,7 +155,7 @@ get_stat_birthtime (struct stat const *st)
   t.tv_sec = st->st_birthtime;
   t.tv_nsec = st->st_birthtimensec;
 #elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
-  /* Woe32 native platforms (but not Cygwin) put the "file creation
+  /* Native Windows platforms (but not Cygwin) put the "file creation
      time" in st_ctime (!).  See
      <http://msdn2.microsoft.com/de-de/library/14h5k7ff(VS.80).aspx>.  */
   t.tv_sec = st->st_ctime;
diff --git a/lib/stat.c b/lib/stat.c
index 075e79e..a18d577 100644
--- a/lib/stat.c
+++ b/lib/stat.c
@@ -1,5 +1,5 @@
 /* Work around platform bugs in stat.
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 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
diff --git a/lib/stdalign.in.h b/lib/stdalign.in.h
index 16213d2..41dd143 100644
--- a/lib/stdalign.in.h
+++ b/lib/stdalign.in.h
@@ -1,6 +1,6 @@
-/* A substitute for ISO C 1x <stdalign.h>.
+/* A substitute for ISO C11 <stdalign.h>.
 
-   Copyright 2011 Free Software Foundation, Inc.
+   Copyright 2011-2012 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
@@ -21,12 +21,14 @@
 #ifndef _GL_STDALIGN_H
 #define _GL_STDALIGN_H
 
-/* ISO C1X <stdalign.h> for platforms that lack it.
+/* ISO C11 <stdalign.h> for platforms that lack it.
 
    References:
-   ISO C1X <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>
+   ISO C11 (latest free draft
+   <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf>)
    sections 6.5.3.4, 6.7.5, 7.15.
-   C++0X <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>
+   C++11 (latest free draft
+   <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf>)
    section 18.10. */
 
 /* alignof (TYPE), also known as _Alignof (TYPE), yields the alignment
@@ -68,7 +70,7 @@
    To be portable to Sun C 5.11, do not align auto variables to
    anything stricter than their default alignment.
 
-   The following draft C1X requirements are not supported here:
+   The following C11 requirements are not supported here:
 
      - If A is zero, alignas has no effect.
      - alignas can be used multiple times; the strictest one wins.
diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h
index 0f33b19..cbf3ea1 100644
--- a/lib/stdbool.in.h
+++ b/lib/stdbool.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2003, 2006-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/stddef.in.h b/lib/stddef.in.h
index 1668add..4d57637 100644
--- a/lib/stddef.in.h
+++ b/lib/stddef.in.h
@@ -1,6 +1,6 @@
 /* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
 
-   Copyright (C) 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2009-2012 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
diff --git a/lib/stdint.in.h b/lib/stdint.in.h
index 1451dbf..6910401 100644
--- a/lib/stdint.in.h
+++ b/lib/stdint.in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2002, 2004-2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2012 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
diff --git a/lib/stdio.in.h b/lib/stdio.in.h
index a0573f7..7e4d593 100644
--- a/lib/stdio.in.h
+++ b/lib/stdio.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdio.h>.
 
-   Copyright (C) 2004, 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2007-2012 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
@@ -186,7 +186,7 @@ _GL_CXXALIASWARN (fdopen);
 #elif defined GNULIB_POSIXCHECK
 # undef fdopen
 /* Assume fdopen is always declared.  */
-_GL_WARN_ON_USE (fdopen, "fdopen on Win32 platforms is not POSIX compatible - "
+_GL_WARN_ON_USE (fdopen, "fdopen on native Windows platforms is not POSIX 
compliant - "
                  "use gnulib module fdopen for portability");
 #endif
 
@@ -259,7 +259,7 @@ _GL_CXXALIASWARN (fopen);
 #elif defined GNULIB_POSIXCHECK
 # undef fopen
 /* Assume fopen is always declared.  */
-_GL_WARN_ON_USE (fopen, "fopen on Win32 platforms is not POSIX compatible - "
+_GL_WARN_ON_USE (fopen, "fopen on native Windows platforms is not POSIX 
compliant - "
                  "use gnulib module fopen for portability");
 #endif
 
@@ -387,7 +387,7 @@ _GL_CXXALIASWARN (freopen);
 # undef freopen
 /* Assume freopen is always declared.  */
 _GL_WARN_ON_USE (freopen,
-                 "freopen on Win32 platforms is not POSIX compatible - "
+                 "freopen on native Windows platforms is not POSIX compliant - 
"
                  "use gnulib module freopen for portability");
 #endif
 
diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h
index 2b453ba..c90626a 100644
--- a/lib/stdlib.in.h
+++ b/lib/stdlib.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <stdlib.h>.
 
-   Copyright (C) 1995, 2001-2004, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2004, 2006-2012 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
@@ -49,6 +49,11 @@
 # include <sys/loadavg.h>
 #endif
 
+/* Native Windows platforms declare mktemp() in <io.h>.  */
+#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
 #if @GNULIB_RANDOM_R@
 
 /* OSF/1 5.1 declares 'struct random_data' in <random.h>, which is included
@@ -58,7 +63,7 @@
 #  include <random.h>
 # endif
 
-# if address@hidden@ || address@hidden@
+# if address@hidden@ || @REPLACE_RANDOM_R@ || address@hidden@
 #  include <stdint.h>
 # endif
 
@@ -504,12 +509,83 @@ _GL_CXXALIASWARN (putenv);
 # endif
 #endif
 
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (random, long, (void));
+# endif
+_GL_CXXALIAS_SYS (random, long, (void));
+_GL_CXXALIASWARN (random);
+#elif defined GNULIB_POSIXCHECK
+# undef random
+# if HAVE_RAW_DECL_RANDOM
+_GL_WARN_ON_USE (random, "random is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
+# endif
+_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
+_GL_CXXALIASWARN (srandom);
+#elif defined GNULIB_POSIXCHECK
+# undef srandom
+# if HAVE_RAW_DECL_SRANDOM
+_GL_WARN_ON_USE (srandom, "srandom is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size)
+                  _GL_ARG_NONNULL ((2)));
+# endif
+_GL_CXXALIAS_SYS (initstate, char *,
+                  (unsigned int seed, char *buf, size_t buf_size));
+_GL_CXXALIASWARN (initstate);
+#elif defined GNULIB_POSIXCHECK
+# undef initstate
+# if HAVE_RAW_DECL_INITSTATE_R
+_GL_WARN_ON_USE (initstate, "initstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+#if @GNULIB_RANDOM@
+# if address@hidden@
+_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
+# endif
+_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
+_GL_CXXALIASWARN (setstate);
+#elif defined GNULIB_POSIXCHECK
+# undef setstate
+# if HAVE_RAW_DECL_SETSTATE_R
+_GL_WARN_ON_USE (setstate, "setstate is unportable - "
+                 "use gnulib module random for portability");
+# endif
+#endif
+
+
 #if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef random_r
+#   define random_r rpl_random_r
+#  endif
+_GL_FUNCDECL_RPL (random_r, int, (struct random_data *buf, int32_t *result)
+                                 _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (random_r, int, (struct random_data *buf, int32_t *result));
+# else
+#  if address@hidden@
 _GL_FUNCDECL_SYS (random_r, int, (struct random_data *buf, int32_t *result)
                                  _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (random_r, int, (struct random_data *buf, int32_t *result));
+# endif
 _GL_CXXALIASWARN (random_r);
 #elif defined GNULIB_POSIXCHECK
 # undef random_r
@@ -520,13 +596,25 @@ _GL_WARN_ON_USE (random_r, "random_r is unportable - "
 #endif
 
 #if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef srandom_r
+#   define srandom_r rpl_srandom_r
+#  endif
+_GL_FUNCDECL_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2)));
+_GL_CXXALIAS_RPL (srandom_r, int,
+                  (unsigned int seed, struct random_data *rand_state));
+# else
+#  if address@hidden@
 _GL_FUNCDECL_SYS (srandom_r, int,
                   (unsigned int seed, struct random_data *rand_state)
                   _GL_ARG_NONNULL ((2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (srandom_r, int,
                   (unsigned int seed, struct random_data *rand_state));
+# endif
 _GL_CXXALIASWARN (srandom_r);
 #elif defined GNULIB_POSIXCHECK
 # undef srandom_r
@@ -537,15 +625,29 @@ _GL_WARN_ON_USE (srandom_r, "srandom_r is unportable - "
 #endif
 
 #if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef initstate_r
+#   define initstate_r rpl_initstate_r
+#  endif
+_GL_FUNCDECL_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((2, 4)));
+_GL_CXXALIAS_RPL (initstate_r, int,
+                  (unsigned int seed, char *buf, size_t buf_size,
+                   struct random_data *rand_state));
+# else
+#  if address@hidden@
 _GL_FUNCDECL_SYS (initstate_r, int,
                   (unsigned int seed, char *buf, size_t buf_size,
                    struct random_data *rand_state)
                   _GL_ARG_NONNULL ((2, 4)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (initstate_r, int,
                   (unsigned int seed, char *buf, size_t buf_size,
                    struct random_data *rand_state));
+# endif
 _GL_CXXALIASWARN (initstate_r);
 #elif defined GNULIB_POSIXCHECK
 # undef initstate_r
@@ -556,13 +658,25 @@ _GL_WARN_ON_USE (initstate_r, "initstate_r is unportable 
- "
 #endif
 
 #if @GNULIB_RANDOM_R@
-# if address@hidden@
+# if @REPLACE_RANDOM_R@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef setstate_r
+#   define setstate_r rpl_setstate_r
+#  endif
+_GL_FUNCDECL_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state)
+                  _GL_ARG_NONNULL ((1, 2)));
+_GL_CXXALIAS_RPL (setstate_r, int,
+                  (char *arg_state, struct random_data *rand_state));
+# else
+#  if address@hidden@
 _GL_FUNCDECL_SYS (setstate_r, int,
                   (char *arg_state, struct random_data *rand_state)
                   _GL_ARG_NONNULL ((1, 2)));
-# endif
+#  endif
 _GL_CXXALIAS_SYS (setstate_r, int,
                   (char *arg_state, struct random_data *rand_state));
+# endif
 _GL_CXXALIASWARN (setstate_r);
 #elif defined GNULIB_POSIXCHECK
 # undef setstate_r
diff --git a/lib/strftime.c b/lib/strftime.c
index df09be9..7743f52 100644
--- a/lib/strftime.c
+++ b/lib/strftime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2001, 2003-2007, 2009-2012 Free Software Foundation, Inc.
 
    NOTE: The canonical source of this file is maintained with the GNU C 
Library.
    Bugs can be reported to address@hidden
@@ -289,7 +289,7 @@ extern char *tzname[];
 #  define TOLOWER(Ch, L) tolower (Ch)
 # endif
 #endif
-/* We don't use `isdigit' here since the locale dependent
+/* We don't use 'isdigit' here since the locale dependent
    interpretation is not what we want here.  We only need to accept
    the arabic digits in the ASCII range.  One day there is perhaps a
    more reliable way to accept other sets of digits.  */
@@ -437,7 +437,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
 #ifdef _NL_CURRENT
   /* We cannot make the following values variables since we must delay
      the evaluation of these values until really needed since some
-     expressions might not be valid in every situation.  The `struct tm'
+     expressions might not be valid in every situation.  The 'struct tm'
      might be generated by a strptime() call that initialized
      only a few elements.  Dereference the pointers only if the format
      requires this.  Then it is ok to fail if the pointers are invalid.  */
@@ -896,7 +896,7 @@ strftime_case_ (bool upcase, STREAM_OR_CHAR_T *s,
           goto do_number_body;
 
         do_number_spacepad:
-          /* Force `_' flag unless overridden by `0' or `-' flag.  */
+          /* Force '_' flag unless overridden by '0' or '-' flag.  */
           if (pad != L_('0') && pad != L_('-'))
             pad = L_('_');
 
diff --git a/lib/strftime.h b/lib/strftime.h
index c8cac90..596b0b8 100644
--- a/lib/strftime.h
+++ b/lib/strftime.h
@@ -1,6 +1,6 @@
 /* declarations for strftime.c
 
-   Copyright (C) 2002, 2004, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2008-2012 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
diff --git a/lib/striconveh.c b/lib/striconveh.c
index 5052f02..8a38236 100644
--- a/lib/striconveh.c
+++ b/lib/striconveh.c
@@ -1,5 +1,5 @@
 /* Character set conversion with error handling.
-   Copyright (C) 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/striconveh.h b/lib/striconveh.h
index 8c0e6c4..77730a0 100644
--- a/lib/striconveh.h
+++ b/lib/striconveh.h
@@ -1,5 +1,5 @@
 /* Character set conversion with error handling.
-   Copyright (C) 2001-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible and Simon Josefsson.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/string.in.h b/lib/string.in.h
index bc146ee..ab9cd19 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -1,6 +1,6 @@
 /* A GNU-like <string.h>.
 
-   Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-1996, 2001-2012 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
diff --git a/lib/stripslash.c b/lib/stripslash.c
index 31034cb..63b77cd 100644
--- a/lib/stripslash.c
+++ b/lib/stripslash.c
@@ -1,6 +1,6 @@
 /* stripslash.c -- remove redundant trailing slashes from a file name
 
-   Copyright (C) 1990, 2001, 2003-2006, 2009-2011 Free Software Foundation,
+   Copyright (C) 1990, 2001, 2003-2006, 2009-2012 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -35,7 +35,7 @@ strip_trailing_slashes (char *file)
   bool had_slash;
 
   /* last_component returns "" for file system roots, but we need to turn
-     `///' into `/'.  */
+     "///" into "/".  */
   if (! *base)
     base = file;
   base_lim = base + base_len (base);
diff --git a/lib/sys_file.in.h b/lib/sys_file.in.h
index e518dfc..bbc551a 100644
--- a/lib/sys_file.in.h
+++ b/lib/sys_file.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/file.h.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/sys_socket.in.h b/lib/sys_socket.in.h
index a92d36b..e238a76 100644
--- a/lib/sys_socket.in.h
+++ b/lib/sys_socket.in.h
@@ -1,6 +1,6 @@
 /* Provide a sys/socket header file for systems lacking it (read: MinGW)
    and for systems where it is incomplete.
-   Copyright (C) 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2012 Free Software Foundation, Inc.
    Written by Simon Josefsson.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h
index b9add86..7d24a3f 100644
--- a/lib/sys_stat.in.h
+++ b/lib/sys_stat.in.h
@@ -1,5 +1,5 @@
 /* Provide a more complete sys/stat header file.
-   Copyright (C) 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2012 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
@@ -62,6 +62,11 @@
 # include <direct.h> /* mingw64, MSVC 9 */
 #endif
 
+/* Native Windows platforms declare umask() in <io.h>.  */
+#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
+
 #ifndef S_IFIFO
 # ifdef _S_IFIFO
 #  define S_IFIFO _S_IFIFO
diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h
index 6431ac0..d1f9541 100644
--- a/lib/sys_time.in.h
+++ b/lib/sys_time.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h
index 1b7b7ca..615993a 100644
--- a/lib/sys_types.in.h
+++ b/lib/sys_types.in.h
@@ -1,6 +1,6 @@
 /* Provide a more complete sys/types.h.
 
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 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
diff --git a/lib/sys_uio.in.h b/lib/sys_uio.in.h
index b0933dc..0abc597 100644
--- a/lib/sys_uio.in.h
+++ b/lib/sys_uio.in.h
@@ -1,5 +1,5 @@
 /* Substitute for <sys/uio.h>.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011-2012 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
diff --git a/lib/time.in.h b/lib/time.in.h
index a38fd13..448466c 100644
--- a/lib/time.in.h
+++ b/lib/time.in.h
@@ -1,6 +1,6 @@
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/time_r.c b/lib/time_r.c
index 383c9d0..b25f6a6 100644
--- a/lib/time_r.c
+++ b/lib/time_r.c
@@ -1,6 +1,6 @@
 /* Reentrant time functions like localtime_r.
 
-   Copyright (C) 2003, 2006-2007, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2007, 2010-2012 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
diff --git a/lib/trunc.c b/lib/trunc.c
index 4bbbc57..76627fb 100644
--- a/lib/trunc.c
+++ b/lib/trunc.c
@@ -1,5 +1,5 @@
 /* Round towards zero.
-   Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2010-2012 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
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
index 69cd814..e6e65cb 100644
--- a/lib/unistd.in.h
+++ b/lib/unistd.in.h
@@ -1,5 +1,5 @@
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2003-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003-2012 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
@@ -84,12 +84,19 @@
 #endif
 
 /* Native Windows platforms declare chdir, getcwd, rmdir in
-   <io.h> and/or <direct.h>, not in <unistd.h>.  */
+   <io.h> and/or <direct.h>, not in <unistd.h>.
+   They also declare access(), chmod(), close(), dup(), dup2(), isatty(),
+   lseek(), read(), unlink(), write() in <io.h>.  */
 #if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
       || defined GNULIB_POSIXCHECK) \
      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
 # include <io.h>     /* mingw32, mingw64 */
 # include <direct.h> /* mingw64, MSVC 9 */
+#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
+       || @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ 
\
+       || defined GNULIB_POSIXCHECK) \
+      && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
 #endif
 
 /* AIX and OSF/1 5.1 declare getdomainname in <netdb.h>, not in <unistd.h>.
@@ -935,6 +942,27 @@ _GL_WARN_ON_USE (group_member, "group_member is unportable 
- "
 #endif
 
 
+#if @GNULIB_ISATTY@
+# if @REPLACE_ISATTY@
+#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+#   undef isatty
+#   define isatty rpl_isatty
+#  endif
+_GL_FUNCDECL_RPL (isatty, int, (int fd));
+_GL_CXXALIAS_RPL (isatty, int, (int fd));
+# else
+_GL_CXXALIAS_SYS (isatty, int, (int fd));
+# endif
+_GL_CXXALIASWARN (isatty);
+#elif defined GNULIB_POSIXCHECK
+# undef isatty
+# if HAVE_RAW_DECL_ISATTY
+_GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
+                 "use gnulib module isatty for portability");
+# endif
+#endif
+
+
 #if @GNULIB_LCHOWN@
 /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
    to GID (if GID is not -1).  Do not follow symbolic links.
diff --git a/lib/unistr.in.h b/lib/unistr.in.h
index c665aa8..83aeeee 100644
--- a/lib/unistr.in.h
+++ b/lib/unistr.in.h
@@ -1,5 +1,5 @@
 /* Elementary Unicode string functions.
-   Copyright (C) 2001-2002, 2005-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2005-2012 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
diff --git a/lib/unistr/u8-mbtouc-aux.c b/lib/unistr/u8-mbtouc-aux.c
index 1ac2957..e68a8e2 100644
--- a/lib/unistr/u8-mbtouc-aux.c
+++ b/lib/unistr/u8-mbtouc-aux.c
@@ -1,5 +1,5 @@
 /* Conversion UTF-8 to UCS-4.
-   Copyright (C) 2001-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtouc-unsafe-aux.c 
b/lib/unistr/u8-mbtouc-unsafe-aux.c
index deea151..38db03d 100644
--- a/lib/unistr/u8-mbtouc-unsafe-aux.c
+++ b/lib/unistr/u8-mbtouc-unsafe-aux.c
@@ -1,5 +1,5 @@
 /* Conversion UTF-8 to UCS-4.
-   Copyright (C) 2001-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtouc-unsafe.c b/lib/unistr/u8-mbtouc-unsafe.c
index b298925..6fbde71 100644
--- a/lib/unistr/u8-mbtouc-unsafe.c
+++ b/lib/unistr/u8-mbtouc-unsafe.c
@@ -1,5 +1,5 @@
 /* Look at first character in UTF-8 string.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtouc.c b/lib/unistr/u8-mbtouc.c
index a62539e..d286c27 100644
--- a/lib/unistr/u8-mbtouc.c
+++ b/lib/unistr/u8-mbtouc.c
@@ -1,5 +1,5 @@
 /* Look at first character in UTF-8 string.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-mbtoucr.c b/lib/unistr/u8-mbtoucr.c
index ffcc134..f01cfe9 100644
--- a/lib/unistr/u8-mbtoucr.c
+++ b/lib/unistr/u8-mbtoucr.c
@@ -1,5 +1,5 @@
 /* Look at first character in UTF-8 string, returning an error code.
-   Copyright (C) 1999-2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999-2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2001.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-prev.c b/lib/unistr/u8-prev.c
index 29118d6..04def87 100644
--- a/lib/unistr/u8-prev.c
+++ b/lib/unistr/u8-prev.c
@@ -1,5 +1,5 @@
 /* Iterate over previous character in UTF-8 string.
-   Copyright (C) 2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-uctomb-aux.c b/lib/unistr/u8-uctomb-aux.c
index 2014c8c..1a44ddb 100644
--- a/lib/unistr/u8-uctomb-aux.c
+++ b/lib/unistr/u8-uctomb-aux.c
@@ -1,5 +1,5 @@
 /* Conversion UCS-4 to UTF-8.
-   Copyright (C) 2002, 2006-2007, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006-2007, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unistr/u8-uctomb.c b/lib/unistr/u8-uctomb.c
index 65a4053..4bfe261 100644
--- a/lib/unistr/u8-uctomb.c
+++ b/lib/unistr/u8-uctomb.c
@@ -1,5 +1,5 @@
 /* Store a character in UTF-8 string.
-   Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2002.
 
    This program is free software: you can redistribute it and/or modify it
diff --git a/lib/unitypes.in.h b/lib/unitypes.in.h
index e78c97d..c1204e1 100644
--- a/lib/unitypes.in.h
+++ b/lib/unitypes.in.h
@@ -1,5 +1,5 @@
 /* Elementary types for the GNU UniString library.
-   Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005-2006, 2009-2012 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
diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c
index 246e32b..3a94d2f 100644
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-2011 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2012 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
@@ -4885,7 +4885,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                    in format strings in writable memory may crash the program
                    (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
                    in this situation.  */
-                /* On native Win32 systems (such as mingw), we can avoid using
+                /* On native Windows systems (such as mingw), we can avoid 
using
                    %n because:
                      - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
                        snprintf does not write more than the specified number
@@ -4894,7 +4894,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                      - Although the gl_SNPRINTF_RETVAL_C99 test fails, snprintf
                        allows us to recognize the case of an insufficient
                        buffer size: it returns -1 in this case.
-                   On native Win32 systems (such as mingw) where the OS is
+                   On native Windows systems (such as mingw) where the OS is
                    Windows Vista, the use of %n in format strings by default
                    crashes the program. See
                      <http://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and
diff --git a/lib/vasnprintf.h b/lib/vasnprintf.h
index e2de468..dac6f50 100644
--- a/lib/vasnprintf.h
+++ b/lib/vasnprintf.h
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2002-2004, 2007-2012 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
diff --git a/lib/verify.h b/lib/verify.h
index 330ff3b..6c4bd43 100644
--- a/lib/verify.h
+++ b/lib/verify.h
@@ -1,6 +1,6 @@
 /* Compile-time assert-like macros.
 
-   Copyright (C) 2005-2006, 2009-2011 Free Software Foundation, Inc.
+   Copyright (C) 2005-2006, 2009-2012 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
@@ -21,13 +21,11 @@
 # define _GL_VERIFY_H
 
 
-/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per the
-   C1X draft N1548 section 6.7.10.  This is supported by GCC 4.6.0 and
-   later, in C mode, and its use here generates easier-to-read diagnostics
-   when verify (R) fails.
+/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
+   This is supported by GCC 4.6.0 and later, in C mode, and its use
+   here generates easier-to-read diagnostics when verify (R) fails.
 
-   Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per the
-   C++0X draft N3242 section 7.(4).
+   Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11.
    This will likely be supported by future GCC versions, in C++ mode.
 
    Use this only with GCC.  If we were willing to slow 'configure'
@@ -188,7 +186,7 @@ template <int w>
    trailing ';'.  If R is false, fail at compile-time, preferably
    with a diagnostic that includes the string-literal DIAGNOSTIC.
 
-   Unfortunately, unlike C1X, this implementation must appear as an
+   Unfortunately, unlike C11, this implementation must appear as an
    ordinary declaration, and cannot appear inside struct { ... }.  */
 
 # ifdef _GL_HAVE__STATIC_ASSERT
@@ -205,7 +203,7 @@ template <int w>
 #   define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
 #  endif
 #  if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
-#   define static_assert _Static_assert /* Draft C1X requires this #define.  */
+#   define static_assert _Static_assert /* C11 requires this #define.  */
 #  endif
 # endif
 
diff --git a/lib/vsnprintf.c b/lib/vsnprintf.c
index 9abb7a9..c59ce0c 100644
--- a/lib/vsnprintf.c
+++ b/lib/vsnprintf.c
@@ -1,5 +1,5 @@
 /* Formatted output to strings.
-   Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006-2012 Free Software Foundation, Inc.
    Written by Simon Josefsson and Yoann Vandoorselaere <address@hidden>.
 
    This program is free software; you can redistribute it and/or modify
diff --git a/lib/w32sock.h b/lib/w32sock.h
index 1929303..5c1af6b 100644
--- a/lib/w32sock.h
+++ b/lib/w32sock.h
@@ -1,6 +1,6 @@
 /* w32sock.h --- internal auxilliary functions for Windows socket functions
 
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 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
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
index 71af75a..1928729 100644
--- a/lib/wchar.in.h
+++ b/lib/wchar.in.h
@@ -1,6 +1,6 @@
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007-2011 Free Software Foundation, Inc.
+   Copyright (C) 2007-2012 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
diff --git a/lib/write.c b/lib/write.c
index 3941f29..2473cdb 100644
--- a/lib/write.c
+++ b/lib/write.c
@@ -1,5 +1,5 @@
 /* POSIX compatible write() function.
-   Copyright (C) 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2008-2012 Free Software Foundation, Inc.
    Written by Bruno Haible <address@hidden>, 2008.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/lib/xsize.h b/lib/xsize.h
index 1bd9ca7..42799d9 100644
--- a/lib/xsize.h
+++ b/lib/xsize.h
@@ -1,6 +1,6 @@
 /* xsize.h -- Checked size_t computations.
 
-   Copyright (C) 2003, 2008-2011 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2008-2012 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
diff --git a/libguile/debug.c b/libguile/debug.c
index c6ce99e..87513bf 100644
--- a/libguile/debug.c
+++ b/libguile/debug.c
@@ -1,5 +1,5 @@
 /* Debugging extensions for Guile
- * Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003, 2006, 2008, 
2009, 2010, 2011 Free Software Foundation
+ * Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003, 2006, 2008, 
2009, 2010, 2011, 2012 Free Software Foundation
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -199,6 +199,17 @@ SCM_DEFINE (scm_debug_hang, "debug-hang", 0, 1, 0,
 #undef FUNC_NAME
 #endif
 
+SCM
+scm_local_eval (SCM exp, SCM env)
+{
+  static SCM local_eval_var = SCM_BOOL_F;
+
+  if (scm_is_false (local_eval_var))
+    local_eval_var = scm_c_public_variable ("ice-9 local-eval", "local-eval");
+
+  return scm_call_2 (SCM_VARIABLE_REF (local_eval_var), exp, env);
+}
+
 static void
 init_stack_limit (void)
 {
diff --git a/libguile/debug.h b/libguile/debug.h
index 0749d28..362d9b7 100644
--- a/libguile/debug.h
+++ b/libguile/debug.h
@@ -3,7 +3,7 @@
 #ifndef SCM_DEBUG_H
 #define SCM_DEBUG_H
 
-/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2004,2008,2009,2010,2011
+/* Copyright (C) 
1995,1996,1998,1999,2000,2001,2002,2004,2008,2009,2010,2011,2012
  * Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -41,6 +41,8 @@ typedef union scm_t_debug_info
 
 
 
+SCM_API SCM scm_local_eval (SCM exp, SCM env);
+
 SCM_API SCM scm_reverse_lookup (SCM env, SCM data);
 SCM_API SCM scm_procedure_source (SCM proc);
 SCM_API SCM scm_procedure_name (SCM proc);
diff --git a/libguile/eval.c b/libguile/eval.c
index ad0a84a..5a42b1e 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -24,6 +24,7 @@
 #endif
 
 #include <alloca.h>
+#include <stdarg.h>
 
 #include "libguile/__scm.h"
 
@@ -521,11 +522,56 @@ scm_call_6 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM 
arg4, SCM arg5,
 }
 
 SCM
+scm_call_7 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5,
+            SCM arg6, SCM arg7)
+{
+  SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7 };
+  return scm_c_vm_run (scm_the_vm (), proc, args, 7);
+}
+
+SCM
+scm_call_8 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5,
+            SCM arg6, SCM arg7, SCM arg8)
+{
+  SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8 };
+  return scm_c_vm_run (scm_the_vm (), proc, args, 8);
+}
+
+SCM
+scm_call_9 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4, SCM arg5,
+            SCM arg6, SCM arg7, SCM arg8, SCM arg9)
+{
+  SCM args[] = { arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 };
+  return scm_c_vm_run (scm_the_vm (), proc, args, 9);
+}
+
+SCM
 scm_call_n (SCM proc, SCM *argv, size_t nargs)
 {
   return scm_c_vm_run (scm_the_vm (), proc, argv, nargs);
 }
 
+SCM
+scm_call (SCM proc, ...)
+{
+  va_list argp;
+  SCM *argv = NULL;
+  size_t i, nargs = 0;
+
+  va_start (argp, proc);
+  while (!SCM_UNBNDP (va_arg (argp, SCM)))
+    nargs++;
+  va_end (argp);
+
+  argv = alloca (nargs * sizeof (SCM));
+  va_start (argp, proc);
+  for (i = 0; i < nargs; i++)
+    argv[i] = va_arg (argp, SCM);
+  va_end (argp);
+
+  return scm_c_vm_run (scm_the_vm (), proc, argv, nargs);
+}
+
 /* Simple procedure applies
  */
 
diff --git a/libguile/eval.h b/libguile/eval.h
index f193ad6..014f0de 100644
--- a/libguile/eval.h
+++ b/libguile/eval.h
@@ -72,7 +72,14 @@ SCM_API SCM scm_call_5 (SCM proc, SCM arg1, SCM arg2, SCM 
arg3, SCM arg4,
                         SCM arg5);
 SCM_API SCM scm_call_6 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
                         SCM arg5, SCM arg6);
+SCM_API SCM scm_call_7 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
+                        SCM arg5, SCM arg6, SCM arg7);
+SCM_API SCM scm_call_8 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
+                        SCM arg5, SCM arg6, SCM arg7, SCM arg8);
+SCM_API SCM scm_call_9 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM arg4,
+                        SCM arg5, SCM arg6, SCM arg7, SCM arg8, SCM arg9);
 SCM_API SCM scm_call_n (SCM proc, SCM *argv, size_t nargs);
+SCM_API SCM scm_call   (SCM proc, ...);
 SCM_API SCM scm_apply_0 (SCM proc, SCM args);
 SCM_API SCM scm_apply_1 (SCM proc, SCM arg1, SCM args);
 SCM_API SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args);
diff --git a/libguile/filesys.c b/libguile/filesys.c
index 3856b44..63e5a20 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001, 2002, 2004, 2006, 2009, 2010, 
2011 Free Software Foundation, Inc.
- * 
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2006,
+ *   2009, 2010, 2011, 2012 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
@@ -96,23 +97,9 @@
 #include <pwd.h>
 #endif
 
+#include <dirent.h>
 
-#if HAVE_DIRENT_H
-# include <dirent.h>
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
-# define dirent direct
-# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-#  include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-#  include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-#  include <ndir.h>
-# endif
-#endif
+#define NAMLEN(dirent)  strlen ((dirent)->d_name)
 
 /* Some more definitions for the native Windows port. */
 #ifdef __MINGW32__
@@ -121,15 +108,6 @@
 # define fchmod(fd, mode) (-1)
 #endif /* __MINGW32__ */
 
-/* dirfd() returns the file descriptor underlying a "DIR*" directory stream.
-   Found on MacOS X for instance.  The following definition is for Solaris
-   10, it's probably not right elsewhere, but that's ok, it shouldn't be
-   used elsewhere.  Crib note: If we need more then gnulib has a dirfd.m4
-   figuring out how to get the fd (dirfd function, dirfd macro, dd_fd field,
-   or d_fd field).  */
-#ifndef dirfd
-#define dirfd(dirstream) ((dirstream)->dd_fd)
-#endif
 
 
 
diff --git a/libguile/fluids.c b/libguile/fluids.c
index 0c9c03f..55910b0 100644
--- a/libguile/fluids.c
+++ b/libguile/fluids.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,2000,2001, 2004, 2006, 2007, 2008, 2009, 2010, 2011 
Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,2000,2001, 2004, 2006, 2007, 2008, 2009, 2010, 
2011, 2012 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
@@ -179,7 +179,8 @@ scm_make_fluid (void)
 
 SCM_DEFINE (scm_make_fluid_with_default, "make-fluid", 0, 1, 0, 
            (SCM dflt),
-           "Return a newly created fluid.\n"
+           "Return a newly created fluid, whose initial value is @var{dflt},\n"
+            "or @code{#f} if @var{dflt} is not given.\n"
            "Fluids are objects that can hold one\n"
            "value per dynamic state.  That is, modifications to this value 
are\n"
            "only visible to code that executes with the same dynamic state 
as\n"
diff --git a/libguile/foreign.c b/libguile/foreign.c
index a734f2d..851cded 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010, 2011  Free Software Foundation, Inc.
+/* Copyright (C) 2010, 2011, 2012  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
@@ -266,7 +266,8 @@ SCM_DEFINE (scm_pointer_to_bytevector, 
"pointer->bytevector", 2, 2, 0,
 
   blen = scm_to_size_t (len);
 
-  ret = scm_c_take_typed_bytevector (ptr + boffset, blen, btype, pointer);
+  ret = scm_c_take_typed_bytevector ((signed char *) ptr + boffset,
+                                    blen, btype, pointer);
 
   return ret;
 }
@@ -280,7 +281,7 @@ SCM_DEFINE (scm_bytevector_to_pointer, 
"bytevector->pointer", 1, 1, 0,
 #define FUNC_NAME s_scm_bytevector_to_pointer
 {
   SCM ret;
-  scm_t_int8 *ptr;
+  signed char *ptr;
   size_t boffset;
 
   SCM_VALIDATE_BYTEVECTOR (1, bv);
@@ -315,8 +316,6 @@ SCM_DEFINE (scm_set_pointer_finalizer_x, 
"set-pointer-finalizer!", 2, 0, 0,
 
   c_finalizer = SCM_POINTER_VALUE (finalizer);
 
-  SCM_SET_CELL_WORD_0 (pointer, SCM_CELL_WORD_0 (pointer) | (1 << 16UL));
-
   GC_REGISTER_FINALIZER_NO_ORDER (SCM_HEAP_OBJECT_BASE (pointer),
                                   pointer_finalizer_trampoline,
                                   c_finalizer,
diff --git a/libguile/frames.c b/libguile/frames.c
index b805137..b57b129 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011, 2012 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
@@ -24,9 +24,16 @@
 #include <string.h>
 #include "_scm.h"
 #include "frames.h"
+#include <verify.h>
+
+/* Make sure assumptions on the layout of `struct scm_vm_frame' hold.  */
+verify (sizeof (SCM) == sizeof (SCM *));
+verify (sizeof (struct scm_vm_frame) == 5 * sizeof (SCM));
+verify (offsetof (struct scm_vm_frame, dynamic_link) == 0);
 
 
-#define RELOC(frame, val) (val + SCM_VM_FRAME_OFFSET (frame))
+#define RELOC(frame, val)                              \
+  (((SCM *) (val)) + SCM_VM_FRAME_OFFSET (frame))
 
 SCM
 scm_c_make_frame (SCM stack_holder, SCM *fp, SCM *sp,
diff --git a/libguile/frames.h b/libguile/frames.h
index cae2bd0..71d5b12 100644
--- a/libguile/frames.h
+++ b/libguile/frames.h
@@ -70,9 +70,10 @@ struct scm_vm_frame
   SCM stack[1]; /* Variable-length */
 };
 
-#define SCM_FRAME_STRUCT(fp)           ((struct scm_vm_frame*)(((SCM*)(fp)) - 
4))
+#define SCM_FRAME_STRUCT(fp)                           \
+  ((struct scm_vm_frame *) SCM_FRAME_DATA_ADDRESS (fp))
 
-#define SCM_FRAME_DATA_ADDRESS(fp)     (fp - 4)
+#define SCM_FRAME_DATA_ADDRESS(fp)     (((SCM *) (fp)) - 4)
 #define SCM_FRAME_STACK_ADDRESS(fp)    (SCM_FRAME_STRUCT (fp)->stack)
 #define SCM_FRAME_UPPER_ADDRESS(fp)    ((SCM*)&SCM_FRAME_STRUCT 
(fp)->return_address)
 #define SCM_FRAME_LOWER_ADDRESS(fp)    ((SCM*)SCM_FRAME_STRUCT (fp))
@@ -91,7 +92,7 @@ struct scm_vm_frame
 #define SCM_FRAME_DYNAMIC_LINK(fp)              \
   (SCM_FRAME_STRUCT (fp)->dynamic_link)
 #define SCM_FRAME_SET_DYNAMIC_LINK(fp, dl)      \
-  SCM_FRAME_STRUCT (fp)->dynamic_link = (dl)
+  SCM_FRAME_DYNAMIC_LINK (fp) = (dl)
 #define SCM_FRAME_VARIABLE(fp,i)                \
   (SCM_FRAME_STRUCT (fp)->stack[i])
 #define SCM_FRAME_PROGRAM(fp)                   \
diff --git a/libguile/gc.c b/libguile/gc.c
index 5f61a1d..6d44f5e 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -227,6 +227,10 @@ scm_t_c_hook scm_after_gc_c_hook;
 static void
 run_before_gc_c_hook (void)
 {
+  if (!SCM_I_CURRENT_THREAD)
+    /* GC while a thread is spinning up; punt.  */
+    return;
+
   scm_c_hook_run (&scm_before_gc_c_hook, NULL);
 }
 
diff --git a/libguile/hashtab.c b/libguile/hashtab.c
index 4091afe..e640642 100644
--- a/libguile/hashtab.c
+++ b/libguile/hashtab.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2003, 2004, 2006, 2008, 2009, 
2010, 2011 Free Software Foundation, Inc.
- * 
+/* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2006,
+ *   2008, 2009, 2010, 2011, 2012 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
@@ -168,6 +169,8 @@ void
 scm_i_hashtable_print (SCM exp, SCM port, scm_print_state *pstate)
 {
   scm_puts_unlocked ("#<hash-table ", port);
+  scm_uintprint (SCM_UNPACK (exp), 16, port);
+  scm_putc (' ', port);
   scm_uintprint (SCM_HASHTABLE_N_ITEMS (exp), 10, port);
   scm_putc_unlocked ('/', port);
   scm_uintprint (SCM_SIMPLE_VECTOR_LENGTH (SCM_HASHTABLE_VECTOR (exp)),
diff --git a/libguile/i18n.c b/libguile/i18n.c
index f833e5d..5a53bfa 100644
--- a/libguile/i18n.c
+++ b/libguile/i18n.c
@@ -645,6 +645,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0,
   c_locale = newlocale (c_category_mask, c_locale_name, c_base_locale);
 
   free (c_locale_name);
+  c_locale_name = NULL;
 
   if (c_locale == (locale_t) 0)
     {
@@ -662,6 +663,7 @@ SCM_DEFINE (scm_make_locale, "make-locale", 2, 1, 0,
   c_locale->category_mask = c_category_mask;
   c_locale->locale_name = scm_gc_strdup (c_locale_name, "locale");
   free (c_locale_name);
+  c_locale_name = NULL;
 
   if (scm_is_eq (base_locale, SCM_VARIABLE_REF (scm_global_locale)))
     {
@@ -1652,6 +1654,7 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinfo", 1, 1, 0,
            default:
              result = scm_from_latin1_symbol ("unspecified");
            }
+         free (c_result);
          break;
 #endif
 
@@ -1744,13 +1747,23 @@ define_langinfo_items (void)
   DEFINE_NLITEM_CONSTANT (T_FMT);   /* Time format for strftime.  */
   DEFINE_NLITEM_CONSTANT (T_FMT_AMPM);/* 12-hour time format for strftime.  */
 
+#ifdef ERA
   DEFINE_NLITEM_CONSTANT (ERA);                /* Alternate era.  */
+#endif
+#ifdef ERA_D_FMT
   DEFINE_NLITEM_CONSTANT (ERA_D_FMT);  /* Date in alternate era format.  */
+#endif
+#ifdef ERA_D_T_FMT
   DEFINE_NLITEM_CONSTANT (ERA_D_T_FMT);        /* Date and time in alternate 
era
                                           format.  */
+#endif
+#ifdef ERA_T_FMT
   DEFINE_NLITEM_CONSTANT (ERA_T_FMT);  /* Time in alternate era format.  */
+#endif
 
+#ifdef ALT_DIGITS
   DEFINE_NLITEM_CONSTANT (ALT_DIGITS); /* Alternate symbols for digits.  */
+#endif
   DEFINE_NLITEM_CONSTANT (RADIXCHAR);
   DEFINE_NLITEM_CONSTANT (THOUSEP);
 
diff --git a/libguile/macros.c b/libguile/macros.c
index 7423e97..34aa60c 100644
--- a/libguile/macros.c
+++ b/libguile/macros.c
@@ -177,12 +177,46 @@ SCM_DEFINE (scm_macro_binding, "macro-binding", 1, 0, 0,
 #undef FUNC_NAME
 
 
+static SCM syntax_session_id;
+
+#define SESSION_ID_LENGTH      22  /* bytes */
+#define BASE64_RADIX_BITS  6
+#define BASE64_RADIX       (1 << (BASE64_RADIX_BITS))
+#define BASE64_MASK        (BASE64_RADIX - 1)
+
+static SCM
+fresh_syntax_session_id (void)
+{
+  static const char base64[BASE64_RADIX] =
+    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789$@";
+
+  unsigned char digit_buf[SESSION_ID_LENGTH];
+  char char_buf[SESSION_ID_LENGTH];
+  size_t i;
+
+  scm_i_random_bytes_from_platform (digit_buf, SESSION_ID_LENGTH);
+  for (i = 0; i < SESSION_ID_LENGTH; ++i)
+    char_buf[i] = base64[digit_buf[i] & BASE64_MASK];
+
+  return scm_from_latin1_stringn (char_buf, SESSION_ID_LENGTH);
+}
+
+static SCM
+scm_syntax_session_id (void)
+{
+  return syntax_session_id;
+}
+
+
 void
 scm_init_macros ()
 {
   scm_tc16_macro = scm_make_smob_type ("macro", 0);
   scm_set_smob_print (scm_tc16_macro, macro_print);
 #include "libguile/macros.x"
+
+  syntax_session_id = fresh_syntax_session_id();
+  scm_c_define_gsubr ("syntax-session-id", 0, 0, 0, scm_syntax_session_id);
 }
 
 /*
diff --git a/libguile/print.c b/libguile/print.c
index a1c36eb..b800362 100644
--- a/libguile/print.c
+++ b/libguile/print.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995-1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008,
- *   2009, 2010, 2011 Free Software Foundation, Inc.
+ *   2009, 2010, 2011, 2012 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
@@ -654,6 +654,7 @@ iprin1 (SCM exp, SCM port, scm_print_state *pstate)
        case scm_tc7_array:
          ENTER_NESTED_DATA (pstate, exp, circref);
           scm_i_print_array (exp, port, pstate);
+          EXIT_NESTED_DATA (pstate);
           break;
        case scm_tc7_bytevector:
          scm_i_print_bytevector (exp, port, pstate);
diff --git a/libguile/random.c b/libguile/random.c
index 8bc0d87..2db19f7 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -653,6 +653,107 @@ SCM_DEFINE (scm_random_exp, "random:exp", 0, 1, 0,
 }
 #undef FUNC_NAME
 
+/* Return a new random-state seeded from the time, date, process ID, an
+   address from a freshly allocated heap cell, an address from the local
+   stack frame, and a high-resolution timer if available.  This is only
+   to be used as a last resort, when no better source of entropy is
+   available. */
+static SCM
+random_state_of_last_resort (void)
+{
+  SCM state;
+  SCM time_of_day = scm_gettimeofday ();
+  SCM sources = scm_list_n
+    (scm_from_unsigned_integer (SCM_UNPACK (time_of_day)),  /* heap addr */
+     scm_getpid (),         /* process ID */
+     scm_get_internal_real_time (), /* high-resolution process timer */
+     scm_from_unsigned_integer ((scm_t_bits) &time_of_day), /* stack addr */
+     scm_car (time_of_day), /* seconds since midnight 1970-01-01 UTC */
+     scm_cdr (time_of_day), /* microsecond component of the above clock */
+     SCM_UNDEFINED);
+
+  /* Concatenate the sources bitwise to form the seed */
+  SCM seed = SCM_INUM0;
+  while (scm_is_pair (sources))
+    {
+      seed = scm_logxor (seed, scm_ash (scm_car (sources),
+                                        scm_integer_length (seed)));
+      sources = scm_cdr (sources);
+    }
+
+  /* FIXME The following code belongs in `scm_seed_to_random_state',
+     and here we should simply do:
+
+       return scm_seed_to_random_state (seed);
+
+     Unfortunately, `scm_seed_to_random_state' only preserves around 32
+     bits of entropy from the provided seed.  I don't know if it's okay
+     to fix that in 2.0, so for now we have this workaround. */
+  {
+    int i, len;
+    unsigned char *buf;
+    len = scm_to_int (scm_ceiling_quotient (scm_integer_length (seed),
+                                            SCM_I_MAKINUM (8)));
+    buf = (unsigned char *) malloc (len);
+    for (i = len-1; i >= 0; --i)
+      {
+        buf[i] = scm_to_int (scm_logand (seed, SCM_I_MAKINUM (255)));
+        seed = scm_ash (seed, SCM_I_MAKINUM (-8));
+      }
+    state = make_rstate (scm_c_make_rstate ((char *) buf, len));
+    free (buf);
+  }
+  return state;
+}
+
+/* Attempt to fill buffer with random bytes from /dev/urandom.
+   Return 1 if successful, else return 0. */
+static int
+read_dev_urandom (unsigned char *buf, size_t len)
+{
+  size_t res = 0;
+  FILE *f = fopen ("/dev/urandom", "r");
+  if (f)
+    {
+      res = fread(buf, 1, len, f);
+      fclose (f);
+    }
+  return (res == len);
+}
+
+/* Fill a buffer with random bytes seeded from a platform-specific
+   source of entropy.  /dev/urandom is used if available.  Note that
+   this function provides no guarantees about the amount of entropy
+   present in the returned bytes. */
+void
+scm_i_random_bytes_from_platform (unsigned char *buf, size_t len)
+{
+  if (read_dev_urandom (buf, len))
+    return;
+  else  /* FIXME: support other platform sources */
+    {
+      /* When all else fails, use this (rather weak) fallback */
+      SCM random_state = random_state_of_last_resort ();
+      int i;
+      for (i = len-1; i >= 0; --i)
+        buf[i] = scm_to_int (scm_random (SCM_I_MAKINUM (256), random_state));
+    }
+}
+
+SCM_DEFINE (scm_random_state_from_platform, "random-state-from-platform", 0, 
0, 0,
+            (void),
+            "Construct a new random state seeded from a platform-specific\n\
+source of entropy, appropriate for use in non-security-critical applications.")
+#define FUNC_NAME s_scm_random_state_from_platform
+{
+  unsigned char buf[32];
+  if (read_dev_urandom (buf, sizeof(buf)))
+    return make_rstate (scm_c_make_rstate ((char *) buf, sizeof(buf)));
+  else
+    return random_state_of_last_resort ();
+}
+#undef FUNC_NAME
+
 void
 scm_init_random ()
 {
diff --git a/libguile/random.h b/libguile/random.h
index 2f1f0f6..109969e 100644
--- a/libguile/random.h
+++ b/libguile/random.h
@@ -86,6 +86,7 @@ SCM_API SCM scm_copy_random_state (SCM state);
 SCM_API SCM scm_seed_to_random_state (SCM seed);
 SCM_API SCM scm_datum_to_random_state (SCM datum);
 SCM_API SCM scm_random_state_to_datum (SCM state);
+SCM_API SCM scm_random_state_from_platform (void);
 SCM_API SCM scm_random_uniform (SCM state);
 SCM_API SCM scm_random_solid_sphere_x (SCM v, SCM state);
 SCM_API SCM scm_random_hollow_sphere_x (SCM v, SCM state);
@@ -94,6 +95,8 @@ SCM_API SCM scm_random_normal_vector_x (SCM v, SCM state);
 SCM_API SCM scm_random_exp (SCM state);
 SCM_INTERNAL void scm_init_random (void);
 
+SCM_INTERNAL void scm_i_random_bytes_from_platform (unsigned char *buf, size_t 
len);
+
 #endif  /* SCM_RANDOM_H */
 
 /*
diff --git a/libguile/strings.c b/libguile/strings.c
index cb883fa..cdd43e1 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -267,8 +267,22 @@ SCM scm_nullstr;
 SCM
 scm_i_make_string (size_t len, char **charsp, int read_only_p)
 {
-  SCM buf = make_stringbuf (len);
+  static SCM null_stringbuf = SCM_BOOL_F;
+  SCM buf;
   SCM res;
+
+  if (len == 0)
+    {
+      if (SCM_UNLIKELY (scm_is_false (null_stringbuf)))
+        {
+          null_stringbuf = make_stringbuf (0);
+          SET_STRINGBUF_SHARED (null_stringbuf);
+        }
+      buf = null_stringbuf;
+    }
+  else
+    buf = make_stringbuf (len);
+
   if (charsp)
     *charsp = (char *) STRINGBUF_CHARS (buf);
   res = scm_double_cell (read_only_p ? RO_STRING_TAG : STRING_TAG,
@@ -320,37 +334,48 @@ get_str_buf_start (SCM *str, SCM *buf, size_t *start)
 SCM
 scm_i_substring (SCM str, size_t start, size_t end)
 {
-  SCM buf;
-  size_t str_start;
-  get_str_buf_start (&str, &buf, &str_start);
-  scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
-  SET_STRINGBUF_SHARED (buf);
-  scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
-  return scm_double_cell (STRING_TAG, SCM_UNPACK(buf),
-                         (scm_t_bits)str_start + start,
-                         (scm_t_bits) end - start);
+  if (start == end)
+    return scm_i_make_string (0, NULL, 0);
+  else
+    {
+      SCM buf;
+      size_t str_start;
+      get_str_buf_start (&str, &buf, &str_start);
+      scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
+      SET_STRINGBUF_SHARED (buf);
+      scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
+      return scm_double_cell (STRING_TAG, SCM_UNPACK(buf),
+                              (scm_t_bits)str_start + start,
+                              (scm_t_bits) end - start);
+    }
 }
 
 SCM
 scm_i_substring_read_only (SCM str, size_t start, size_t end)
 {
-  SCM buf;
-  size_t str_start;
-  get_str_buf_start (&str, &buf, &str_start);
-  scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
-  SET_STRINGBUF_SHARED (buf);
-  scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
-  return scm_double_cell (RO_STRING_TAG, SCM_UNPACK(buf),
-                         (scm_t_bits)str_start + start,
-                         (scm_t_bits) end - start);
+  if (start == end)
+    return scm_i_make_string (0, NULL, 1);
+  else
+    {
+      SCM buf;
+      size_t str_start;
+      get_str_buf_start (&str, &buf, &str_start);
+      scm_i_pthread_mutex_lock (&stringbuf_write_mutex);
+      SET_STRINGBUF_SHARED (buf);
+      scm_i_pthread_mutex_unlock (&stringbuf_write_mutex);
+      return scm_double_cell (RO_STRING_TAG, SCM_UNPACK(buf),
+                              (scm_t_bits)str_start + start,
+                              (scm_t_bits) end - start);
+    }
 }
 
 SCM
 scm_i_substring_copy (SCM str, size_t start, size_t end)
 {
   size_t len = end - start;
-  SCM buf, my_buf;
+  SCM buf, my_buf, substr;
   size_t str_start;
+  int wide = 0;
   get_str_buf_start (&str, &buf, &str_start);
   if (scm_i_is_narrow_string (str))
     {
@@ -364,12 +389,14 @@ scm_i_substring_copy (SCM str, size_t start, size_t end)
       u32_cpy ((scm_t_uint32 *) STRINGBUF_WIDE_CHARS (my_buf),
                (scm_t_uint32 *) (STRINGBUF_WIDE_CHARS (buf) + str_start 
                                  + start), len);
-      /* Even though this string is wide, the substring may be narrow.
-         Consider adding code to narrow the string.  */
+      wide = 1;
     }
   scm_remember_upto_here_1 (buf);
-  return scm_double_cell (STRING_TAG, SCM_UNPACK (my_buf),
-                          (scm_t_bits) 0, (scm_t_bits) len);
+  substr = scm_double_cell (STRING_TAG, SCM_UNPACK (my_buf),
+                            (scm_t_bits) 0, (scm_t_bits) len);
+  if (wide)
+    scm_i_try_narrow_string (substr);
+  return substr;
 }
 
 SCM
@@ -377,7 +404,9 @@ scm_i_substring_shared (SCM str, size_t start, size_t end)
 {
   if (start == 0 && end == STRING_LENGTH (str))
     return str;
-  else 
+  else if (start == end)
+    return scm_i_make_string (0, NULL, 0);
+  else
     {
       size_t len = end - start;
       if (IS_SH_STRING (str))
@@ -1489,12 +1518,10 @@ scm_from_stringn (const char *str, size_t len, const 
char *encoding,
     scm_misc_error ("scm_from_stringn", "NULL string pointer", SCM_EOL);
   if (len == (size_t) -1)
     len = strlen (str);
-  if (len == 0)
-    return scm_nullstr;
 
-  if (encoding == NULL)
+  if (encoding == NULL || len == 0)
     {
-      /* If encoding is null, use Latin-1.  */
+      /* If encoding is null (or the string is empty), use Latin-1.  */
       char *buf;
       res = scm_i_make_string (len, &buf, 0);
       memcpy (buf, str, len);
diff --git a/libguile/threads.c b/libguile/threads.c
index 0dba50f..463414f 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -550,7 +550,7 @@ guilify_self_1 (struct GC_stack_base *base)
   t.critical_section_level = 0;
   t.base = base->mem_base;
 #ifdef __ia64__
-  t.register_backing_store_base = base->reg-base;
+  t.register_backing_store_base = base->reg_base;
 #endif
   t.continuation_root = SCM_EOL;
   t.continuation_base = t.base;
@@ -1127,6 +1127,8 @@ scm_spawn_thread (scm_t_catch_body body, void *body_data,
   scm_i_scm_pthread_cond_wait (&data.cond, &data.mutex);
   scm_i_pthread_mutex_unlock (&data.mutex);
 
+  assert (SCM_I_IS_THREAD (data.thread));
+
   return data.thread;
 }
 
diff --git a/libguile/values.c b/libguile/values.c
index 005be50..fdd9359 100644
--- a/libguile/values.c
+++ b/libguile/values.c
@@ -67,6 +67,31 @@ print_values (SCM obj, SCM pwps)
   return SCM_UNSPECIFIED;
 }
 
+SCM
+scm_c_value_ref (SCM obj, size_t idx)
+{
+  if (SCM_LIKELY (SCM_VALUESP (obj)))
+    {
+      SCM values = scm_struct_ref (obj, SCM_INUM0);
+      size_t i = idx;
+      while (SCM_LIKELY (scm_is_pair (values)))
+        {
+          if (i == 0)
+            return SCM_CAR (values);
+          values = SCM_CDR (values);
+          i--;
+        }
+    }
+  else if (idx == 0)
+    return obj;
+
+  scm_error (scm_out_of_range_key,
+            "scm_c_value_ref",
+            "Too few values in ~S to access index ~S",
+             scm_list_2 (obj, scm_from_unsigned_integer (idx)),
+             scm_list_1 (scm_from_unsigned_integer (idx)));
+}
+
 SCM_DEFINE (scm_values, "values", 0, 0, 1,
            (SCM args),
            "Delivers all of its arguments to its continuation.  Except for\n"
diff --git a/libguile/values.h b/libguile/values.h
index 65ad8a1..5f79855 100644
--- a/libguile/values.h
+++ b/libguile/values.h
@@ -33,6 +33,7 @@ SCM_API SCM scm_values_vtable;
 SCM_INTERNAL void scm_i_extract_values_2 (SCM obj, SCM *p1, SCM *p2);
 
 SCM_API SCM scm_values (SCM args);
+SCM_API SCM scm_c_value_ref (SCM values, size_t idx);
 SCM_INTERNAL void scm_init_values (void);
 
 #endif  /* SCM_VALUES_H */
diff --git a/libguile/vm.c b/libguile/vm.c
index 8596588..e386202 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011, 2012 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
@@ -280,7 +280,8 @@ vm_reinstate_partial_continuation (SCM vm, SCM cont, SCM 
intwinds,
   cp = SCM_VM_CONT_DATA (cont);
   base = SCM_FRAME_UPPER_ADDRESS (vp->fp) + 1;
 
-#define RELOC(scm_p) (scm_p + cp->reloc + (base - cp->stack_base))
+#define RELOC(scm_p)                                           \
+  (((SCM *) (scm_p)) + cp->reloc + (base - cp->stack_base))
 
   if ((base - vp->stack_base) + cp->stack_size + n + 1 > vp->stack_size)
     scm_misc_error ("vm-engine",
diff --git a/m4/00gnulib.m4 b/m4/00gnulib.m4
index 7feed46..d978cb8 100644
--- a/m4/00gnulib.m4
+++ b/m4/00gnulib.m4
@@ -1,5 +1,5 @@
 # 00gnulib.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 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.
diff --git a/m4/absolute-header.m4 b/m4/absolute-header.m4
index 400de55..8a91d20 100644
--- a/m4/absolute-header.m4
+++ b/m4/absolute-header.m4
@@ -1,5 +1,5 @@
 # absolute-header.m4 serial 16
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 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.
@@ -10,12 +10,12 @@ dnl From Derek Price.
 # ---------------------------------------
 # Find the absolute name of a header file, testing first if the header exists.
 # If the header were sys/inttypes.h, this macro would define
-# ABSOLUTE_SYS_INTTYPES_H to the `""' quoted absolute name of sys/inttypes.h
+# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
 # in config.h
-# (e.g. `#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
+# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
 # The three "///" are to pacify Sun C 5.8, which otherwise would say
 # "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
 # Note: This macro assumes that the header file is not empty after
 # preprocessing, i.e. it does not only define preprocessor macros but also
 # provides some type/enum definitions or function/variable declarations.
diff --git a/m4/alloca.m4 b/m4/alloca.m4
index a8744a8..656924b 100644
--- a/m4/alloca.m4
+++ b/m4/alloca.m4
@@ -1,5 +1,5 @@
-# alloca.m4 serial 13
-dnl Copyright (C) 2002-2004, 2006-2007, 2009-2011 Free Software Foundation,
+# alloca.m4 serial 14
+dnl Copyright (C) 2002-2004, 2006-2007, 2009-2012 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -53,8 +53,8 @@ m4_version_prereq([2.69], [] ,[
 
 # _AC_LIBOBJ_ALLOCA
 # -----------------
-# Set up the LIBOBJ replacement of `alloca'.  Well, not exactly
-# AC_LIBOBJ since we actually set the output variable `ALLOCA'.
+# Set up the LIBOBJ replacement of 'alloca'.  Well, not exactly
+# AC_LIBOBJ since we actually set the output variable 'ALLOCA'.
 # Nevertheless, for Automake, AC_LIBSOURCES it.
 m4_define([_AC_LIBOBJ_ALLOCA],
 [# The SVR3 libPW and SVR4 libucb both contain incompatible functions
@@ -63,9 +63,9 @@ m4_define([_AC_LIBOBJ_ALLOCA],
 # use ar to extract alloca.o from them instead of compiling alloca.c.
 AC_LIBSOURCES(alloca.c)
 AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
-AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using `alloca.c'.])
+AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.])
 
-AC_CACHE_CHECK(whether `alloca.c' needs Cray hooks, ac_cv_os_cray,
+AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray,
 [AC_EGREP_CPP(webecray,
 [#if defined CRAY && ! defined CRAY2
 webecray
@@ -77,10 +77,10 @@ if test $ac_cv_os_cray = yes; then
   for ac_func in _getb67 GETB67 getb67; do
     AC_CHECK_FUNC($ac_func,
                   [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func,
-                                      [Define to one of `_getb67', `GETB67',
-                                       `getb67' for Cray-2 and Cray-YMP
+                                      [Define to one of '_getb67', 'GETB67',
+                                       'getb67' for Cray-2 and Cray-YMP
                                        systems. This function is required for
-                                       `alloca.c' support on those systems.])
+                                       'alloca.c' support on those systems.])
     break])
   done
 fi
diff --git a/m4/arpa_inet_h.m4 b/m4/arpa_inet_h.m4
index 1df7401..36915d1 100644
--- a/m4/arpa_inet_h.m4
+++ b/m4/arpa_inet_h.m4
@@ -1,5 +1,5 @@
 # arpa_inet_h.m4 serial 13
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2012 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.
diff --git a/m4/autobuild.m4 b/m4/autobuild.m4
index 04971d4..284dc60 100644
--- a/m4/autobuild.m4
+++ b/m4/autobuild.m4
@@ -1,5 +1,5 @@
 # autobuild.m4 serial 7
-dnl Copyright (C) 2004, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006-2012 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.
diff --git a/m4/byteswap.m4 b/m4/byteswap.m4
index 2d4de46..f3b7ec9 100644
--- a/m4/byteswap.m4
+++ b/m4/byteswap.m4
@@ -1,5 +1,5 @@
 # byteswap.m4 serial 4
-dnl Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2012 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.
diff --git a/m4/canonicalize.m4 b/m4/canonicalize.m4
index ba7a38b..623253f 100644
--- a/m4/canonicalize.m4
+++ b/m4/canonicalize.m4
@@ -1,6 +1,6 @@
 # canonicalize.m4 serial 23
 
-dnl Copyright (C) 2003-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2007, 2009-2012 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/ceil.m4 b/m4/ceil.m4
index b905297..fd9ac4c 100644
--- a/m4/ceil.m4
+++ b/m4/ceil.m4
@@ -1,5 +1,5 @@
 # ceil.m4 serial 8
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/check-math-lib.m4 b/m4/check-math-lib.m4
index 30bd2e4..0b77d8f 100644
--- a/m4/check-math-lib.m4
+++ b/m4/check-math-lib.m4
@@ -1,5 +1,5 @@
 # check-math-lib.m4 serial 3
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/close.m4 b/m4/close.m4
index f860a32..379e70d 100644
--- a/m4/close.m4
+++ b/m4/close.m4
@@ -1,5 +1,5 @@
 # close.m4 serial 8
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/codeset.m4 b/m4/codeset.m4
index da73552..cf53d24 100644
--- a/m4/codeset.m4
+++ b/m4/codeset.m4
@@ -1,5 +1,5 @@
 # codeset.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2006, 2008-2012 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.
diff --git a/m4/configmake.m4 b/m4/configmake.m4
index a029823..8c82371 100644
--- a/m4/configmake.m4
+++ b/m4/configmake.m4
@@ -1,5 +1,5 @@
 # configmake.m4 serial 1
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 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.
diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4
new file mode 100644
index 0000000..f6c0fa7
--- /dev/null
+++ b/m4/dirent_h.m4
@@ -0,0 +1,64 @@
+# dirent_h.m4 serial 16
+dnl Copyright (C) 2008-2012 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.
+
+dnl Written by Bruno Haible.
+
+AC_DEFUN([gl_DIRENT_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+
+  dnl <dirent.h> is always overridden, because of GNULIB_POSIXCHECK.
+  gl_CHECK_NEXT_HEADERS([dirent.h])
+  if test $ac_cv_header_dirent_h = yes; then
+    HAVE_DIRENT_H=1
+  else
+    HAVE_DIRENT_H=0
+  fi
+  AC_SUBST([HAVE_DIRENT_H])
+
+  dnl Check for declarations of anything we want to poison if the
+  dnl corresponding gnulib module is not in use.
+  gl_WARN_ON_USE_PREPARE([[#include <dirent.h>
+    ]], [alphasort closedir dirfd fdopendir opendir readdir rewinddir scandir])
+])
+
+AC_DEFUN([gl_DIRENT_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
+  dnl Define it also as a C macro, for the benefit of the unit tests.
+  gl_MODULE_INDICATOR_FOR_TESTS([$1])
+])
+
+AC_DEFUN([gl_DIRENT_H_DEFAULTS],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
+  GNULIB_OPENDIR=0;     AC_SUBST([GNULIB_OPENDIR])
+  GNULIB_READDIR=0;     AC_SUBST([GNULIB_READDIR])
+  GNULIB_REWINDDIR=0;   AC_SUBST([GNULIB_REWINDDIR])
+  GNULIB_CLOSEDIR=0;    AC_SUBST([GNULIB_CLOSEDIR])
+  GNULIB_DIRFD=0;       AC_SUBST([GNULIB_DIRFD])
+  GNULIB_FDOPENDIR=0;   AC_SUBST([GNULIB_FDOPENDIR])
+  GNULIB_SCANDIR=0;     AC_SUBST([GNULIB_SCANDIR])
+  GNULIB_ALPHASORT=0;   AC_SUBST([GNULIB_ALPHASORT])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_OPENDIR=1;       AC_SUBST([HAVE_OPENDIR])
+  HAVE_READDIR=1;       AC_SUBST([HAVE_READDIR])
+  HAVE_REWINDDIR=1;     AC_SUBST([HAVE_REWINDDIR])
+  HAVE_CLOSEDIR=1;      AC_SUBST([HAVE_CLOSEDIR])
+  HAVE_DECL_DIRFD=1;    AC_SUBST([HAVE_DECL_DIRFD])
+  HAVE_DECL_FDOPENDIR=1;AC_SUBST([HAVE_DECL_FDOPENDIR])
+  HAVE_FDOPENDIR=1;     AC_SUBST([HAVE_FDOPENDIR])
+  HAVE_SCANDIR=1;       AC_SUBST([HAVE_SCANDIR])
+  HAVE_ALPHASORT=1;     AC_SUBST([HAVE_ALPHASORT])
+  REPLACE_OPENDIR=0;    AC_SUBST([REPLACE_OPENDIR])
+  REPLACE_CLOSEDIR=0;   AC_SUBST([REPLACE_CLOSEDIR])
+  REPLACE_DIRFD=0;      AC_SUBST([REPLACE_DIRFD])
+  REPLACE_FDOPENDIR=0;  AC_SUBST([REPLACE_FDOPENDIR])
+])
diff --git a/m4/dirfd.m4 b/m4/dirfd.m4
new file mode 100644
index 0000000..fc475d7
--- /dev/null
+++ b/m4/dirfd.m4
@@ -0,0 +1,83 @@
+# serial 22   -*- Autoconf -*-
+
+dnl Find out how to get the file descriptor associated with an open DIR*.
+
+# Copyright (C) 2001-2006, 2008-2012 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 Jim Meyering
+
+AC_DEFUN([gl_FUNC_DIRFD],
+[
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+
+  dnl Persuade glibc <dirent.h> to declare dirfd().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_CHECK_FUNCS([dirfd])
+  AC_CHECK_DECLS([dirfd], , ,
+    [[#include <sys/types.h>
+      #include <dirent.h>]])
+  if test $ac_cv_have_decl_dirfd = no; then
+    HAVE_DECL_DIRFD=0
+  fi
+
+  AC_CACHE_CHECK([whether dirfd is a macro],
+    gl_cv_func_dirfd_macro,
+    [AC_EGREP_CPP([dirent_header_defines_dirfd], [
+#include <sys/types.h>
+#include <dirent.h>
+#ifdef dirfd
+ dirent_header_defines_dirfd
+#endif],
+       gl_cv_func_dirfd_macro=yes,
+       gl_cv_func_dirfd_macro=no)])
+
+  # Use the replacement only if we have no function or macro with that name.
+  if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
+    if test $ac_cv_have_decl_dirfd = yes; then
+      # If the system declares dirfd already, let's declare rpl_dirfd instead.
+      REPLACE_DIRFD=1
+    fi
+  fi
+])
+
+dnl Prerequisites of lib/dirfd.c.
+AC_DEFUN([gl_PREREQ_DIRFD],
+[
+  AC_CACHE_CHECK([how to get the file descriptor associated with an open DIR*],
+                 [gl_cv_sys_dir_fd_member_name],
+    [
+      dirfd_save_CFLAGS=$CFLAGS
+      for ac_expr in d_fd dd_fd; do
+
+        CFLAGS="$CFLAGS -DDIR_FD_MEMBER_NAME=$ac_expr"
+        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+           #include <sys/types.h>
+           #include <dirent.h>]],
+          [[DIR *dir_p = opendir("."); (void) dir_p->DIR_FD_MEMBER_NAME;]])],
+          [dir_fd_found=yes]
+        )
+        CFLAGS=$dirfd_save_CFLAGS
+        test "$dir_fd_found" = yes && break
+      done
+      test "$dir_fd_found" = yes || ac_expr=no_such_member
+
+      gl_cv_sys_dir_fd_member_name=$ac_expr
+    ]
+  )
+  if test $gl_cv_sys_dir_fd_member_name != no_such_member; then
+    AC_DEFINE_UNQUOTED([DIR_FD_MEMBER_NAME],
+      [$gl_cv_sys_dir_fd_member_name],
+      [the name of the file descriptor member of DIR])
+  fi
+  AH_VERBATIM([DIR_TO_FD],
+              [#ifdef DIR_FD_MEMBER_NAME
+# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
+#else
+# define DIR_TO_FD(Dir_p) -1
+#endif
+])
+])
diff --git a/m4/dirname.m4 b/m4/dirname.m4
index dcec7e4..65639ec 100644
--- a/m4/dirname.m4
+++ b/m4/dirname.m4
@@ -1,5 +1,5 @@
 #serial 10   -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2012 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.
diff --git a/m4/double-slash-root.m4 b/m4/double-slash-root.m4
index 16a4e3e..1e03751 100644
--- a/m4/double-slash-root.m4
+++ b/m4/double-slash-root.m4
@@ -1,5 +1,5 @@
 # double-slash-root.m4 serial 4   -*- Autoconf -*-
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2012 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.
diff --git a/m4/duplocale.m4 b/m4/duplocale.m4
index cfb7f4b..6096f5c 100644
--- a/m4/duplocale.m4
+++ b/m4/duplocale.m4
@@ -1,5 +1,5 @@
 # duplocale.m4 serial 7
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 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.
diff --git a/m4/eealloc.m4 b/m4/eealloc.m4
index 3006c48..75f17e2 100644
--- a/m4/eealloc.m4
+++ b/m4/eealloc.m4
@@ -1,5 +1,5 @@
 # eealloc.m4 serial 2
-dnl Copyright (C) 2003, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2009-2012 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.
diff --git a/m4/environ.m4 b/m4/environ.m4
index 6c7982f..8eb57c9 100644
--- a/m4/environ.m4
+++ b/m4/environ.m4
@@ -1,5 +1,5 @@
 # environ.m4 serial 6
-dnl Copyright (C) 2001-2004, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2004, 2006-2012 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.
diff --git a/m4/errno_h.m4 b/m4/errno_h.m4
index 560adba..4f0bb83 100644
--- a/m4/errno_h.m4
+++ b/m4/errno_h.m4
@@ -1,5 +1,5 @@
 # errno_h.m4 serial 10
-dnl Copyright (C) 2004, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2008-2012 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.
diff --git a/m4/exponentd.m4 b/m4/exponentd.m4
index 7e91924..48df999 100644
--- a/m4/exponentd.m4
+++ b/m4/exponentd.m4
@@ -1,5 +1,5 @@
 # exponentd.m4 serial 2
-dnl Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2012 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.
diff --git a/m4/exponentf.m4 b/m4/exponentf.m4
index 3a00840..94d1167 100644
--- a/m4/exponentf.m4
+++ b/m4/exponentf.m4
@@ -1,5 +1,5 @@
 # exponentf.m4 serial 2
-dnl Copyright (C) 2007-2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008, 2010-2012 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.
diff --git a/m4/exponentl.m4 b/m4/exponentl.m4
index 2e706b2..a7cd13b 100644
--- a/m4/exponentl.m4
+++ b/m4/exponentl.m4
@@ -1,5 +1,5 @@
 # exponentl.m4 serial 3
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/extensions.m4 b/m4/extensions.m4
index 22156e0..0bfaef6 100644
--- a/m4/extensions.m4
+++ b/m4/extensions.m4
@@ -1,7 +1,7 @@
-# serial 10  -*- Autoconf -*-
+# serial 11  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2012 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.
@@ -43,7 +43,7 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
   AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
   if test "$MINIX" = yes; then
     AC_DEFINE([_POSIX_SOURCE], [1],
-      [Define to 1 if you need to in order for `stat' and other
+      [Define to 1 if you need to in order for 'stat' and other
        things to work.])
     AC_DEFINE([_POSIX_1_SOURCE], [2],
       [Define to 2 if the system does not provide POSIX.1 features
diff --git a/m4/fcntl-o.m4 b/m4/fcntl-o.m4
index bee6edc..9862741 100644
--- a/m4/fcntl-o.m4
+++ b/m4/fcntl-o.m4
@@ -1,5 +1,5 @@
 # fcntl-o.m4 serial 4
-dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2012 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.
diff --git a/m4/fcntl_h.m4 b/m4/fcntl_h.m4
index 03a41e6..cac28ae 100644
--- a/m4/fcntl_h.m4
+++ b/m4/fcntl_h.m4
@@ -1,6 +1,6 @@
 # serial 15
 # Configure fcntl.h.
-dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2007, 2009-2012 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.
diff --git a/m4/float_h.m4 b/m4/float_h.m4
index 0420e06..51c9c7b 100644
--- a/m4/float_h.m4
+++ b/m4/float_h.m4
@@ -1,5 +1,5 @@
 # float_h.m4 serial 9
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/flock.m4 b/m4/flock.m4
index c1b64c8..7746883 100644
--- a/m4/flock.m4
+++ b/m4/flock.m4
@@ -1,5 +1,5 @@
 # flock.m4 serial 3
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/floor.m4 b/m4/floor.m4
index 5de0da2..501d636 100644
--- a/m4/floor.m4
+++ b/m4/floor.m4
@@ -1,5 +1,5 @@
 # floor.m4 serial 7
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/fpieee.m4 b/m4/fpieee.m4
index 7872876..93b8d90 100644
--- a/m4/fpieee.m4
+++ b/m4/fpieee.m4
@@ -1,5 +1,5 @@
 # fpieee.m4 serial 1
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/frexp.m4 b/m4/frexp.m4
index b0bdd10..4162195 100644
--- a/m4/frexp.m4
+++ b/m4/frexp.m4
@@ -1,5 +1,5 @@
 # frexp.m4 serial 13
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/fstat.m4 b/m4/fstat.m4
index 0daea88..e3f8f3e 100644
--- a/m4/fstat.m4
+++ b/m4/fstat.m4
@@ -1,5 +1,5 @@
 # fstat.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 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.
diff --git a/m4/func.m4 b/m4/func.m4
index dcd2d4f..13c204d 100644
--- a/m4/func.m4
+++ b/m4/func.m4
@@ -1,5 +1,5 @@
 # func.m4 serial 2
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/getaddrinfo.m4 b/m4/getaddrinfo.m4
index 962e6e8..9cd3e67 100644
--- a/m4/getaddrinfo.m4
+++ b/m4/getaddrinfo.m4
@@ -1,5 +1,5 @@
 # getaddrinfo.m4 serial 29
-dnl Copyright (C) 2004-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2012 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.
diff --git a/m4/glibc21.m4 b/m4/glibc21.m4
index bc81c11..c938fb1 100644
--- a/m4/glibc21.m4
+++ b/m4/glibc21.m4
@@ -1,5 +1,5 @@
 # glibc21.m4 serial 5
-dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2011 Free Software Foundation,
+dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2012 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4
index 3bc84fd..8065a05 100644
--- a/m4/gnulib-cache.m4
+++ b/m4/gnulib-cache.m4
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=gnulib-local --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 localcharset 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
+#   gnulib-tool --import --dir=. --local-dir=gnulib-local --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 dirfd 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 localcharset locale log1p maintainer-makefile malloc-gnu 
malloca nproc open pipe2 putenv recv recvfrom rename send sendto setenv 
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([gnulib-local])
@@ -43,6 +43,7 @@ gl_MODULES([
   ceil
   close
   connect
+  dirfd
   duplocale
   environ
   extensions
@@ -89,6 +90,7 @@ gl_MODULES([
   rename
   send
   sendto
+  setenv
   setsockopt
   shutdown
   socket
diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4
index 8621dec..ae4d254 100644
--- a/m4/gnulib-common.m4
+++ b/m4/gnulib-common.m4
@@ -1,5 +1,5 @@
-# gnulib-common.m4 serial 31
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 32
+dnl Copyright (C) 2007-2012 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.
@@ -13,7 +13,7 @@ AC_DEFUN([gl_COMMON], [
 ])
 AC_DEFUN([gl_COMMON_BODY], [
   AH_VERBATIM([_Noreturn],
-[/* The _Noreturn keyword of draft C1X.  */
+[/* The _Noreturn keyword of C11.  */
 #ifndef _Noreturn
 # if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
       || 0x5110 <= __SUNPRO_C)
@@ -224,7 +224,7 @@ m4_ifndef([AS_VAR_IF],
 # - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
 #   to CC twice
 #   <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
-# - AC_PROG_CC_STDC is likely to change when C1X is an ISO standard.
+# - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard.
 AC_DEFUN([gl_PROG_CC_C99],
 [
   dnl Change that version number to the minimum Autoconf version that supports
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index e6e68dc..9ec19f0 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -1,5 +1,5 @@
 # DO NOT EDIT! GENERATED AUTOMATICALLY!
-# Copyright (C) 2002-2011 Free Software Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -58,6 +58,8 @@ AC_DEFUN([gl_EARLY],
   # Code from module close:
   # Code from module configmake:
   # Code from module connect:
+  # Code from module dirent:
+  # Code from module dirfd:
   # Code from module dirname-lgpl:
   # Code from module dosname:
   # Code from module double-slash-root:
@@ -147,6 +149,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module send:
   # Code from module sendto:
   # Code from module servent:
+  # Code from module setenv:
   # Code from module setsockopt:
   # Code from module shutdown:
   # Code from module signal-h:
@@ -253,6 +256,13 @@ if test "$ac_cv_header_winsock2_h" = yes; then
   AC_LIBOBJ([connect])
 fi
 gl_SYS_SOCKET_MODULE_INDICATOR([connect])
+gl_DIRENT_H
+gl_FUNC_DIRFD
+if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no; then
+  AC_LIBOBJ([dirfd])
+  gl_PREREQ_DIRFD
+fi
+gl_DIRENT_MODULE_INDICATOR([dirfd])
 gl_DIRNAME_LGPL
 gl_DOUBLE_SLASH_ROOT
 gl_FUNC_DUPLOCALE
@@ -514,6 +524,11 @@ if test "$ac_cv_header_winsock2_h" = yes; then
 fi
 gl_SYS_SOCKET_MODULE_INDICATOR([sendto])
 gl_SERVENT
+gl_FUNC_SETENV
+if test $HAVE_SETENV = 0 || test $REPLACE_SETENV = 1; then
+  AC_LIBOBJ([setenv])
+fi
+gl_STDLIB_MODULE_INDICATOR([setenv])
 AC_REQUIRE([gl_HEADER_SYS_SOCKET])
 if test "$ac_cv_header_winsock2_h" = yes; then
   AC_LIBOBJ([setsockopt])
@@ -786,6 +801,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/close.c
   lib/config.charset
   lib/connect.c
+  lib/dirent.in.h
+  lib/dirfd.c
   lib/dirname-lgpl.c
   lib/dirname.h
   lib/dosname.h
@@ -875,6 +892,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/same-inode.h
   lib/send.c
   lib/sendto.c
+  lib/setenv.c
   lib/setsockopt.c
   lib/shutdown.c
   lib/signal.in.h
@@ -937,6 +955,8 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/close.m4
   m4/codeset.m4
   m4/configmake.m4
+  m4/dirent_h.m4
+  m4/dirfd.m4
   m4/dirname.m4
   m4/double-slash-root.m4
   m4/duplocale.m4
@@ -1014,6 +1034,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/safe-read.m4
   m4/safe-write.m4
   m4/servent.m4
+  m4/setenv.m4
   m4/signal_h.m4
   m4/size_max.m4
   m4/snprintf.m4
diff --git a/m4/gnulib-tool.m4 b/m4/gnulib-tool.m4
index ed41e9d..a09ffc1 100644
--- a/m4/gnulib-tool.m4
+++ b/m4/gnulib-tool.m4
@@ -1,5 +1,5 @@
 # gnulib-tool.m4 serial 2
-dnl Copyright (C) 2004-2005, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004-2005, 2009-2012 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.
diff --git a/m4/hostent.m4 b/m4/hostent.m4
index 36ade7e..5134775 100644
--- a/m4/hostent.m4
+++ b/m4/hostent.m4
@@ -1,5 +1,5 @@
 # hostent.m4 serial 2
-dnl Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2012 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.
diff --git a/m4/iconv.m4 b/m4/iconv.m4
index 98fcd64..6a47236 100644
--- a/m4/iconv.m4
+++ b/m4/iconv.m4
@@ -1,5 +1,5 @@
 # iconv.m4 serial 18 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2000-2002, 2007-2012 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.
diff --git a/m4/iconv_h.m4 b/m4/iconv_h.m4
index 8cca7fd..aa86cf8 100644
--- a/m4/iconv_h.m4
+++ b/m4/iconv_h.m4
@@ -1,5 +1,5 @@
 # iconv_h.m4 serial 8
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/iconv_open-utf.m4 b/m4/iconv_open-utf.m4
index dd03530..f450f55 100644
--- a/m4/iconv_open-utf.m4
+++ b/m4/iconv_open-utf.m4
@@ -1,5 +1,5 @@
 # iconv_open-utf.m4 serial 1
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/iconv_open.m4 b/m4/iconv_open.m4
index accdecc..07f4849 100644
--- a/m4/iconv_open.m4
+++ b/m4/iconv_open.m4
@@ -1,5 +1,5 @@
 # iconv_open.m4 serial 14
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/include_next.m4 b/m4/include_next.m4
index 8a1fab6..a60a261 100644
--- a/m4/include_next.m4
+++ b/m4/include_next.m4
@@ -1,5 +1,5 @@
 # include_next.m4 serial 23
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 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.
@@ -143,7 +143,7 @@ choke me
 # even if the compiler does not support include_next.
 # The three "///" are to pacify Sun C 5.8, which otherwise would say
 # "warning: #include of /usr/include/... may be non-portable".
-# Use `""', not `<>', so that the /// cannot be confused with a C99 comment.
+# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
 # Note: This macro assumes that the header file is not empty after
 # preprocessing, i.e. it does not only define preprocessor macros but also
 # provides some type/enum definitions or function/variable declarations.
diff --git a/m4/inet_ntop.m4 b/m4/inet_ntop.m4
index 4936fa3..1ebd960 100644
--- a/m4/inet_ntop.m4
+++ b/m4/inet_ntop.m4
@@ -1,5 +1,5 @@
 # inet_ntop.m4 serial 19
-dnl Copyright (C) 2005-2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2006, 2008-2012 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.
diff --git a/m4/inet_pton.m4 b/m4/inet_pton.m4
index e64da7b..e7b44e2 100644
--- a/m4/inet_pton.m4
+++ b/m4/inet_pton.m4
@@ -1,5 +1,5 @@
 # inet_pton.m4 serial 17
-dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2008-2012 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.
diff --git a/m4/inline.m4 b/m4/inline.m4
index a459080..6fa9972 100644
--- a/m4/inline.m4
+++ b/m4/inline.m4
@@ -1,5 +1,5 @@
 # inline.m4 serial 4
-dnl Copyright (C) 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006, 2009-2012 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.
diff --git a/m4/intmax_t.m4 b/m4/intmax_t.m4
index 7341054..c1a4a75 100644
--- a/m4/intmax_t.m4
+++ b/m4/intmax_t.m4
@@ -1,5 +1,5 @@
 # intmax_t.m4 serial 8
-dnl Copyright (C) 1997-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 1997-2004, 2006-2007, 2009-2012 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4
index f10fd54..91c7bca 100644
--- a/m4/inttypes_h.m4
+++ b/m4/inttypes_h.m4
@@ -1,5 +1,5 @@
 # inttypes_h.m4 serial 10
-dnl Copyright (C) 1997-2004, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2012 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.
diff --git a/m4/isinf.m4 b/m4/isinf.m4
index 3e4b900..0f6309e 100644
--- a/m4/isinf.m4
+++ b/m4/isinf.m4
@@ -1,5 +1,5 @@
 # isinf.m4 serial 9
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/isnan.m4 b/m4/isnan.m4
index a99cbb3..7ad7127 100644
--- a/m4/isnan.m4
+++ b/m4/isnan.m4
@@ -1,5 +1,5 @@
 # isnan.m4 serial 5
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/isnand.m4 b/m4/isnand.m4
index 48f1a48..54b64a4 100644
--- a/m4/isnand.m4
+++ b/m4/isnand.m4
@@ -1,5 +1,5 @@
 # isnand.m4 serial 11
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/isnanf.m4 b/m4/isnanf.m4
index 66ed954..97f638a 100644
--- a/m4/isnanf.m4
+++ b/m4/isnanf.m4
@@ -1,5 +1,5 @@
 # isnanf.m4 serial 14
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/isnanl.m4 b/m4/isnanl.m4
index daabe2a..81469ab 100644
--- a/m4/isnanl.m4
+++ b/m4/isnanl.m4
@@ -1,5 +1,5 @@
 # isnanl.m4 serial 17
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/largefile.m4 b/m4/largefile.m4
index d83fea1..1369bbe 100644
--- a/m4/largefile.m4
+++ b/m4/largefile.m4
@@ -1,6 +1,6 @@
 # Enable large files on systems where this is not the default.
 
-# Copyright 1992-1996, 1998-2011 Free Software Foundation, Inc.
+# Copyright 1992-1996, 1998-2012 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.
diff --git a/m4/ld-version-script.m4 b/m4/ld-version-script.m4
index aec2f41..5ed93ef 100644
--- a/m4/ld-version-script.m4
+++ b/m4/ld-version-script.m4
@@ -1,5 +1,5 @@
-# ld-version-script.m4 serial 2
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# ld-version-script.m4 serial 3
+dnl Copyright (C) 2008-2012 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.
@@ -26,6 +26,12 @@ AC_DEFUN([gl_LD_VERSION_SCRIPT],
     save_LDFLAGS="$LDFLAGS"
     LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
     cat > conftest.map <<EOF
+foo
+EOF
+    AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+                   [accepts_syntax_errors=yes], [accepts_syntax_errors=no])
+    if test "$accepts_syntax_errors" = no; then
+      cat > conftest.map <<EOF
 VERS_1 {
         global: sym;
 };
@@ -34,8 +40,11 @@ VERS_2 {
         global: sym;
 } VERS_1;
 EOF
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
-                   [have_ld_version_script=yes], [have_ld_version_script=no])
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
+                     [have_ld_version_script=yes], [have_ld_version_script=no])
+    else
+      have_ld_version_script=no
+    fi
     rm -f conftest.map
     LDFLAGS="$save_LDFLAGS"
     AC_MSG_RESULT($have_ld_version_script)
diff --git a/m4/ldexp.m4 b/m4/ldexp.m4
index dd400d4..6d26b56 100644
--- a/m4/ldexp.m4
+++ b/m4/ldexp.m4
@@ -1,5 +1,5 @@
 # ldexp.m4 serial 1
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 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.
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
index ae003f7..4e1374d 100644
--- a/m4/lib-ld.m4
+++ b/m4/lib-ld.m4
@@ -1,5 +1,5 @@
 # lib-ld.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 1996-2003, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2003, 2009-2012 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.
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
index e7c9ba9..d11b4b4 100644
--- a/m4/lib-link.m4
+++ b/m4/lib-link.m4
@@ -1,5 +1,5 @@
 # lib-link.m4 serial 26 (gettext-0.18.2)
-dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2012 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.
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
index 7e5f0bd..007aa05 100644
--- a/m4/lib-prefix.m4
+++ b/m4/lib-prefix.m4
@@ -1,5 +1,5 @@
 # lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2005, 2008-2012 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.
diff --git a/m4/libunistring-base.m4 b/m4/libunistring-base.m4
index 9831448..d91c42b 100644
--- a/m4/libunistring-base.m4
+++ b/m4/libunistring-base.m4
@@ -1,5 +1,5 @@
 # libunistring-base.m4 serial 5
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 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.
diff --git a/m4/libunistring.m4 b/m4/libunistring.m4
index 19c6860..c1bf4d5 100644
--- a/m4/libunistring.m4
+++ b/m4/libunistring.m4
@@ -1,5 +1,5 @@
 # libunistring.m4 serial 11
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 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.
diff --git a/m4/localcharset.m4 b/m4/localcharset.m4
index 6801ca9..8010379 100644
--- a/m4/localcharset.m4
+++ b/m4/localcharset.m4
@@ -1,5 +1,5 @@
 # localcharset.m4 serial 7
-dnl Copyright (C) 2002, 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2004, 2006, 2009-2012 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.
diff --git a/m4/locale_h.m4 b/m4/locale_h.m4
index e77a303..4289587 100644
--- a/m4/locale_h.m4
+++ b/m4/locale_h.m4
@@ -1,5 +1,5 @@
 # locale_h.m4 serial 14
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/longlong.m4 b/m4/longlong.m4
index aed816c..b9c65c7 100644
--- a/m4/longlong.m4
+++ b/m4/longlong.m4
@@ -1,5 +1,5 @@
-# longlong.m4 serial 16
-dnl Copyright (C) 1999-2007, 2009-2011 Free Software Foundation, Inc.
+# longlong.m4 serial 17
+dnl Copyright (C) 1999-2007, 2009-2012 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.
@@ -51,7 +51,7 @@ AC_DEFUN([AC_TYPE_LONG_LONG_INT],
       fi])
   if test $ac_cv_type_long_long_int = yes; then
     AC_DEFINE([HAVE_LONG_LONG_INT], [1],
-      [Define to 1 if the system has the type `long long int'.])
+      [Define to 1 if the system has the type 'long long int'.])
   fi
 ])
 
@@ -77,7 +77,7 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
      fi])
   if test $ac_cv_type_unsigned_long_long_int = yes; then
     AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
-      [Define to 1 if the system has the type `unsigned long long int'.])
+      [Define to 1 if the system has the type 'unsigned long long int'.])
   fi
 ])
 
diff --git a/m4/lstat.m4 b/m4/lstat.m4
index fe161d4..b83858b 100644
--- a/m4/lstat.m4
+++ b/m4/lstat.m4
@@ -1,6 +1,6 @@
-# serial 23
+# serial 24
 
-# Copyright (C) 1997-2001, 2003-2011 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2003-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -65,6 +65,6 @@ AC_DEFUN([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK],
     ])
   test $gl_cv_func_lstat_dereferences_slashed_symlink = yes &&
     AC_DEFINE_UNQUOTED([LSTAT_FOLLOWS_SLASHED_SYMLINK], [1],
-      [Define to 1 if `lstat' dereferences a symlink specified
+      [Define to 1 if 'lstat' dereferences a symlink specified
        with a trailing slash.])
 ])
diff --git a/m4/malloc.m4 b/m4/malloc.m4
index 87018ec..d3c39f5 100644
--- a/m4/malloc.m4
+++ b/m4/malloc.m4
@@ -1,5 +1,5 @@
 # malloc.m4 serial 13
-dnl Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/malloca.m4 b/m4/malloca.m4
index aec43f5..7841979 100644
--- a/m4/malloca.m4
+++ b/m4/malloca.m4
@@ -1,5 +1,5 @@
 # malloca.m4 serial 1
-dnl Copyright (C) 2003-2004, 2006-2007, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2003-2004, 2006-2007, 2009-2012 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/math_h.m4 b/m4/math_h.m4
index e58a9e9..5d7d52b 100644
--- a/m4/math_h.m4
+++ b/m4/math_h.m4
@@ -1,5 +1,5 @@
 # math_h.m4 serial 56
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/mathfunc.m4 b/m4/mathfunc.m4
index c75e7b9..def871a 100644
--- a/m4/mathfunc.m4
+++ b/m4/mathfunc.m4
@@ -1,5 +1,5 @@
 # mathfunc.m4 serial 10
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 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.
diff --git a/m4/memchr.m4 b/m4/memchr.m4
index f6dc3e7..0040294 100644
--- a/m4/memchr.m4
+++ b/m4/memchr.m4
@@ -1,5 +1,5 @@
 # memchr.m4 serial 12
-dnl Copyright (C) 2002-2004, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2009-2012 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.
diff --git a/m4/mmap-anon.m4 b/m4/mmap-anon.m4
index 952536f..4613cbe 100644
--- a/m4/mmap-anon.m4
+++ b/m4/mmap-anon.m4
@@ -1,5 +1,5 @@
 # mmap-anon.m4 serial 9
-dnl Copyright (C) 2005, 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2007, 2009-2012 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.
diff --git a/m4/mode_t.m4 b/m4/mode_t.m4
index f9cf704..40f612a 100644
--- a/m4/mode_t.m4
+++ b/m4/mode_t.m4
@@ -1,5 +1,5 @@
 # mode_t.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 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.
diff --git a/m4/msvc-inval.m4 b/m4/msvc-inval.m4
index fb797f0..8db4617 100644
--- a/m4/msvc-inval.m4
+++ b/m4/msvc-inval.m4
@@ -1,5 +1,5 @@
 # msvc-inval.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 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.
diff --git a/m4/msvc-nothrow.m4 b/m4/msvc-nothrow.m4
index b2f6bb4..0125050 100644
--- a/m4/msvc-nothrow.m4
+++ b/m4/msvc-nothrow.m4
@@ -1,5 +1,5 @@
 # msvc-nothrow.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 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.
diff --git a/m4/multiarch.m4 b/m4/multiarch.m4
index 691d892..b424dce 100644
--- a/m4/multiarch.m4
+++ b/m4/multiarch.m4
@@ -1,5 +1,5 @@
 # multiarch.m4 serial 6
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/netdb_h.m4 b/m4/netdb_h.m4
index a54d670..e0f3ee8 100644
--- a/m4/netdb_h.m4
+++ b/m4/netdb_h.m4
@@ -1,5 +1,5 @@
 # netdb_h.m4 serial 11
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/netinet_in_h.m4 b/m4/netinet_in_h.m4
index 87235b7..e181388 100644
--- a/m4/netinet_in_h.m4
+++ b/m4/netinet_in_h.m4
@@ -1,5 +1,5 @@
 # netinet_in_h.m4 serial 5
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 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.
diff --git a/m4/nocrash.m4 b/m4/nocrash.m4
index 60aad95..08ef825 100644
--- a/m4/nocrash.m4
+++ b/m4/nocrash.m4
@@ -1,5 +1,5 @@
 # nocrash.m4 serial 3
-dnl Copyright (C) 2005, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2009-2012 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.
diff --git a/m4/nproc.m4 b/m4/nproc.m4
index 4664ffb..a94b97f 100644
--- a/m4/nproc.m4
+++ b/m4/nproc.m4
@@ -1,5 +1,5 @@
 # nproc.m4 serial 4
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 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.
diff --git a/m4/open.m4 b/m4/open.m4
index d819184..c85971d 100644
--- a/m4/open.m4
+++ b/m4/open.m4
@@ -1,5 +1,5 @@
 # open.m4 serial 13
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/pathmax.m4 b/m4/pathmax.m4
index 4913fa0..0117861 100644
--- a/m4/pathmax.m4
+++ b/m4/pathmax.m4
@@ -1,5 +1,5 @@
 # pathmax.m4 serial 10
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2012 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/pipe2.m4 b/m4/pipe2.m4
index 10f1e14..00ad82b 100644
--- a/m4/pipe2.m4
+++ b/m4/pipe2.m4
@@ -1,5 +1,5 @@
 # pipe2.m4 serial 2
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 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.
diff --git a/m4/printf.m4 b/m4/printf.m4
index 0814c91..d75aca0 100644
--- a/m4/printf.m4
+++ b/m4/printf.m4
@@ -1,5 +1,5 @@
-# printf.m4 serial 46
-dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+# printf.m4 serial 48
+dnl Copyright (C) 2003, 2007-2012 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.
@@ -952,7 +952,7 @@ int main ()
         [
 changequote(,)dnl
          case "$host_os" in
-           # Guess no only on Solaris, native Win32, and BeOS systems.
+           # Guess no only on Solaris, native Windows, and BeOS systems.
            solaris*)     gl_cv_func_printf_precision="guessing no" ;;
            mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
            beos*)        gl_cv_func_printf_precision="guessing no" ;;
@@ -1545,7 +1545,7 @@ dnl   OpenBSD 3.9, 4.0               .  .  #  #  #  #  .  
#  .  #  .  #  .  #  .
 dnl   Cygwin 1.7.0 (2009)            .  .  .  #  .  .  .  ?  .  .  .  .  .  ?  
.  .  .  .  .  .
 dnl   Cygwin 1.5.25 (2008)           .  .  .  #  #  .  .  #  .  .  .  .  .  #  
.  .  .  .  .  .
 dnl   Cygwin 1.5.19 (2006)           #  .  .  #  #  #  .  #  .  #  .  #  #  #  
.  .  .  .  .  .
-dnl   Solaris 11 2010-11             .  .  #  #  #  .  .  #  .  .  .  #  .  .  
.  .  .  .  .  .
+dnl   Solaris 11 2011-11             .  .  #  #  #  .  .  #  .  .  .  #  .  .  
.  .  .  .  .  .
 dnl   Solaris 10                     .  .  #  #  #  .  .  #  .  .  .  #  #  .  
.  .  .  .  .  .
 dnl   Solaris 2.6 ... 9              #  .  #  #  #  #  .  #  .  .  .  #  #  .  
.  .  #  .  .  .
 dnl   Solaris 2.5.1                  #  .  #  #  #  #  .  #  .  .  .  #  .  .  
#  #  #  #  #  #
diff --git a/m4/putenv.m4 b/m4/putenv.m4
index 1497b4a..1cb23a5 100644
--- a/m4/putenv.m4
+++ b/m4/putenv.m4
@@ -1,5 +1,5 @@
 # putenv.m4 serial 18
-dnl Copyright (C) 2002-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2012 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.
diff --git a/m4/raise.m4 b/m4/raise.m4
index 0ceed77..18eb8b9 100644
--- a/m4/raise.m4
+++ b/m4/raise.m4
@@ -1,5 +1,5 @@
 # raise.m4 serial 2
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 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.
diff --git a/m4/read.m4 b/m4/read.m4
index 5d484b6..69aeb09 100644
--- a/m4/read.m4
+++ b/m4/read.m4
@@ -1,5 +1,5 @@
 # read.m4 serial 3
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 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.
diff --git a/m4/readlink.m4 b/m4/readlink.m4
index 91d7df3..107083f 100644
--- a/m4/readlink.m4
+++ b/m4/readlink.m4
@@ -1,5 +1,5 @@
 # readlink.m4 serial 11
-dnl Copyright (C) 2003, 2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007, 2009-2012 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.
diff --git a/m4/rename.m4 b/m4/rename.m4
index af8d584..59cc5c7 100644
--- a/m4/rename.m4
+++ b/m4/rename.m4
@@ -1,6 +1,6 @@
 # serial 25
 
-# Copyright (C) 2001, 2003, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005-2006, 2009-2012 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.
diff --git a/m4/rmdir.m4 b/m4/rmdir.m4
index 0b1a65c..c5f24cd 100644
--- a/m4/rmdir.m4
+++ b/m4/rmdir.m4
@@ -1,5 +1,5 @@
 # rmdir.m4 serial 12
-dnl Copyright (C) 2002, 2005, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005, 2009-2012 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.
diff --git a/m4/safe-read.m4 b/m4/safe-read.m4
index 7916242..c82acdb 100644
--- a/m4/safe-read.m4
+++ b/m4/safe-read.m4
@@ -1,5 +1,5 @@
 # safe-read.m4 serial 6
-dnl Copyright (C) 2002-2003, 2005-2006, 2009-2011 Free Software Foundation,
+dnl Copyright (C) 2002-2003, 2005-2006, 2009-2012 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
diff --git a/m4/safe-write.m4 b/m4/safe-write.m4
index 6631ab6..c1eff6e 100644
--- a/m4/safe-write.m4
+++ b/m4/safe-write.m4
@@ -1,5 +1,5 @@
 # safe-write.m4 serial 4
-dnl Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2005-2006, 2009-2012 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.
diff --git a/m4/servent.m4 b/m4/servent.m4
index c5df01c..21da957 100644
--- a/m4/servent.m4
+++ b/m4/servent.m4
@@ -1,5 +1,5 @@
 # servent.m4 serial 2
-dnl Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008, 2010-2012 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.
diff --git a/m4/setenv.m4 b/m4/setenv.m4
new file mode 100644
index 0000000..a1f30bc
--- /dev/null
+++ b/m4/setenv.m4
@@ -0,0 +1,140 @@
+# setenv.m4 serial 25
+dnl Copyright (C) 2001-2004, 2006-2012 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_SETENV],
+[
+  AC_REQUIRE([gl_FUNC_SETENV_SEPARATE])
+  if test $ac_cv_func_setenv = no; then
+    HAVE_SETENV=0
+  else
+    AC_CACHE_CHECK([whether setenv validates arguments],
+      [gl_cv_func_setenv_works],
+      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+       #include <stdlib.h>
+       #include <errno.h>
+       #include <string.h>
+      ]], [[
+       int result = 0;
+       {
+         if (setenv ("", "", 0) != -1)
+           result |= 1;
+         else if (errno != EINVAL)
+           result |= 2;
+       }
+       {
+         if (setenv ("a", "=", 1) != 0)
+           result |= 4;
+         else if (strcmp (getenv ("a"), "=") != 0)
+           result |= 8;
+       }
+       return result;
+      ]])],
+      [gl_cv_func_setenv_works=yes], [gl_cv_func_setenv_works=no],
+      [gl_cv_func_setenv_works="guessing no"])])
+    if test "$gl_cv_func_setenv_works" != yes; then
+      REPLACE_SETENV=1
+    fi
+  fi
+])
+
+# Like gl_FUNC_SETENV, except prepare for separate compilation
+# (no REPLACE_SETENV, no AC_LIBOBJ).
+AC_DEFUN([gl_FUNC_SETENV_SEPARATE],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_CHECK_DECLS_ONCE([setenv])
+  if test $ac_cv_have_decl_setenv = no; then
+    HAVE_DECL_SETENV=0
+  fi
+  AC_CHECK_FUNCS_ONCE([setenv])
+  gl_PREREQ_SETENV
+])
+
+AC_DEFUN([gl_FUNC_UNSETENV],
+[
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+  AC_CHECK_DECLS_ONCE([unsetenv])
+  if test $ac_cv_have_decl_unsetenv = no; then
+    HAVE_DECL_UNSETENV=0
+  fi
+  AC_CHECK_FUNCS([unsetenv])
+  if test $ac_cv_func_unsetenv = no; then
+    HAVE_UNSETENV=0
+  else
+    HAVE_UNSETENV=1
+    dnl Some BSDs return void, failing to do error checking.
+    AC_CACHE_CHECK([for unsetenv() return type], [gt_cv_func_unsetenv_ret],
+      [AC_COMPILE_IFELSE(
+         [AC_LANG_PROGRAM(
+            [[
+#undef _BSD
+#define _BSD 1 /* unhide unsetenv declaration in OSF/1 5.1 <stdlib.h> */
+#include <stdlib.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+int unsetenv (const char *name);
+            ]],
+            [[]])],
+         [gt_cv_func_unsetenv_ret='int'],
+         [gt_cv_func_unsetenv_ret='void'])])
+    if test $gt_cv_func_unsetenv_ret = 'void'; then
+      AC_DEFINE([VOID_UNSETENV], [1], [Define to 1 if unsetenv returns void
+       instead of int.])
+      REPLACE_UNSETENV=1
+    fi
+
+    dnl Solaris 10 unsetenv does not remove all copies of a name.
+    dnl Haiku alpha 2 unsetenv gets confused by assignment to environ.
+    dnl OpenBSD 4.7 unsetenv("") does not fail.
+    AC_CACHE_CHECK([whether unsetenv obeys POSIX],
+      [gl_cv_func_unsetenv_works],
+      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
+       #include <stdlib.h>
+       #include <errno.h>
+       extern char **environ;
+      ]], [[
+       char entry1[] = "a=1";
+       char entry2[] = "b=2";
+       char *env[] = { entry1, entry2, NULL };
+       if (putenv ((char *) "a=1")) return 1;
+       if (putenv (entry2)) return 2;
+       entry2[0] = 'a';
+       unsetenv ("a");
+       if (getenv ("a")) return 3;
+       if (!unsetenv ("") || errno != EINVAL) return 4;
+       entry2[0] = 'b';
+       environ = env;
+       if (!getenv ("a")) return 5;
+       entry2[0] = 'a';
+       unsetenv ("a");
+       if (getenv ("a")) return 6;
+      ]])],
+      [gl_cv_func_unsetenv_works=yes], [gl_cv_func_unsetenv_works=no],
+      [gl_cv_func_unsetenv_works="guessing no"])])
+    if test "$gl_cv_func_unsetenv_works" != yes; then
+      REPLACE_UNSETENV=1
+    fi
+  fi
+])
+
+# Prerequisites of lib/setenv.c.
+AC_DEFUN([gl_PREREQ_SETENV],
+[
+  AC_REQUIRE([AC_FUNC_ALLOCA])
+  AC_REQUIRE([gl_ENVIRON])
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+  AC_CHECK_HEADERS([search.h])
+  AC_CHECK_FUNCS([tsearch])
+])
+
+# Prerequisites of lib/unsetenv.c.
+AC_DEFUN([gl_PREREQ_UNSETENV],
+[
+  AC_REQUIRE([gl_ENVIRON])
+  AC_CHECK_HEADERS_ONCE([unistd.h])
+])
diff --git a/m4/signal_h.m4 b/m4/signal_h.m4
index 5cf54a0..ed4d730 100644
--- a/m4/signal_h.m4
+++ b/m4/signal_h.m4
@@ -1,5 +1,5 @@
 # signal_h.m4 serial 18
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/size_max.m4 b/m4/size_max.m4
index e807098..5a8162b 100644
--- a/m4/size_max.m4
+++ b/m4/size_max.m4
@@ -1,5 +1,5 @@
 # size_max.m4 serial 10
-dnl Copyright (C) 2003, 2005-2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2005-2006, 2008-2012 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.
diff --git a/m4/snprintf.m4 b/m4/snprintf.m4
index 6f71623..de94edd 100644
--- a/m4/snprintf.m4
+++ b/m4/snprintf.m4
@@ -1,5 +1,5 @@
 # snprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2012 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.
diff --git a/m4/socketlib.m4 b/m4/socketlib.m4
index 2aa972d..92a1af2 100644
--- a/m4/socketlib.m4
+++ b/m4/socketlib.m4
@@ -1,5 +1,5 @@
 # socketlib.m4 serial 1
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/sockets.m4 b/m4/sockets.m4
index cbe754f..e3738d9 100644
--- a/m4/sockets.m4
+++ b/m4/sockets.m4
@@ -1,5 +1,5 @@
 # sockets.m4 serial 7
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/socklen.m4 b/m4/socklen.m4
index 4475154..a4ab43b 100644
--- a/m4/socklen.m4
+++ b/m4/socklen.m4
@@ -1,5 +1,5 @@
 # socklen.m4 serial 10
-dnl Copyright (C) 2005-2007, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2007, 2009-2012 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.
diff --git a/m4/sockpfaf.m4 b/m4/sockpfaf.m4
index c38daea..5f97c3e 100644
--- a/m4/sockpfaf.m4
+++ b/m4/sockpfaf.m4
@@ -1,5 +1,5 @@
 # sockpfaf.m4 serial 8
-dnl Copyright (C) 2004, 2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2006, 2009-2012 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.
diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4
index d712752..209d64c 100644
--- a/m4/ssize_t.m4
+++ b/m4/ssize_t.m4
@@ -1,5 +1,5 @@
 # ssize_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2001-2003, 2006, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2003, 2006, 2010-2012 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.
diff --git a/m4/stat-time.m4 b/m4/stat-time.m4
index 75ddbee..2dbb1f3 100644
--- a/m4/stat-time.m4
+++ b/m4/stat-time.m4
@@ -1,6 +1,6 @@
 # Checks for stat-related time functions.
 
-# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2011 Free Software
+# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2012 Free Software
 # Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
diff --git a/m4/stat.m4 b/m4/stat.m4
index c63f59f..d67dbcd 100644
--- a/m4/stat.m4
+++ b/m4/stat.m4
@@ -1,6 +1,6 @@
 # serial 8
 
-# Copyright (C) 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2009-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/stdalign.m4 b/m4/stdalign.m4
index 2641dce..9752ba5 100644
--- a/m4/stdalign.m4
+++ b/m4/stdalign.m4
@@ -1,6 +1,6 @@
-# Check for stdalign.h that conforms to C1x.
+# Check for stdalign.h that conforms to C11.
 
-dnl Copyright 2011 Free Software Foundation, Inc.
+dnl Copyright 2011-2012 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.
diff --git a/m4/stdbool.m4 b/m4/stdbool.m4
index 1ebf3e6..eabfa64 100644
--- a/m4/stdbool.m4
+++ b/m4/stdbool.m4
@@ -1,6 +1,6 @@
 # Check for stdbool.h that conforms to C99.
 
-dnl Copyright (C) 2002-2006, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2006, 2009-2012 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.
diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4
index 1ae2344..cc11609 100644
--- a/m4/stddef_h.m4
+++ b/m4/stddef_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
 # stddef_h.m4 serial 4
-dnl Copyright (C) 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2009-2012 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.
diff --git a/m4/stdint.m4 b/m4/stdint.m4
index cfad016..28d342e 100644
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -1,5 +1,5 @@
-# stdint.m4 serial 42
-dnl Copyright (C) 2001-2011 Free Software Foundation, Inc.
+# stdint.m4 serial 43
+dnl Copyright (C) 2001-2012 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.
@@ -69,8 +69,6 @@ AC_DEFUN_ONCE([gl_STDINT_H],
       [gl_cv_header_working_stdint_h=no
        AC_COMPILE_IFELSE([
          AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ before C++11 */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ before C++11 */
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
 #include <stdint.h>
 /* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>.  */
@@ -219,8 +217,6 @@ struct s {
           dnl This detects a bug on HP-UX 11.23/ia64.
           AC_RUN_IFELSE([
             AC_LANG_PROGRAM([[
-#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ before C++11 */
-#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ before C++11 */
 #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
 #include <stdint.h>
 ]
diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4
index 356b14e..581de96 100644
--- a/m4/stdint_h.m4
+++ b/m4/stdint_h.m4
@@ -1,5 +1,5 @@
 # stdint_h.m4 serial 9
-dnl Copyright (C) 1997-2004, 2006, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 1997-2004, 2006, 2008-2012 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.
diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
index 39bf80e..1973e8d 100644
--- a/m4/stdio_h.m4
+++ b/m4/stdio_h.m4
@@ -1,5 +1,5 @@
 # stdio_h.m4 serial 40
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4
index 0a8a9e5..ab43728 100644
--- a/m4/stdlib_h.m4
+++ b/m4/stdlib_h.m4
@@ -1,5 +1,5 @@
-# stdlib_h.m4 serial 39
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# stdlib_h.m4 serial 41
+dnl Copyright (C) 2007-2012 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.
@@ -20,8 +20,9 @@ AC_DEFUN([gl_STDLIB_H],
 # include <random.h>
 #endif
     ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
-    initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt
-    ptsname ptsname_r random_r realpath rpmatch setenv setstate_r srandom_r
+    initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
+    posix_openpt ptsname ptsname_r random random_r realpath rpmatch
+    setenv setstate setstate_r srandom srandom_r
     strtod strtoll strtoull unlockpt unsetenv])
 ])
 
@@ -54,6 +55,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   GNULIB_PTSNAME=0;       AC_SUBST([GNULIB_PTSNAME])
   GNULIB_PTSNAME_R=0;     AC_SUBST([GNULIB_PTSNAME_R])
   GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
+  GNULIB_RANDOM=0;        AC_SUBST([GNULIB_RANDOM])
   GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
   GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
   GNULIB_REALPATH=0;      AC_SUBST([GNULIB_REALPATH])
@@ -81,6 +83,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   HAVE_POSIX_OPENPT=1;       AC_SUBST([HAVE_POSIX_OPENPT])
   HAVE_PTSNAME=1;            AC_SUBST([HAVE_PTSNAME])
   HAVE_PTSNAME_R=1;          AC_SUBST([HAVE_PTSNAME_R])
+  HAVE_RANDOM=1;             AC_SUBST([HAVE_RANDOM])
   HAVE_RANDOM_H=1;           AC_SUBST([HAVE_RANDOM_H])
   HAVE_RANDOM_R=1;           AC_SUBST([HAVE_RANDOM_R])
   HAVE_REALPATH=1;           AC_SUBST([HAVE_REALPATH])
@@ -101,6 +104,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   REPLACE_MKSTEMP=0;         AC_SUBST([REPLACE_MKSTEMP])
   REPLACE_PTSNAME_R=0;       AC_SUBST([REPLACE_PTSNAME_R])
   REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
+  REPLACE_RANDOM_R=0;        AC_SUBST([REPLACE_RANDOM_R])
   REPLACE_REALLOC=0;         AC_SUBST([REPLACE_REALLOC])
   REPLACE_REALPATH=0;        AC_SUBST([REPLACE_REALPATH])
   REPLACE_SETENV=0;          AC_SUBST([REPLACE_SETENV])
diff --git a/m4/strftime.m4 b/m4/strftime.m4
index dd30ccf..4204301 100644
--- a/m4/strftime.m4
+++ b/m4/strftime.m4
@@ -1,6 +1,6 @@
 # serial 33
 
-# Copyright (C) 1996-1997, 1999-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2007, 2009-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff --git a/m4/string_h.m4 b/m4/string_h.m4
index 4f9f511..5677e09 100644
--- a/m4/string_h.m4
+++ b/m4/string_h.m4
@@ -1,6 +1,6 @@
 # Configure a GNU-like replacement for <string.h>.
 
-# Copyright (C) 2007-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007-2012 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.
diff --git a/m4/sys_file_h.m4 b/m4/sys_file_h.m4
index 8538e1f..89272f1 100644
--- a/m4/sys_file_h.m4
+++ b/m4/sys_file_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/file.h>.
 # serial 6
 
-# Copyright (C) 2008-2011 Free Software Foundation, Inc.
+# Copyright (C) 2008-2012 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.
diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4
index 7da91a4..8d4e7e1 100644
--- a/m4/sys_socket_h.m4
+++ b/m4/sys_socket_h.m4
@@ -1,5 +1,5 @@
 # sys_socket_h.m4 serial 22
-dnl Copyright (C) 2005-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005-2012 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.
diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4
index 83ebac6..a0b96bc 100644
--- a/m4/sys_stat_h.m4
+++ b/m4/sys_stat_h.m4
@@ -1,5 +1,5 @@
 # sys_stat_h.m4 serial 26   -*- Autoconf -*-
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2012 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.
diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4
index 064e0de..bed3797 100644
--- a/m4/sys_time_h.m4
+++ b/m4/sys_time_h.m4
@@ -1,7 +1,7 @@
 # Configure a replacement for <sys/time.h>.
 # serial 7
 
-# Copyright (C) 2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009-2012 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.
diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4
index 62113df..8d18ddb 100644
--- a/m4/sys_types_h.m4
+++ b/m4/sys_types_h.m4
@@ -1,5 +1,5 @@
 # sys_types_h.m4 serial 2
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 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.
diff --git a/m4/sys_uio_h.m4 b/m4/sys_uio_h.m4
index bafa0ac..ddf844b 100644
--- a/m4/sys_uio_h.m4
+++ b/m4/sys_uio_h.m4
@@ -1,5 +1,5 @@
 # sys_uio_h.m4 serial 1
-dnl Copyright (C) 2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2012 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.
diff --git a/m4/time_h.m4 b/m4/time_h.m4
index 3454b23..b88da76 100644
--- a/m4/time_h.m4
+++ b/m4/time_h.m4
@@ -1,6 +1,6 @@
 # Configure a more-standard replacement for <time.h>.
 
-# Copyright (C) 2000-2001, 2003-2007, 2009-2011 Free Software Foundation, Inc.
+# Copyright (C) 2000-2001, 2003-2007, 2009-2012 Free Software Foundation, Inc.
 
 # serial 6
 
@@ -25,7 +25,7 @@ AC_DEFUN([gl_HEADER_TIME_H_BODY],
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
 ])
 
-dnl Define HAVE_STRUCT_TIMESPEC if `struct timespec' is declared
+dnl Define HAVE_STRUCT_TIMESPEC if 'struct timespec' is declared
 dnl in time.h, sys/time.h, or pthread.h.
 
 AC_DEFUN([gl_CHECK_TYPE_STRUCT_TIMESPEC],
diff --git a/m4/time_r.m4 b/m4/time_r.m4
index d646edc..c3579fb 100644
--- a/m4/time_r.m4
+++ b/m4/time_r.m4
@@ -1,6 +1,6 @@
 dnl Reentrant time functions: localtime_r, gmtime_r.
 
-dnl Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2006-2012 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.
diff --git a/m4/tm_gmtoff.m4 b/m4/tm_gmtoff.m4
index d65ddc0..c12e6ce 100644
--- a/m4/tm_gmtoff.m4
+++ b/m4/tm_gmtoff.m4
@@ -1,5 +1,5 @@
 # tm_gmtoff.m4 serial 3
-dnl Copyright (C) 2002, 2009-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002, 2009-2012 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.
diff --git a/m4/trunc.m4 b/m4/trunc.m4
index e7a1af1..e9d5295 100644
--- a/m4/trunc.m4
+++ b/m4/trunc.m4
@@ -1,5 +1,5 @@
 # trunc.m4 serial 8
-dnl Copyright (C) 2007, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007, 2010-2012 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.
diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4
index 34bdef5..7595534 100644
--- a/m4/unistd_h.m4
+++ b/m4/unistd_h.m4
@@ -1,5 +1,5 @@
-# unistd_h.m4 serial 62
-dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
+# unistd_h.m4 serial 63
+dnl Copyright (C) 2006-2012 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.
@@ -41,8 +41,9 @@ AC_DEFUN([gl_UNISTD_H],
 #endif
     ]], [chdir chown dup dup2 dup3 environ euidaccess faccessat fchdir fchownat
     fdatasync fsync ftruncate getcwd getdomainname getdtablesize getgroups
-    gethostname getlogin getlogin_r getpagesize getusershell setusershell
-    endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite
+    gethostname getlogin getlogin_r getpagesize
+    getusershell setusershell endusershell
+    group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite
     readlink readlinkat rmdir sethostname sleep symlink symlinkat ttyname_r
     unlink unlinkat usleep])
 ])
@@ -82,6 +83,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   GNULIB_GETPAGESIZE=0;          AC_SUBST([GNULIB_GETPAGESIZE])
   GNULIB_GETUSERSHELL=0;         AC_SUBST([GNULIB_GETUSERSHELL])
   GNULIB_GROUP_MEMBER=0;         AC_SUBST([GNULIB_GROUP_MEMBER])
+  GNULIB_ISATTY=0;               AC_SUBST([GNULIB_ISATTY])
   GNULIB_LCHOWN=0;               AC_SUBST([GNULIB_LCHOWN])
   GNULIB_LINK=0;                 AC_SUBST([GNULIB_LINK])
   GNULIB_LINKAT=0;               AC_SUBST([GNULIB_LINKAT])
@@ -158,6 +160,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   REPLACE_GETLOGIN_R=0;   AC_SUBST([REPLACE_GETLOGIN_R])
   REPLACE_GETGROUPS=0;    AC_SUBST([REPLACE_GETGROUPS])
   REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
+  REPLACE_ISATTY=0;       AC_SUBST([REPLACE_ISATTY])
   REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
   REPLACE_LINK=0;         AC_SUBST([REPLACE_LINK])
   REPLACE_LINKAT=0;       AC_SUBST([REPLACE_LINKAT])
diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4
index da0a6d9..61fe499 100644
--- a/m4/vasnprintf.m4
+++ b/m4/vasnprintf.m4
@@ -1,5 +1,5 @@
 # vasnprintf.m4 serial 34
-dnl Copyright (C) 2002-2004, 2006-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2006-2012 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.
diff --git a/m4/visibility.m4 b/m4/visibility.m4
index 75c34b6..7b24d39 100644
--- a/m4/visibility.m4
+++ b/m4/visibility.m4
@@ -1,5 +1,5 @@
 # visibility.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2005, 2008, 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2005, 2008, 2010-2012 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.
diff --git a/m4/vsnprintf.m4 b/m4/vsnprintf.m4
index d6ce1e6..22ec57b 100644
--- a/m4/vsnprintf.m4
+++ b/m4/vsnprintf.m4
@@ -1,5 +1,5 @@
 # vsnprintf.m4 serial 6
-dnl Copyright (C) 2002-2004, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2004, 2007-2012 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.
diff --git a/m4/warn-on-use.m4 b/m4/warn-on-use.m4
index f09deef..03b113c 100644
--- a/m4/warn-on-use.m4
+++ b/m4/warn-on-use.m4
@@ -1,5 +1,5 @@
 # warn-on-use.m4 serial 4
-dnl Copyright (C) 2010-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2010-2012 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.
diff --git a/m4/warnings.m4 b/m4/warnings.m4
index a4a750a..69d05a6 100644
--- a/m4/warnings.m4
+++ b/m4/warnings.m4
@@ -1,5 +1,5 @@
 # warnings.m4 serial 5
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4
index 977491f..c7a8b2d 100644
--- a/m4/wchar_h.m4
+++ b/m4/wchar_h.m4
@@ -1,6 +1,6 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2012 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.
diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4
index d2c03c4..534735d 100644
--- a/m4/wchar_t.m4
+++ b/m4/wchar_t.m4
@@ -1,5 +1,5 @@
 # wchar_t.m4 serial 4 (gettext-0.18.2)
-dnl Copyright (C) 2002-2003, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2003, 2008-2012 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.
diff --git a/m4/wint_t.m4 b/m4/wint_t.m4
index da1ce3d..3260cce 100644
--- a/m4/wint_t.m4
+++ b/m4/wint_t.m4
@@ -1,5 +1,5 @@
 # wint_t.m4 serial 5 (gettext-0.18.2)
-dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2007-2012 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.
diff --git a/m4/write.m4 b/m4/write.m4
index 4cfff0e..a6b1229 100644
--- a/m4/write.m4
+++ b/m4/write.m4
@@ -1,5 +1,5 @@
 # write.m4 serial 4
-dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2008-2012 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.
diff --git a/m4/xsize.m4 b/m4/xsize.m4
index 8c693bc..b3b7fee 100644
--- a/m4/xsize.m4
+++ b/m4/xsize.m4
@@ -1,5 +1,5 @@
 # xsize.m4 serial 4
-dnl Copyright (C) 2003-2004, 2008-2011 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2004, 2008-2012 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.
diff --git a/maint.mk b/maint.mk
index e4efb5f..ad6aac7 100644
--- a/maint.mk
+++ b/maint.mk
@@ -2,7 +2,7 @@
 # This Makefile fragment tries to be general-purpose enough to be
 # used by many projects via the gnulib maintainer-makefile module.
 
-## Copyright (C) 2001-2011 Free Software Foundation, Inc.
+## Copyright (C) 2001-2012 Free Software Foundation, Inc.
 ##
 ## This program is free software: you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -126,7 +126,7 @@ export LC_ALL = C
 
 _cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk')
 
-# Collect the names of rules starting with `sc_'.
+# Collect the names of rules starting with 'sc_'.
 syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' 
\
                        $(srcdir)/$(ME) $(_cfg_mk)))
 .PHONY: $(syntax-check-rules)
@@ -221,15 +221,6 @@ define _sc_say_and_exit
    { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; };
 endef
 
-# _sc_search_regexp used to be named _prohibit_regexp.  However,
-# upgrading to the new definition and leaving the old name undefined
-# would usually convert each custom rule using $(_prohibit_regexp)
-# (usually defined in cfg.mk) into a no-op.  This definition ensures
-# that people know right away if they're still using the old name.
-# FIXME: remove in 2012.
-_prohibit_regexp = \
-  $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt')
-
 define _sc_search_regexp
    dummy=; : so we do not need a semicolon before each use;            \
                                                                        \
@@ -303,7 +294,7 @@ sc_space_tab:
        halt='found SPACE-TAB sequence; remove the SPACE'               \
          $(_sc_search_regexp)
 
-# Don't use *scanf or the old ato* functions in `real' code.
+# Don't use *scanf or the old ato* functions in "real" code.
 # They provide no error checking mechanism.
 # Instead, use strto* functions.
 sc_prohibit_atoi_atof:
@@ -335,15 +326,15 @@ sc_prohibit_magic_number_exit:
          $(_sc_search_regexp)
 
 # Using EXIT_SUCCESS as the first argument to error is misleading,
-# since when that parameter is 0, error does not exit.  Use `0' instead.
+# since when that parameter is 0, error does not exit.  Use '0' instead.
 sc_error_exit_success:
        @prohibit='error *\(EXIT_SUCCESS,'                              \
        in_vc_files='\.[chly]$$'                                        \
        halt='found error (EXIT_SUCCESS'                                \
         $(_sc_search_regexp)
 
-# `FATAL:' should be fully upper-cased in error messages
-# `WARNING:' should be fully upper-cased, or fully lower-cased
+# "FATAL:" should be fully upper-cased in error messages
+# "WARNING:" should be fully upper-cased, or fully lower-cased
 sc_error_message_warn_fatal:
        @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT))              \
            | grep -E '"Warning|"Fatal|"fatal' &&                       \
@@ -847,7 +838,7 @@ sc_prohibit_cvs_keyword:
 #
 # This is a perl script that is expected to be the single-quoted argument
 # to a command-line "-le".  The remaining arguments are file names.
-# Print the name of each file that ends in exactly one newline byte.
+# Print the name of each file that does not end in exactly one newline byte.
 # I.e., warn if there are blank lines (2 or more newlines), or if the
 # last byte is not a newline.  However, currently we don't complain
 # about any file that contains exactly one byte.
@@ -1087,15 +1078,15 @@ sc_po_check:
 
 # Sometimes it is useful to change the PATH environment variable
 # in Makefiles.  When doing so, it's better not to use the Unix-centric
-# path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'.
-msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead'
+# path separator of ':', but rather the automake-provided '$(PATH_SEPARATOR)'.
+msg = '$(ME): Do not use '\'':'\'' above; use $$(PATH_SEPARATOR) instead'
 sc_makefile_path_separator_check:
        @prohibit='PATH[=].*:'                                          \
        in_vc_files='akefile|\.mk$$'                                    \
        halt=$(msg)                                                     \
          $(_sc_search_regexp)
 
-# Check that `make alpha' will not fail at the end of the process,
+# Check that 'make alpha' will not fail at the end of the process,
 # i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release)
 # and is read-only.
 writable-files:
@@ -1455,9 +1446,9 @@ ifeq (a,b)
 # TS-start
 
 # Most functions should have static scope.
-# Any that don't must be marked with `extern', but `main'
-# and `usage' are exceptions: they're always extern, but
-# do not need to be marked.  Symbols matching `__.*' are
+# Any that don't must be marked with 'extern', but 'main'
+# and 'usage' are exceptions: they're always extern, but
+# do not need to be marked.  Symbols matching '__.*' are
 # reserved by the compiler, so are automatically excluded below.
 _gl_TS_unmarked_extern_functions ?= main usage
 _gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/
@@ -1467,9 +1458,9 @@ _gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) 
*\(/
 # export _gl_TS_extern = extern|XTERN
 _gl_TS_extern ?= extern
 
-# The second nm|grep checks for file-scope variables with `extern' scope.
+# The second nm|grep checks for file-scope variables with 'extern' scope.
 # Without gnulib's progname module, you might put program_name here.
-# Symbols matching `__.*' are reserved by the compiler,
+# Symbols matching '__.*' are reserved by the compiler,
 # so are automatically excluded below.
 _gl_TS_unmarked_extern_vars ?=
 
diff --git a/meta/guile-2.2.pc.in b/meta/guile-2.2.pc.in
index ecca778..1bda734 100644
--- a/meta/guile-2.2.pc.in
+++ b/meta/guile-2.2.pc.in
@@ -15,5 +15,8 @@ Name: GNU Guile
 Description: GNU's Ubiquitous Intelligent Language for Extension
 Version: @GUILE_VERSION@
 Libs: -L${libdir} address@hidden@ @BDW_GC_LIBS@
-Libs.private: @LIB_CLOCK_GETTIME@ @LIBGMP@ @LIBLTDL@ @LIBFFI_LIBS@ @GUILE_LIBS@
+Libs.private: @LIB_CLOCK_GETTIME@ @LIBGMP@ @LIBLTDL@ @LIBFFI_LIBS@     \
+  @LIBUNISTRING@ @GUILE_LIBS@ @LIBICONV@ @LIBINTL@ @LIBSOCKET@         \
+  @SERVENT_LIB@ @HOSTENT_LIB@ @GETADDRINFO_LIB@ @INET_NTOP_LIB@                
\
+  @INET_PTON_LIB@
 Cflags: -I${pkgincludedir}/@GUILE_EFFECTIVE_VERSION@ @GUILE_CFLAGS@ 
@BDW_GC_CFLAGS@
diff --git a/module/Makefile.am b/module/Makefile.am
index 56fa48d..9c9d8ed 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in.
 ##
-##     Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+##     Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 ##
 ##   This file is part of GUILE.
 ##
@@ -243,7 +243,8 @@ ICE_9_SOURCES = \
   ice-9/weak-vector.scm \
   ice-9/list.scm \
   ice-9/serialize.scm \
-  ice-9/vlist.scm
+  ice-9/vlist.scm \
+  ice-9/local-eval.scm
 
 SRFI_SOURCES = \
   srfi/srfi-1.scm \
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 1de5edf..1780b84 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -142,7 +142,7 @@ If it exits normally, Guile unwinds the stack and dynamic 
context
 and then calls the normal (third argument) handler.  If it exits
 non-locally, that exit determines the continuation."
           (if (not (or (symbol? k) (eqv? k #t)))
-              (scm-error "catch" 'wrong-type-arg
+              (scm-error 'wrong-type-arg "catch"
                          "Wrong type argument in position ~a: ~a"
                          (list 1 k) (list k)))
           (let ((tag (make-prompt-tag "catch")))
@@ -163,7 +163,7 @@ non-locally, that exit determines the continuation."
           "Add @var{handler} to the dynamic context as a throw handler
 for key @var{key}, then invoke @var{thunk}."
           (if (not (or (symbol? k) (eqv? k #t)))
-              (scm-error "with-throw-handler" 'wrong-type-arg
+              (scm-error 'wrong-type-arg "with-throw-handler"
                          "Wrong type argument in position ~a: ~a"
                          (list 1 k) (list k)))
           (with-fluids ((%exception-handler
@@ -411,6 +411,12 @@ If there is no handler at all, Guile prints an error and 
then exits."
     ((_ x) x)
     ((_ x y ...) (let ((t x)) (if t t (or y ...))))))
 
+(define-syntax-rule (when test stmt stmt* ...)
+  (if test (begin stmt stmt* ...)))
+
+(define-syntax-rule (unless test stmt stmt* ...)
+  (if (not test) (begin stmt stmt* ...)))
+
 ;; The "maybe-more" bits are something of a hack, so that we can support
 ;; SRFI-61. Rewrites into a standalone syntax-case macro would be
 ;; appreciated.
@@ -505,6 +511,18 @@ If there is no handler at all, Guile prints an error and 
then exits."
        (with-syntax ((s (datum->syntax x (syntax-source x))))
          #''s)))))
 
+;; We provide this accessor out of convenience.  current-line and
+;; current-column aren't so interesting, because they distort what they
+;; are measuring; better to use syntax-source from a macro.
+;;
+(define-syntax current-filename
+  (lambda (x)
+    "A macro that expands to the current filename: the filename that
+the (current-filename) form appears in.  Expands to #f if this
+information is unavailable."
+    (false-if-exception
+     (canonicalize-path (assq-ref (syntax-source x) 'filename)))))
+
 (define-syntax-rule (define-once sym val)
   (define sym
     (if (module-locally-bound? (current-module) 'sym) sym val)))
@@ -1376,6 +1394,11 @@ VALUE."
   (start-stack 'load-stack
                (primitive-load-path name)))
 
+(define-syntax-rule (add-to-load-path elt)
+  "Add ELT to Guile's load path, at compile-time and at run-time."
+  (eval-when (compile load eval)
+    (set! %load-path (cons elt %load-path))))
+
 (define %load-verbosely #f)
 (define (assert-load-verbosity v) (set! %load-verbosely v))
 
@@ -3796,12 +3819,44 @@ module '(ice-9 q) '(make-q q-length))}."
 
 
 
-;;; Place the user in the guile-user module.
+;;; SRFI-4 in the default environment.  FIXME: we should figure out how
+;;; to deprecate this.
 ;;;
 
 ;; FIXME:
 (module-use! the-scm-module (resolve-interface '(srfi srfi-4)))
 
+
+
+;;; A few identifiers that need to be defined in this file are really
+;;; internal implementation details.  We shove them off into internal
+;;; modules, removing them from the (guile) module.
+;;;
+
+(define-module (system syntax))
+
+(let ()
+  (define (steal-bindings! from to ids)
+    (for-each
+     (lambda (sym)
+       (let ((v (module-local-variable from sym)))
+         (module-remove! from sym)
+         (module-add! to sym v)))
+     ids)
+    (module-export! to ids))
+
+  (steal-bindings! the-root-module (resolve-module '(system syntax))
+                   '(syntax-local-binding
+                     syntax-module
+                     syntax-locally-bound-identifiers
+                     syntax-session-id)))
+
+
+
+
+;;; Place the user in the guile-user module.
+;;;
+
 ;; Set filename to #f to prevent reload.
 (define-module (guile-user)
   #:autoload (system base compile) (compile compile-file)
diff --git a/module/ice-9/compile-psyntax.scm b/module/ice-9/compile-psyntax.scm
index 48bab92..3d803e9 100644
--- a/module/ice-9/compile-psyntax.scm
+++ b/module/ice-9/compile-psyntax.scm
@@ -1,6 +1,6 @@
 ;;; -*- mode: scheme; coding: utf-8; -*-
 ;;;
-;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009, 2010, 2011, 2012 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
@@ -19,7 +19,12 @@
 (use-modules (language tree-il)
              (language tree-il optimize)
              (language tree-il canonicalize)
-             (ice-9 pretty-print))
+             (ice-9 pretty-print)
+             (system syntax))
+
+;; Avoid gratuitous churn in psyntax-pp.scm due to the marks and labels
+;; changing session identifiers.
+(set! syntax-session-id (lambda () "*"))
 
 (let ((source (list-ref (command-line) 1))
       (target (list-ref (command-line) 2)))
diff --git a/module/ice-9/eval.scm b/module/ice-9/eval.scm
index 5b29371..d993db0 100644
--- a/module/ice-9/eval.scm
+++ b/module/ice-9/eval.scm
@@ -425,7 +425,8 @@
          (let ((x (eval x env)))
            (if (and (procedure? x) (not (procedure-property x 'name)))
                (set-procedure-property! x 'name name))
-           (define! name x)))
+           (define! name x)
+           (if #f #f)))
       
         (('toplevel-set! (var-or-sym . x))
          (variable-set!
diff --git a/module/ice-9/local-eval.scm b/module/ice-9/local-eval.scm
new file mode 100644
index 0000000..493dbed
--- /dev/null
+++ b/module/ice-9/local-eval.scm
@@ -0,0 +1,255 @@
+;;; -*- mode: scheme; coding: utf-8; -*-
+;;;
+;;; Copyright (C) 2012 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
+
+(define-module (ice-9 local-eval)
+  #:use-module (ice-9 format)
+  #:use-module (srfi srfi-9)
+  #:use-module (srfi srfi-9 gnu)
+  #:use-module (system base compile)
+  #:use-module (system syntax)
+  #:export (the-environment local-eval local-compile))
+
+(define-record-type lexical-environment-type
+  (make-lexical-environment scope wrapper boxes patterns)
+  lexical-environment?
+  (scope             lexenv-scope)
+  (wrapper           lexenv-wrapper)
+  (boxes             lexenv-boxes)
+  (patterns          lexenv-patterns))
+
+(set-record-type-printer!
+ lexical-environment-type
+ (lambda (e port)
+   (format port "#<lexical-environment ~S (~S bindings)>"
+           (syntax-module (lexenv-scope e))
+           (+ (length (lexenv-boxes e)) (length (lexenv-patterns e))))))
+
+(define-syntax syntax-object-of
+  (lambda (form)
+    (syntax-case form ()
+      ((_ x) #`(quote #,(datum->syntax #'x #'x))))))
+
+(define-syntax-rule (make-box v)
+  (case-lambda
+   (() v)
+   ((x) (set! v x))))
+
+(define (make-transformer-from-box id trans)
+  (set-procedure-property! trans 'identifier-syntax-box id)
+  trans)
+
+(define-syntax-rule (identifier-syntax-from-box box)
+  (make-transformer-from-box
+   (syntax-object-of box)
+   (identifier-syntax (id          (box))
+                      ((set! id x) (box x)))))
+
+(define (unsupported-binding name)
+  (make-variable-transformer
+   (lambda (x)
+     (syntax-violation
+      'local-eval
+      "unsupported binding captured by (the-environment)"
+      x))))
+
+(define (within-nested-ellipses id lvl)
+  (let loop ((s id) (n lvl))
+    (if (zero? n)
+        s
+        (loop #`(#,s (... ...)) (- n 1)))))
+
+;; Analyze the set of bound identifiers IDS.  Return four values:
+;;
+;; capture: A list of forms that will be emitted in the expansion of
+;; `the-environment' to capture lexical variables.
+;;
+;; formals: Corresponding formal parameters for use in the lambda that
+;; re-introduces those variables.  These are temporary identifiers, and
+;; as such if we have a nested `the-environment', there is no need to
+;; capture them.  (See the notes on nested `the-environment' and
+;; proxies, below.)
+;;
+;; wrappers: A list of procedures of type SYNTAX -> SYNTAX, used to wrap
+;; the expression to be evaluated in forms that re-introduce the
+;; variable.  The forms will be nested so that the variable shadowing
+;; semantics of the original form are maintained.
+;;
+;; patterns: A terrible hack.  The issue is that for pattern variables,
+;; we can't emit lexically nested with-syntax forms, like:
+;;
+;;   (with-syntax ((foo 1)) (the-environment))
+;;   => (with-syntax ((foo 1))
+;;        ... #'(with-syntax ((foo ...)) ... exp) ...)
+;;
+;; The reason is that the outer "foo" substitutes into the inner "foo",
+;; yielding something like:
+;;
+;;   (with-syntax ((foo 1))
+;;     ... (with-syntax ((1 ...)) ...)
+;;            
+;; Which ain't what we want.  So we hide the information needed to
+;; re-make the inner pattern binding form in the lexical environment
+;; object, and then introduce those identifiers via another with-syntax.
+;;
+;;
+;; There are four different kinds of lexical bindings: normal lexicals,
+;; macros, displaced lexicals, and pattern variables.  See the
+;; documentation of syntax-local-binding for more info on these.
+;;
+;; We capture normal lexicals via `make-box', which creates a
+;; case-lambda that can reference or set a variable.  These get
+;; re-introduced with an identifier-syntax.
+;;
+;; We can't capture macros currently.  However we do recognize our own
+;; macros that are actually proxying lexicals, so that nested
+;; `the-environment' forms are possible.  In that case we drill down to
+;; the identifier for the already-existing box, and just capture that
+;; box.
+;;
+;; And that's it: we skip displaced lexicals, and the pattern variables
+;; are discussed above.
+;;
+(define (analyze-identifiers ids)
+  (define (mktmp)
+    (datum->syntax #'here (gensym "t ")))
+  (let lp ((ids ids) (capture '()) (formals '()) (wrappers '()) (patterns '()))
+    (cond
+     ((null? ids)
+      (values capture formals wrappers patterns))
+     (else
+      (let ((id (car ids)) (ids (cdr ids)))
+        (call-with-values (lambda () (syntax-local-binding id))
+          (lambda (type val)
+            (case type
+              ((lexical)
+               (if (or-map (lambda (x) (bound-identifier=? x id)) formals)
+                   (lp ids capture formals wrappers patterns)
+                   (let ((t (mktmp)))
+                     (lp ids
+                         (cons #`(make-box #,id) capture)
+                         (cons t formals)
+                         (cons (lambda (x)
+                                 #`(let-syntax ((#,id 
(identifier-syntax-from-box #,t)))
+                                     #,x))
+                               wrappers)
+                         patterns))))
+              ((displaced-lexical)
+               (lp ids capture formals wrappers patterns))
+              ((macro)
+               (let ((b (procedure-property val 'identifier-syntax-box)))
+                 (if b
+                     (lp ids (cons b capture) (cons b formals)
+                         (cons (lambda (x)
+                                 #`(let-syntax ((#,id 
(identifier-syntax-from-box #,b)))
+                                     #,x))
+                               wrappers)
+                         patterns)
+                     (lp ids capture formals
+                         (cons (lambda (x)
+                                 #`(let-syntax ((#,id (unsupported-binding 
'#,id)))
+                                     #,x))
+                               wrappers)
+                         patterns))))
+              ((pattern-variable)
+               (let ((t (datum->syntax id (gensym "p ")))
+                     (nested (within-nested-ellipses id (cdr val))))
+                 (lp ids capture formals
+                     (cons (lambda (x)
+                             #`(with-syntax ((#,t '#,nested))
+                                 #,x))
+                           wrappers)
+                     ;; This dance is to hide these pattern variables
+                     ;; from the expander.
+                     (cons (list (datum->syntax #'here (syntax->datum id))
+                                 (cdr val)
+                                 t)
+                           patterns))))
+              (else
+               ;; Interestingly, this case can include globals (and
+               ;; global macros), now that Guile tracks which globals it
+               ;; introduces.  Not sure what to do here!  For now, punt.
+               ;; 
+               (lp ids capture formals wrappers patterns))))))))))
+
+(define-syntax the-environment
+  (lambda (x)
+    (syntax-case x ()
+      ((the-environment)
+       #'(the-environment the-environment))
+      ((the-environment scope)
+       (call-with-values (lambda ()
+                           (analyze-identifiers
+                            (syntax-locally-bound-identifiers #'scope)))
+         (lambda (capture formals wrappers patterns)
+           (define (wrap-expression x)
+             (let lp ((x x) (wrappers wrappers))
+               (if (null? wrappers)
+                   x
+                   (lp ((car wrappers) x) (cdr wrappers)))))
+           (with-syntax (((f ...) formals)
+                         ((c ...) capture)
+                         (((pname plvl pformal) ...) patterns)
+                         (wrapped (wrap-expression #'(begin #f exp))))
+             #'(make-lexical-environment
+                #'scope
+                (lambda (exp pformal ...)
+                  (with-syntax ((exp exp)
+                                (pformal pformal)
+                                ...)
+                    #'(lambda (f ...)
+                        wrapped)))
+                (list c ...)
+                (list (list 'pname plvl #'pformal) ...)))))))))
+
+(define (env-module e)
+  (cond
+   ((lexical-environment? e) (resolve-module (syntax-module (lexenv-scope e))))
+   ((module? e) e)
+   (else (error "invalid lexical environment" e))))
+
+(define (env-boxes e)
+  (cond
+   ((lexical-environment? e) (lexenv-boxes e))
+   ((module? e) '())
+   (else (error "invalid lexical environment" e))))
+
+(define (local-wrap x e)
+  (cond
+   ((lexical-environment? e)
+    (apply (lexenv-wrapper e)
+           (datum->syntax (lexenv-scope e) x)
+           (map (lambda (l)
+                  (let ((name (car l))
+                        (lvl (cadr l))
+                        (scope (caddr l)))
+                    (within-nested-ellipses (datum->syntax scope name) lvl)))
+                (lexenv-patterns e))))
+   ((module? e) #`(lambda () #f #,x))
+   (else (error "invalid lexical environment" e))))
+
+(define (local-eval x e)
+  "Evaluate the expression @var{x} within the lexical environment @var{e}."
+  (apply (eval (local-wrap x e) (env-module e))
+         (env-boxes e)))
+
+(define* (local-compile x e #:key (opts '()))
+  "Compile and evaluate the expression @var{x} within the lexical
+environment @var{e}."
+  (apply (compile (local-wrap x e) #:env (env-module e)
+                  #:from 'scheme #:opts opts)
+         (env-boxes e)))
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 43a2cf5..847a25b 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -1,14463 +1,7334 @@
 (eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
 (if #f #f)
 
-(letrec*
-  ((#{top-level-eval-hook 28198}#
-     (lambda (#{x 58998}# #{mod 58999}#)
-       (primitive-eval #{x 58998}#)))
-   (#{maybe-name-value! 28203}#
-     (lambda (#{name 42551}# #{val 42552}#)
-       (if (if (struct? #{val 42552}#)
-             (eq? (struct-vtable #{val 42552}#)
-                  (vector-ref %expanded-vtables 14))
-             #f)
-         (let ((#{meta 42559}# (struct-ref #{val 42552}# 1)))
-           (if (not (assq 'name #{meta 42559}#))
-             (let ((#{v 42564}#
-                     (cons (cons 'name #{name 42551}#) #{meta 42559}#)))
-               (struct-set! #{val 42552}# 1 #{v 42564}#)))))))
-   (#{build-call 28205}#
-     (lambda (#{source 42296}#
-              #{fun-exp 42297}#
-              #{arg-exps 42298}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 11)
-         #{source 42296}#
-         #{fun-exp 42297}#
-         #{arg-exps 42298}#)))
-   (#{build-conditional 28206}#
-     (lambda (#{source 42304}#
-              #{test-exp 42305}#
-              #{then-exp 42306}#
-              #{else-exp 42307}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 10)
-         #{source 42304}#
-         #{test-exp 42305}#
-         #{then-exp 42306}#
-         #{else-exp 42307}#)))
-   (#{build-dynlet 28207}#
-     (lambda (#{source 42314}#
-              #{fluids 42315}#
-              #{vals 42316}#
-              #{body 42317}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 18)
-         #{source 42314}#
-         #{fluids 42315}#
-         #{vals 42316}#
-         #{body 42317}#)))
-   (#{build-lexical-reference 28208}#
-     (lambda (#{type 59000}#
-              #{source 59001}#
-              #{name 59002}#
-              #{var 59003}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 3)
-         #{source 59001}#
-         #{name 59002}#
-         #{var 59003}#)))
-   (#{build-lexical-assignment 28209}#
-     (lambda (#{source 42324}#
-              #{name 42325}#
-              #{var 42326}#
-              #{exp 42327}#)
-       (begin
-         (if (if (struct? #{exp 42327}#)
-               (eq? (struct-vtable #{exp 42327}#)
+(let ((session-id-4511 (if #f #f))
+      (transformer-environment-4572 (if #f #f)))
+  (letrec*
+    ((top-level-eval-hook-4509
+       (lambda (x-36254 mod-36255)
+         (primitive-eval x-36254)))
+     (maybe-name-value!-4515
+       (lambda (name-19069 val-19070)
+         (if (if (struct? val-19070)
+               (eq? (struct-vtable val-19070)
                     (vector-ref %expanded-vtables 14))
                #f)
-           (let ((#{meta 42343}# (struct-ref #{exp 42327}# 1)))
-             (if (not (assq 'name #{meta 42343}#))
-               (let ((#{v 42350}#
-                       (cons (cons 'name #{name 42325}#) #{meta 42343}#)))
-                 (struct-set! #{exp 42327}# 1 #{v 42350}#)))))
+           (let ((meta-19077 (struct-ref val-19070 1)))
+             (if (not (assq 'name meta-19077))
+               (let ((v-19082
+                       (cons (cons 'name name-19069) meta-19077)))
+                 (struct-set! val-19070 1 v-19082)))))))
+     (build-call-4517
+       (lambda (source-18814 fun-exp-18815 arg-exps-18816)
          (make-struct/no-tail
-           (vector-ref %expanded-vtables 4)
-           #{source 42324}#
-           #{name 42325}#
-           #{var 42326}#
-           #{exp 42327}#))))
-   (#{analyze-variable 28210}#
-     (lambda (#{mod 59009}#
-              #{var 59010}#
-              #{modref-cont 59011}#
-              #{bare-cont 59012}#)
-       (if (not #{mod 59009}#)
-         (#{bare-cont 59012}# #{var 59010}#)
-         (let ((#{kind 59013}# (car #{mod 59009}#))
-               (#{mod 59014}# (cdr #{mod 59009}#)))
-           (if (eqv? #{kind 59013}# 'public)
-             (#{modref-cont 59011}#
-               #{mod 59014}#
-               #{var 59010}#
-               #t)
-             (if (eqv? #{kind 59013}# 'private)
-               (if (not (equal?
-                          #{mod 59014}#
-                          (module-name (current-module))))
-                 (#{modref-cont 59011}#
-                   #{mod 59014}#
-                   #{var 59010}#
-                   #f)
-                 (#{bare-cont 59012}# #{var 59010}#))
-               (if (eqv? #{kind 59013}# 'bare)
-                 (#{bare-cont 59012}# #{var 59010}#)
-                 (if (eqv? #{kind 59013}# 'hygiene)
-                   (if (if (not (equal?
-                                  #{mod 59014}#
-                                  (module-name (current-module))))
-                         (module-variable
-                           (resolve-module #{mod 59014}#)
-                           #{var 59010}#)
-                         #f)
-                     (#{modref-cont 59011}#
-                       #{mod 59014}#
-                       #{var 59010}#
-                       #f)
-                     (#{bare-cont 59012}# #{var 59010}#))
-                   (syntax-violation
-                     #f
-                     "bad module kind"
-                     #{var 59010}#
-                     #{mod 59014}#)))))))))
-   (#{build-global-reference 28211}#
-     (lambda (#{source 59029}# #{var 59030}# #{mod 59031}#)
-       (#{analyze-variable 28210}#
-         #{mod 59031}#
-         #{var 59030}#
-         (lambda (#{mod 59034}# #{var 59035}# #{public? 59036}#)
-           (make-struct/no-tail
-             (vector-ref %expanded-vtables 5)
-             #{source 59029}#
-             #{mod 59034}#
-             #{var 59035}#
-             #{public? 59036}#))
-         (lambda (#{var 59043}#)
+           (vector-ref %expanded-vtables 11)
+           source-18814
+           fun-exp-18815
+           arg-exps-18816)))
+     (build-conditional-4518
+       (lambda (source-18822
+                test-exp-18823
+                then-exp-18824
+                else-exp-18825)
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 10)
+           source-18822
+           test-exp-18823
+           then-exp-18824
+           else-exp-18825)))
+     (build-dynlet-4519
+       (lambda (source-18832 fluids-18833 vals-18834 body-18835)
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 18)
+           source-18832
+           fluids-18833
+           vals-18834
+           body-18835)))
+     (build-lexical-reference-4520
+       (lambda (type-36256 source-36257 name-36258 var-36259)
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 3)
+           source-36257
+           name-36258
+           var-36259)))
+     (build-lexical-assignment-4521
+       (lambda (source-18842 name-18843 var-18844 exp-18845)
+         (begin
+           (if (if (struct? exp-18845)
+                 (eq? (struct-vtable exp-18845)
+                      (vector-ref %expanded-vtables 14))
+                 #f)
+             (let ((meta-18861 (struct-ref exp-18845 1)))
+               (if (not (assq 'name meta-18861))
+                 (let ((v-18868
+                         (cons (cons 'name name-18843) meta-18861)))
+                   (struct-set! exp-18845 1 v-18868)))))
            (make-struct/no-tail
-             (vector-ref %expanded-vtables 7)
-             #{source 59029}#
-             #{var 59043}#)))))
-   (#{build-global-assignment 28212}#
-     (lambda (#{source 42359}#
-              #{var 42360}#
-              #{exp 42361}#
-              #{mod 42362}#)
-       (begin
-         (if (if (struct? #{exp 42361}#)
-               (eq? (struct-vtable #{exp 42361}#)
-                    (vector-ref %expanded-vtables 14))
-               #f)
-           (let ((#{meta 42378}# (struct-ref #{exp 42361}# 1)))
-             (if (not (assq 'name #{meta 42378}#))
-               (let ((#{v 42385}#
-                       (cons (cons 'name #{var 42360}#) #{meta 42378}#)))
-                 (struct-set! #{exp 42361}# 1 #{v 42385}#)))))
-         (#{analyze-variable 28210}#
-           #{mod 42362}#
-           #{var 42360}#
-           (lambda (#{mod 42390}# #{var 42391}# #{public? 42392}#)
+             (vector-ref %expanded-vtables 4)
+             source-18842
+             name-18843
+             var-18844
+             exp-18845))))
+     (analyze-variable-4522
+       (lambda (mod-36265
+                var-36266
+                modref-cont-36267
+                bare-cont-36268)
+         (if (not mod-36265)
+           (bare-cont-36268 var-36266)
+           (let ((kind-36269 (car mod-36265))
+                 (mod-36270 (cdr mod-36265)))
+             (if (eqv? kind-36269 'public)
+               (modref-cont-36267 mod-36270 var-36266 #t)
+               (if (eqv? kind-36269 'private)
+                 (if (not (equal? mod-36270 (module-name (current-module))))
+                   (modref-cont-36267 mod-36270 var-36266 #f)
+                   (bare-cont-36268 var-36266))
+                 (if (eqv? kind-36269 'bare)
+                   (bare-cont-36268 var-36266)
+                   (if (eqv? kind-36269 'hygiene)
+                     (if (if (not (equal?
+                                    mod-36270
+                                    (module-name (current-module))))
+                           (module-variable
+                             (resolve-module mod-36270)
+                             var-36266)
+                           #f)
+                       (modref-cont-36267 mod-36270 var-36266 #f)
+                       (bare-cont-36268 var-36266))
+                     (syntax-violation
+                       #f
+                       "bad module kind"
+                       var-36266
+                       mod-36270)))))))))
+     (build-global-reference-4523
+       (lambda (source-36285 var-36286 mod-36287)
+         (analyze-variable-4522
+           mod-36287
+           var-36286
+           (lambda (mod-36290 var-36291 public?-36292)
              (make-struct/no-tail
-               (vector-ref %expanded-vtables 6)
-               #{source 42359}#
-               #{mod 42390}#
-               #{var 42391}#
-               #{public? 42392}#
-               #{exp 42361}#))
-           (lambda (#{var 42400}#)
+               (vector-ref %expanded-vtables 5)
+               source-36285
+               mod-36290
+               var-36291
+               public?-36292))
+           (lambda (var-36299)
              (make-struct/no-tail
-               (vector-ref %expanded-vtables 8)
-               #{source 42359}#
-               #{var 42400}#
-               #{exp 42361}#))))))
-   (#{build-global-definition 28213}#
-     (lambda (#{source 59048}# #{var 59049}# #{exp 59050}#)
-       (begin
-         (if (if (struct? #{exp 59050}#)
-               (eq? (struct-vtable #{exp 59050}#)
-                    (vector-ref %expanded-vtables 14))
-               #f)
-           (let ((#{meta 59066}# (struct-ref #{exp 59050}# 1)))
-             (if (not (assq 'name #{meta 59066}#))
-               (let ((#{v 59073}#
-                       (cons (cons 'name #{var 59049}#) #{meta 59066}#)))
-                 (struct-set! #{exp 59050}# 1 #{v 59073}#)))))
-         (make-struct/no-tail
-           (vector-ref %expanded-vtables 9)
-           #{source 59048}#
-           #{var 59049}#
-           #{exp 59050}#))))
-   (#{build-simple-lambda 28214}#
-     (lambda (#{src 42406}#
-              #{req 42407}#
-              #{rest 42408}#
-              #{vars 42409}#
-              #{meta 42410}#
-              #{exp 42411}#)
-       (let ((#{body 42417}#
+               (vector-ref %expanded-vtables 7)
+               source-36285
+               var-36299)))))
+     (build-global-assignment-4524
+       (lambda (source-18877 var-18878 exp-18879 mod-18880)
+         (begin
+           (if (if (struct? exp-18879)
+                 (eq? (struct-vtable exp-18879)
+                      (vector-ref %expanded-vtables 14))
+                 #f)
+             (let ((meta-18896 (struct-ref exp-18879 1)))
+               (if (not (assq 'name meta-18896))
+                 (let ((v-18903
+                         (cons (cons 'name var-18878) meta-18896)))
+                   (struct-set! exp-18879 1 v-18903)))))
+           (analyze-variable-4522
+             mod-18880
+             var-18878
+             (lambda (mod-18908 var-18909 public?-18910)
                (make-struct/no-tail
-                 (vector-ref %expanded-vtables 15)
-                 #{src 42406}#
-                 #{req 42407}#
-                 #f
-                 #{rest 42408}#
-                 #f
-                 '()
-                 #{vars 42409}#
-                 #{exp 42411}#
-                 #f)))
-         (make-struct/no-tail
-           (vector-ref %expanded-vtables 14)
-           #{src 42406}#
-           #{meta 42410}#
-           #{body 42417}#))))
-   (#{build-primcall 28217}#
-     (lambda (#{src 42429}# #{name 42430}# #{args 42431}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 12)
-         #{src 42429}#
-         #{name 42430}#
-         #{args 42431}#)))
-   (#{build-sequence 28220}#
-     (lambda (#{src 59081}# #{exps 59082}#)
-       (if (null? (cdr #{exps 59082}#))
-         (car #{exps 59082}#)
-         (let ((#{head 59086}# (car #{exps 59082}#))
-               (#{tail 59087}#
-                 (#{build-sequence 28220}#
+                 (vector-ref %expanded-vtables 6)
+                 source-18877
+                 mod-18908
+                 var-18909
+                 public?-18910
+                 exp-18879))
+             (lambda (var-18918)
+               (make-struct/no-tail
+                 (vector-ref %expanded-vtables 8)
+                 source-18877
+                 var-18918
+                 exp-18879))))))
+     (build-global-definition-4525
+       (lambda (source-36304 var-36305 exp-36306)
+         (begin
+           (if (if (struct? exp-36306)
+                 (eq? (struct-vtable exp-36306)
+                      (vector-ref %expanded-vtables 14))
+                 #f)
+             (let ((meta-36322 (struct-ref exp-36306 1)))
+               (if (not (assq 'name meta-36322))
+                 (let ((v-36329
+                         (cons (cons 'name var-36305) meta-36322)))
+                   (struct-set! exp-36306 1 v-36329)))))
+           (make-struct/no-tail
+             (vector-ref %expanded-vtables 9)
+             source-36304
+             var-36305
+             exp-36306))))
+     (build-simple-lambda-4526
+       (lambda (src-18924
+                req-18925
+                rest-18926
+                vars-18927
+                meta-18928
+                exp-18929)
+         (let ((body-18935
+                 (make-struct/no-tail
+                   (vector-ref %expanded-vtables 15)
+                   src-18924
+                   req-18925
                    #f
-                   (cdr #{exps 59082}#))))
+                   rest-18926
+                   #f
+                   '()
+                   vars-18927
+                   exp-18929
+                   #f)))
            (make-struct/no-tail
-             (vector-ref %expanded-vtables 13)
-             #{src 59081}#
-             #{head 59086}#
-             #{tail 59087}#)))))
-   (#{build-named-let 28222}#
-     (lambda (#{src 42437}#
-              #{ids 42438}#
-              #{vars 42439}#
-              #{val-exps 42440}#
-              #{body-exp 42441}#)
-       (let ((#{f 42442}# (car #{vars 42439}#))
-             (#{f-name 42443}# (car #{ids 42438}#))
-             (#{vars 42444}# (cdr #{vars 42439}#))
-             (#{ids 42445}# (cdr #{ids 42438}#)))
-         (let ((#{proc 42446}#
-                 (let ((#{body 42466}#
+             (vector-ref %expanded-vtables 14)
+             src-18924
+             meta-18928
+             body-18935))))
+     (build-primcall-4529
+       (lambda (src-18947 name-18948 args-18949)
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 12)
+           src-18947
+           name-18948
+           args-18949)))
+     (build-sequence-4532
+       (lambda (src-36337 exps-36338)
+         (if (null? (cdr exps-36338))
+           (car exps-36338)
+           (let ((head-36342 (car exps-36338))
+                 (tail-36343
+                   (build-sequence-4532 #f (cdr exps-36338))))
+             (make-struct/no-tail
+               (vector-ref %expanded-vtables 13)
+               src-36337
+               head-36342
+               tail-36343)))))
+     (build-named-let-4534
+       (lambda (src-18955
+                ids-18956
+                vars-18957
+                val-exps-18958
+                body-exp-18959)
+         (let ((f-18960 (car vars-18957))
+               (f-name-18961 (car ids-18956))
+               (vars-18962 (cdr vars-18957))
+               (ids-18963 (cdr ids-18956)))
+           (let ((proc-18964
+                   (let ((body-18984
+                           (make-struct/no-tail
+                             (vector-ref %expanded-vtables 15)
+                             src-18955
+                             ids-18963
+                             #f
+                             #f
+                             #f
+                             '()
+                             vars-18962
+                             body-exp-18959
+                             #f)))
+                     (make-struct/no-tail
+                       (vector-ref %expanded-vtables 14)
+                       src-18955
+                       '()
+                       body-18984))))
+             (begin
+               (if (if (struct? proc-18964)
+                     (eq? (struct-vtable proc-18964)
+                          (vector-ref %expanded-vtables 14))
+                     #f)
+                 (let ((meta-19008 (struct-ref proc-18964 1)))
+                   (if (not (assq 'name meta-19008))
+                     (let ((v-19015
+                             (cons (cons 'name f-name-18961) meta-19008)))
+                       (struct-set! proc-18964 1 v-19015)))))
+               (for-each
+                 maybe-name-value!-4515
+                 ids-18963
+                 val-exps-18958)
+               (let ((names-19039 (list f-name-18961))
+                     (gensyms-19040 (list f-18960))
+                     (vals-19041 (list proc-18964))
+                     (body-19042
+                       (let ((fun-exp-19046
+                               (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 3)
+                                 src-18955
+                                 f-name-18961
+                                 f-18960)))
                          (make-struct/no-tail
-                           (vector-ref %expanded-vtables 15)
-                           #{src 42437}#
-                           #{ids 42445}#
-                           #f
-                           #f
-                           #f
-                           '()
-                           #{vars 42444}#
-                           #{body-exp 42441}#
-                           #f)))
-                   (make-struct/no-tail
-                     (vector-ref %expanded-vtables 14)
-                     #{src 42437}#
-                     '()
-                     #{body 42466}#))))
+                           (vector-ref %expanded-vtables 11)
+                           src-18955
+                           fun-exp-19046
+                           val-exps-18958))))
+                 (make-struct/no-tail
+                   (vector-ref %expanded-vtables 17)
+                   src-18955
+                   #f
+                   names-19039
+                   gensyms-19040
+                   vals-19041
+                   body-19042)))))))
+     (build-letrec-4535
+       (lambda (src-19062
+                in-order?-19063
+                ids-19064
+                vars-19065
+                val-exps-19066
+                body-exp-19067)
+         (if (null? vars-19065)
+           body-exp-19067
            (begin
-             (if (if (struct? #{proc 42446}#)
-                   (eq? (struct-vtable #{proc 42446}#)
-                        (vector-ref %expanded-vtables 14))
-                   #f)
-               (let ((#{meta 42490}# (struct-ref #{proc 42446}# 1)))
-                 (if (not (assq 'name #{meta 42490}#))
-                   (let ((#{v 42497}#
-                           (cons (cons 'name #{f-name 42443}#)
-                                 #{meta 42490}#)))
-                     (struct-set! #{proc 42446}# 1 #{v 42497}#)))))
              (for-each
-               #{maybe-name-value! 28203}#
-               #{ids 42445}#
-               #{val-exps 42440}#)
-             (let ((#{names 42521}# (list #{f-name 42443}#))
-                   (#{gensyms 42522}# (list #{f 42442}#))
-                   (#{vals 42523}# (list #{proc 42446}#))
-                   (#{body 42524}#
-                     (let ((#{fun-exp 42528}#
-                             (make-struct/no-tail
-                               (vector-ref %expanded-vtables 3)
-                               #{src 42437}#
-                               #{f-name 42443}#
-                               #{f 42442}#)))
-                       (make-struct/no-tail
-                         (vector-ref %expanded-vtables 11)
-                         #{src 42437}#
-                         #{fun-exp 42528}#
-                         #{val-exps 42440}#))))
-               (make-struct/no-tail
-                 (vector-ref %expanded-vtables 17)
-                 #{src 42437}#
-                 #f
-                 #{names 42521}#
-                 #{gensyms 42522}#
-                 #{vals 42523}#
-                 #{body 42524}#)))))))
-   (#{build-letrec 28223}#
-     (lambda (#{src 42544}#
-              #{in-order? 42545}#
-              #{ids 42546}#
-              #{vars 42547}#
-              #{val-exps 42548}#
-              #{body-exp 42549}#)
-       (if (null? #{vars 42547}#)
-         #{body-exp 42549}#
-         (begin
-           (for-each
-             #{maybe-name-value! 28203}#
-             #{ids 42546}#
-             #{val-exps 42548}#)
-           (make-struct/no-tail
-             (vector-ref %expanded-vtables 17)
-             #{src 42544}#
-             #{in-order? 42545}#
-             #{ids 42546}#
-             #{vars 42547}#
-             #{val-exps 42548}#
-             #{body-exp 42549}#)))))
-   (#{source-annotation 28232}#
-     (lambda (#{x 42575}#)
-       (if (if (vector? #{x 42575}#)
-             (if (= (vector-length #{x 42575}#) 4)
-               (eq? (vector-ref #{x 42575}# 0) 'syntax-object)
-               #f)
-             #f)
-         (#{source-annotation 28232}#
-           (vector-ref #{x 42575}# 1))
-         (if (pair? #{x 42575}#)
-           (let ((#{props 42590}# (source-properties #{x 42575}#)))
-             (if (pair? #{props 42590}#) #{props 42590}# #f))
-           #f))))
-   (#{extend-env 28233}#
-     (lambda (#{labels 42592}# #{bindings 42593}# #{r 42594}#)
-       (if (null? #{labels 42592}#)
-         #{r 42594}#
-         (#{extend-env 28233}#
-           (cdr #{labels 42592}#)
-           (cdr #{bindings 42593}#)
-           (cons (cons (car #{labels 42592}#)
-                       (car #{bindings 42593}#))
-                 #{r 42594}#)))))
-   (#{extend-var-env 28234}#
-     (lambda (#{labels 42595}# #{vars 42596}# #{r 42597}#)
-       (if (null? #{labels 42595}#)
-         #{r 42597}#
-         (#{extend-var-env 28234}#
-           (cdr #{labels 42595}#)
-           (cdr #{vars 42596}#)
-           (cons (cons (car #{labels 42595}#)
-                       (cons 'lexical (car #{vars 42596}#)))
-                 #{r 42597}#)))))
-   (#{macros-only-env 28235}#
-     (lambda (#{r 42598}#)
-       (if (null? #{r 42598}#)
-         '()
-         (let ((#{a 42599}# (car #{r 42598}#)))
-           (if (let ((#{t 42602}# (car (cdr #{a 42599}#))))
-                 (if (eq? #{t 42602}# 'macro)
-                   #t
-                   (eq? #{t 42602}# 'syntax-parameter)))
-             (cons #{a 42599}#
-                   (#{macros-only-env 28235}# (cdr #{r 42598}#)))
-             (#{macros-only-env 28235}# (cdr #{r 42598}#)))))))
-   (#{global-extend 28236}#
-     (lambda (#{type 42604}# #{sym 42605}# #{val 42606}#)
-       (module-define!
-         (current-module)
-         #{sym 42605}#
-         (make-syntax-transformer
-           #{sym 42605}#
-           #{type 42604}#
-           #{val 42606}#))))
-   (#{id? 28238}#
-     (lambda (#{x 35679}#)
-       (if (symbol? #{x 35679}#)
-         #t
-         (if (if (vector? #{x 35679}#)
-               (if (= (vector-length #{x 35679}#) 4)
-                 (eq? (vector-ref #{x 35679}# 0) 'syntax-object)
+               maybe-name-value!-4515
+               ids-19064
+               val-exps-19066)
+             (make-struct/no-tail
+               (vector-ref %expanded-vtables 17)
+               src-19062
+               in-order?-19063
+               ids-19064
+               vars-19065
+               val-exps-19066
+               body-exp-19067)))))
+     (source-annotation-4544
+       (lambda (x-19093)
+         (if (if (vector? x-19093)
+               (if (= (vector-length x-19093) 4)
+                 (eq? (vector-ref x-19093 0) 'syntax-object)
                  #f)
                #f)
-           (symbol? (vector-ref #{x 35679}# 1))
-           #f))))
-   (#{gen-labels 28241}#
-     (lambda (#{ls 42616}#)
-       (if (null? #{ls 42616}#)
-         '()
-         (cons (symbol->string (gensym "i"))
-               (#{gen-labels 28241}# (cdr #{ls 42616}#))))))
-   (#{make-binding-wrap 28252}#
-     (lambda (#{ids 42620}# #{labels 42621}# #{w 42622}#)
-       (if (null? #{ids 42620}#)
-         #{w 42622}#
-         (cons (car #{w 42622}#)
-               (cons (let ((#{labelvec 42623}#
-                             (list->vector #{labels 42621}#)))
-                       (let ((#{n 42624}# (vector-length #{labelvec 42623}#)))
-                         (let ((#{symnamevec 42625}# (make-vector #{n 42624}#))
-                               (#{marksvec 42626}# (make-vector #{n 42624}#)))
-                           (begin
-                             (letrec*
-                               ((#{f 42627}#
-                                  (lambda (#{ids 42824}# #{i 42825}#)
-                                    (if (not (null? #{ids 42824}#))
-                                      (call-with-values
-                                        (lambda ()
-                                          (let ((#{x 42828}#
-                                                  (car #{ids 42824}#)))
-                                            (if (if (vector? #{x 42828}#)
-                                                  (if (= (vector-length
-                                                           #{x 42828}#)
-                                                         4)
-                                                    (eq? (vector-ref
-                                                           #{x 42828}#
-                                                           0)
-                                                         'syntax-object)
+           (source-annotation-4544 (vector-ref x-19093 1))
+           (if (pair? x-19093)
+             (let ((props-19108 (source-properties x-19093)))
+               (if (pair? props-19108) props-19108 #f))
+             #f))))
+     (extend-env-4545
+       (lambda (labels-19110 bindings-19111 r-19112)
+         (if (null? labels-19110)
+           r-19112
+           (extend-env-4545
+             (cdr labels-19110)
+             (cdr bindings-19111)
+             (cons (cons (car labels-19110) (car bindings-19111))
+                   r-19112)))))
+     (extend-var-env-4546
+       (lambda (labels-19113 vars-19114 r-19115)
+         (if (null? labels-19113)
+           r-19115
+           (extend-var-env-4546
+             (cdr labels-19113)
+             (cdr vars-19114)
+             (cons (cons (car labels-19113)
+                         (cons 'lexical (car vars-19114)))
+                   r-19115)))))
+     (macros-only-env-4547
+       (lambda (r-19116)
+         (if (null? r-19116)
+           '()
+           (let ((a-19117 (car r-19116)))
+             (if (let ((t-19120 (car (cdr a-19117))))
+                   (if (eq? t-19120 'macro)
+                     #t
+                     (eq? t-19120 'syntax-parameter)))
+               (cons a-19117
+                     (macros-only-env-4547 (cdr r-19116)))
+               (macros-only-env-4547 (cdr r-19116)))))))
+     (global-extend-4548
+       (lambda (type-19122 sym-19123 val-19124)
+         (module-define!
+           (current-module)
+           sym-19123
+           (make-syntax-transformer
+             sym-19123
+             type-19122
+             val-19124))))
+     (id?-4550
+       (lambda (x-11889)
+         (if (symbol? x-11889)
+           #t
+           (if (if (vector? x-11889)
+                 (if (= (vector-length x-11889) 4)
+                   (eq? (vector-ref x-11889 0) 'syntax-object)
+                   #f)
+                 #f)
+             (symbol? (vector-ref x-11889 1))
+             #f))))
+     (gen-labels-4553
+       (lambda (ls-19134)
+         (if (null? ls-19134)
+           '()
+           (cons (string-append
+                   "l-"
+                   (session-id-4511)
+                   (symbol->string (gensym "-")))
+                 (gen-labels-4553 (cdr ls-19134))))))
+     (make-binding-wrap-4564
+       (lambda (ids-19138 labels-19139 w-19140)
+         (if (null? ids-19138)
+           w-19140
+           (cons (car w-19140)
+                 (cons (let ((labelvec-19141 (list->vector labels-19139)))
+                         (let ((n-19142 (vector-length labelvec-19141)))
+                           (let ((symnamevec-19143 (make-vector n-19142))
+                                 (marksvec-19144 (make-vector n-19142)))
+                             (begin
+                               (letrec*
+                                 ((f-19145
+                                    (lambda (ids-19342 i-19343)
+                                      (if (not (null? ids-19342))
+                                        (call-with-values
+                                          (lambda ()
+                                            (let ((x-19346 (car ids-19342)))
+                                              (if (if (vector? x-19346)
+                                                    (if (= (vector-length
+                                                             x-19346)
+                                                           4)
+                                                      (eq? (vector-ref
+                                                             x-19346
+                                                             0)
+                                                           'syntax-object)
+                                                      #f)
                                                     #f)
-                                                  #f)
-                                              (values
-                                                (vector-ref #{x 42828}# 1)
-                                                (let ((#{m1 42844}#
-                                                        (car #{w 42622}#))
-                                                      (#{m2 42845}#
-                                                        (car (vector-ref
-                                                               #{x 42828}#
-                                                               2))))
-                                                  (if (null? #{m2 42845}#)
-                                                    #{m1 42844}#
-                                                    (append
-                                                      #{m1 42844}#
-                                                      #{m2 42845}#))))
-                                              (values
-                                                #{x 42828}#
-                                                (car #{w 42622}#)))))
-                                        (lambda (#{symname 42865}#
-                                                 #{marks 42866}#)
-                                          (begin
-                                            (vector-set!
-                                              #{symnamevec 42625}#
-                                              #{i 42825}#
-                                              #{symname 42865}#)
-                                            (vector-set!
-                                              #{marksvec 42626}#
-                                              #{i 42825}#
-                                              #{marks 42866}#)
-                                            (#{f 42627}#
-                                              (cdr #{ids 42824}#)
-                                              (#{1+}# #{i 42825}#)))))))))
-                               (#{f 42627}# #{ids 42620}# 0))
-                             (vector
-                               'ribcage
-                               #{symnamevec 42625}#
-                               #{marksvec 42626}#
-                               #{labelvec 42623}#)))))
-                     (cdr #{w 42622}#))))))
-   (#{same-marks? 28256}#
-     (lambda (#{x 59088}# #{y 59089}#)
-       (if (eq? #{x 59088}# #{y 59089}#)
-         (eq? #{x 59088}# #{y 59089}#)
-         (if (not (null? #{x 59088}#))
-           (if (not (null? #{y 59089}#))
-             (if (eq? (car #{x 59088}#) (car #{y 59089}#))
-               (#{same-marks? 28256}#
-                 (cdr #{x 59088}#)
-                 (cdr #{y 59089}#))
+                                                (values
+                                                  (vector-ref x-19346 1)
+                                                  (let ((m1-19362
+                                                          (car w-19140))
+                                                        (m2-19363
+                                                          (car (vector-ref
+                                                                 x-19346
+                                                                 2))))
+                                                    (if (null? m2-19363)
+                                                      m1-19362
+                                                      (append
+                                                        m1-19362
+                                                        m2-19363))))
+                                                (values
+                                                  x-19346
+                                                  (car w-19140)))))
+                                          (lambda (symname-19383 marks-19384)
+                                            (begin
+                                              (vector-set!
+                                                symnamevec-19143
+                                                i-19343
+                                                symname-19383)
+                                              (vector-set!
+                                                marksvec-19144
+                                                i-19343
+                                                marks-19384)
+                                              (f-19145
+                                                (cdr ids-19342)
+                                                (#{1+}# i-19343)))))))))
+                                 (f-19145 ids-19138 0))
+                               (vector
+                                 'ribcage
+                                 symnamevec-19143
+                                 marksvec-19144
+                                 labelvec-19141)))))
+                       (cdr w-19140))))))
+     (same-marks?-4568
+       (lambda (x-36344 y-36345)
+         (if (eq? x-36344 y-36345)
+           (eq? x-36344 y-36345)
+           (if (not (null? x-36344))
+             (if (not (null? y-36345))
+               (if (eq? (car x-36344) (car y-36345))
+                 (same-marks?-4568 (cdr x-36344) (cdr y-36345))
+                 #f)
                #f)
-             #f)
-           #f))))
-   (#{id-var-name 28257}#
-     (lambda (#{id 59097}# #{w 59098}# #{mod 59099}#)
-       (letrec*
-         ((#{search 59100}#
-            (lambda (#{sym 59166}#
-                     #{subst 59167}#
-                     #{marks 59168}#
-                     #{mod 59169}#)
-              (if (null? #{subst 59167}#)
-                (values #f #{marks 59168}#)
-                (let ((#{fst 59170}# (car #{subst 59167}#)))
-                  (if (eq? #{fst 59170}# 'shift)
-                    (#{search 59100}#
-                      #{sym 59166}#
-                      (cdr #{subst 59167}#)
-                      (cdr #{marks 59168}#)
-                      #{mod 59169}#)
-                    (let ((#{symnames 59172}# (vector-ref #{fst 59170}# 1)))
-                      (if (vector? #{symnames 59172}#)
-                        (#{search-vector-rib 59102}#
-                          #{sym 59166}#
-                          #{subst 59167}#
-                          #{marks 59168}#
-                          #{symnames 59172}#
-                          #{fst 59170}#
-                          #{mod 59169}#)
-                        (#{search-list-rib 59101}#
-                          #{sym 59166}#
-                          #{subst 59167}#
-                          #{marks 59168}#
-                          #{symnames 59172}#
-                          #{fst 59170}#
-                          #{mod 59169}#))))))))
-          (#{search-list-rib 59101}#
-            (lambda (#{sym 59347}#
-                     #{subst 59348}#
-                     #{marks 59349}#
-                     #{symnames 59350}#
-                     #{ribcage 59351}#
-                     #{mod 59352}#)
-              (letrec*
-                ((#{f 59353}#
-                   (lambda (#{symnames 59356}# #{i 59357}#)
-                     (if (null? #{symnames 59356}#)
-                       (#{search 59100}#
-                         #{sym 59347}#
-                         (cdr #{subst 59348}#)
-                         #{marks 59349}#
-                         #{mod 59352}#)
-                       (if (if (eq? (car #{symnames 59356}#) #{sym 59347}#)
-                             (#{same-marks? 28256}#
-                               #{marks 59349}#
-                               (list-ref
-                                 (vector-ref #{ribcage 59351}# 2)
-                                 #{i 59357}#))
-                             #f)
-                         (let ((#{n 59503}#
-                                 (list-ref
-                                   (vector-ref #{ribcage 59351}# 3)
-                                   #{i 59357}#)))
-                           (if (pair? #{n 59503}#)
-                             (if (equal? #{mod 59352}# (car #{n 59503}#))
-                               (values (cdr #{n 59503}#) #{marks 59349}#)
-                               (#{f 59353}#
-                                 (cdr #{symnames 59356}#)
-                                 (#{1+}# #{i 59357}#)))
-                             (values #{n 59503}# #{marks 59349}#)))
-                         (#{f 59353}#
-                           (cdr #{symnames 59356}#)
-                           (#{1+}# #{i 59357}#)))))))
-                (#{f 59353}# #{symnames 59350}# 0))))
-          (#{search-vector-rib 59102}#
-            (lambda (#{sym 59508}#
-                     #{subst 59509}#
-                     #{marks 59510}#
-                     #{symnames 59511}#
-                     #{ribcage 59512}#
-                     #{mod 59513}#)
-              (let ((#{n 59514}# (vector-length #{symnames 59511}#)))
+             #f))))
+     (id-var-name-4569
+       (lambda (id-36353 w-36354 mod-36355)
+         (letrec*
+           ((search-36356
+              (lambda (sym-36422 subst-36423 marks-36424 mod-36425)
+                (if (null? subst-36423)
+                  (values #f marks-36424)
+                  (let ((fst-36426 (car subst-36423)))
+                    (if (eq? fst-36426 'shift)
+                      (search-36356
+                        sym-36422
+                        (cdr subst-36423)
+                        (cdr marks-36424)
+                        mod-36425)
+                      (let ((symnames-36428 (vector-ref fst-36426 1)))
+                        (if (vector? symnames-36428)
+                          (search-vector-rib-36358
+                            sym-36422
+                            subst-36423
+                            marks-36424
+                            symnames-36428
+                            fst-36426
+                            mod-36425)
+                          (search-list-rib-36357
+                            sym-36422
+                            subst-36423
+                            marks-36424
+                            symnames-36428
+                            fst-36426
+                            mod-36425))))))))
+            (search-list-rib-36357
+              (lambda (sym-36603
+                       subst-36604
+                       marks-36605
+                       symnames-36606
+                       ribcage-36607
+                       mod-36608)
                 (letrec*
-                  ((#{f 59515}#
-                     (lambda (#{i 59518}#)
-                       (if (= #{i 59518}# #{n 59514}#)
-                         (#{search 59100}#
-                           #{sym 59508}#
-                           (cdr #{subst 59509}#)
-                           #{marks 59510}#
-                           #{mod 59513}#)
-                         (if (if (eq? (vector-ref
-                                        #{symnames 59511}#
-                                        #{i 59518}#)
-                                      #{sym 59508}#)
-                               (#{same-marks? 28256}#
-                                 #{marks 59510}#
-                                 (vector-ref
-                                   (vector-ref #{ribcage 59512}# 2)
-                                   #{i 59518}#))
+                  ((f-36609
+                     (lambda (symnames-36612 i-36613)
+                       (if (null? symnames-36612)
+                         (search-36356
+                           sym-36603
+                           (cdr subst-36604)
+                           marks-36605
+                           mod-36608)
+                         (if (if (eq? (car symnames-36612) sym-36603)
+                               (same-marks?-4568
+                                 marks-36605
+                                 (list-ref
+                                   (vector-ref ribcage-36607 2)
+                                   i-36613))
                                #f)
-                           (let ((#{n 59665}#
+                           (let ((n-36759
+                                   (list-ref
+                                     (vector-ref ribcage-36607 3)
+                                     i-36613)))
+                             (if (pair? n-36759)
+                               (if (equal? mod-36608 (car n-36759))
+                                 (values (cdr n-36759) marks-36605)
+                                 (f-36609
+                                   (cdr symnames-36612)
+                                   (#{1+}# i-36613)))
+                               (values n-36759 marks-36605)))
+                           (f-36609 (cdr symnames-36612) (#{1+}# i-36613)))))))
+                  (f-36609 symnames-36606 0))))
+            (search-vector-rib-36358
+              (lambda (sym-36764
+                       subst-36765
+                       marks-36766
+                       symnames-36767
+                       ribcage-36768
+                       mod-36769)
+                (let ((n-36770 (vector-length symnames-36767)))
+                  (letrec*
+                    ((f-36771
+                       (lambda (i-36774)
+                         (if (= i-36774 n-36770)
+                           (search-36356
+                             sym-36764
+                             (cdr subst-36765)
+                             marks-36766
+                             mod-36769)
+                           (if (if (eq? (vector-ref symnames-36767 i-36774)
+                                        sym-36764)
+                                 (same-marks?-4568
+                                   marks-36766
                                    (vector-ref
-                                     (vector-ref #{ribcage 59512}# 3)
-                                     #{i 59518}#)))
-                             (if (pair? #{n 59665}#)
-                               (if (equal? #{mod 59513}# (car #{n 59665}#))
-                                 (values (cdr #{n 59665}#) #{marks 59510}#)
-                                 (#{f 59515}# (#{1+}# #{i 59518}#)))
-                               (values #{n 59665}# #{marks 59510}#)))
-                           (#{f 59515}# (#{1+}# #{i 59518}#)))))))
-                  (#{f 59515}# 0))))))
-         (if (symbol? #{id 59097}#)
-           (let ((#{t 59103}#
-                   (#{search 59100}#
-                     #{id 59097}#
-                     (cdr #{w 59098}#)
-                     (car #{w 59098}#)
-                     #{mod 59099}#)))
-             (if #{t 59103}# #{t 59103}# #{id 59097}#))
-           (if (if (vector? #{id 59097}#)
-                 (if (= (vector-length #{id 59097}#) 4)
-                   (eq? (vector-ref #{id 59097}# 0) 'syntax-object)
+                                     (vector-ref ribcage-36768 2)
+                                     i-36774))
+                                 #f)
+                             (let ((n-36921
+                                     (vector-ref
+                                       (vector-ref ribcage-36768 3)
+                                       i-36774)))
+                               (if (pair? n-36921)
+                                 (if (equal? mod-36769 (car n-36921))
+                                   (values (cdr n-36921) marks-36766)
+                                   (f-36771 (#{1+}# i-36774)))
+                                 (values n-36921 marks-36766)))
+                             (f-36771 (#{1+}# i-36774)))))))
+                    (f-36771 0))))))
+           (if (symbol? id-36353)
+             (let ((t-36359
+                     (search-36356
+                       id-36353
+                       (cdr w-36354)
+                       (car w-36354)
+                       mod-36355)))
+               (if t-36359 t-36359 id-36353))
+             (if (if (vector? id-36353)
+                   (if (= (vector-length id-36353) 4)
+                     (eq? (vector-ref id-36353 0) 'syntax-object)
+                     #f)
                    #f)
-                 #f)
-             (let ((#{id 59118}# (vector-ref #{id 59097}# 1))
-                   (#{w1 59119}# (vector-ref #{id 59097}# 2))
-                   (#{mod 59120}# (vector-ref #{id 59097}# 3)))
-               (let ((#{marks 59121}#
-                       (let ((#{m1 59131}# (car #{w 59098}#))
-                             (#{m2 59132}# (car #{w1 59119}#)))
-                         (if (null? #{m2 59132}#)
-                           #{m1 59131}#
-                           (append #{m1 59131}# #{m2 59132}#)))))
-                 (call-with-values
-                   (lambda ()
-                     (#{search 59100}#
-                       #{id 59118}#
-                       (cdr #{w 59098}#)
-                       #{marks 59121}#
-                       #{mod 59120}#))
-                   (lambda (#{new-id 59152}# #{marks 59153}#)
-                     (if #{new-id 59152}#
-                       #{new-id 59152}#
-                       (let ((#{t 59161}#
-                               (#{search 59100}#
-                                 #{id 59118}#
-                                 (cdr #{w1 59119}#)
-                                 #{marks 59153}#
-                                 #{mod 59120}#)))
-                         (if #{t 59161}# #{t 59161}# #{id 59118}#)))))))
-             (syntax-violation
-               'id-var-name
-               "invalid id"
-               #{id 59097}#))))))
-   (#{resolve-identifier 28258}#
-     (lambda (#{id 42873}#
-              #{w 42874}#
-              #{r 42875}#
-              #{mod 42876}#
-              #{resolve-syntax-parameters? 42877}#)
-       (let ((#{n 42881}#
-               (#{id-var-name 28257}#
-                 #{id 42873}#
-                 #{w 42874}#
-                 #{mod 42876}#)))
-         (if (if (vector? #{n 42881}#)
-               (if (= (vector-length #{n 42881}#) 4)
-                 (eq? (vector-ref #{n 42881}# 0) 'syntax-object)
-                 #f)
-               #f)
-           (#{resolve-identifier 28258}#
-             #{n 42881}#
-             #{w 42874}#
-             #{r 42875}#
-             #{mod 42876}#
-             #{resolve-syntax-parameters? 42877}#)
-           (if (symbol? #{n 42881}#)
-             (let ((#{mod 42896}#
-                     (if (if (vector? #{id 42873}#)
-                           (if (= (vector-length #{id 42873}#) 4)
-                             (eq? (vector-ref #{id 42873}# 0) 'syntax-object)
-                             #f)
-                           #f)
-                       (vector-ref #{id 42873}# 3)
-                       #{mod 42876}#)))
-               (let ((#{b 42897}#
-                       (let ((#{b 42900}#
-                               (let ((#{t 42901}#
-                                       (begin
-                                         (if (if (not #{mod 42896}#)
-                                               (current-module)
-                                               #f)
-                                           (warn "module system is booted, we 
should have a module"
-                                                 #{n 42881}#))
-                                         (let ((#{v 42950}#
-                                                 (module-variable
-                                                   (if #{mod 42896}#
-                                                     (resolve-module
-                                                       (cdr #{mod 42896}#))
-                                                     (current-module))
-                                                   #{n 42881}#)))
-                                           (if #{v 42950}#
-                                             (if (variable-bound? #{v 42950}#)
-                                               (let ((#{val 42959}#
-                                                       (variable-ref
-                                                         #{v 42950}#)))
-                                                 (if (macro? #{val 42959}#)
-                                                   (if (macro-type
-                                                         #{val 42959}#)
-                                                     (cons (macro-type
-                                                             #{val 42959}#)
-                                                           (macro-binding
-                                                             #{val 42959}#))
-                                                     #f)
-                                                   #f))
+               (let ((id-36374 (vector-ref id-36353 1))
+                     (w1-36375 (vector-ref id-36353 2))
+                     (mod-36376 (vector-ref id-36353 3)))
+                 (let ((marks-36377
+                         (let ((m1-36387 (car w-36354))
+                               (m2-36388 (car w1-36375)))
+                           (if (null? m2-36388)
+                             m1-36387
+                             (append m1-36387 m2-36388)))))
+                   (call-with-values
+                     (lambda ()
+                       (search-36356
+                         id-36374
+                         (cdr w-36354)
+                         marks-36377
+                         mod-36376))
+                     (lambda (new-id-36408 marks-36409)
+                       (if new-id-36408
+                         new-id-36408
+                         (let ((t-36417
+                                 (search-36356
+                                   id-36374
+                                   (cdr w1-36375)
+                                   marks-36409
+                                   mod-36376)))
+                           (if t-36417 t-36417 id-36374)))))))
+               (syntax-violation
+                 'id-var-name
+                 "invalid id"
+                 id-36353))))))
+     (locally-bound-identifiers-4570
+       (lambda (w-19391 mod-19392)
+         (letrec*
+           ((scan-19393
+              (lambda (subst-19398 results-19399)
+                (if (null? subst-19398)
+                  results-19399
+                  (let ((fst-19400 (car subst-19398)))
+                    (if (eq? fst-19400 'shift)
+                      (scan-19393 (cdr subst-19398) results-19399)
+                      (let ((symnames-19402 (vector-ref fst-19400 1))
+                            (marks-19403 (vector-ref fst-19400 2)))
+                        (if (vector? symnames-19402)
+                          (scan-vector-rib-19395
+                            subst-19398
+                            symnames-19402
+                            marks-19403
+                            results-19399)
+                          (scan-list-rib-19394
+                            subst-19398
+                            symnames-19402
+                            marks-19403
+                            results-19399))))))))
+            (scan-list-rib-19394
+              (lambda (subst-19520
+                       symnames-19521
+                       marks-19522
+                       results-19523)
+                (letrec*
+                  ((f-19524
+                     (lambda (symnames-19709 marks-19710 results-19711)
+                       (if (null? symnames-19709)
+                         (scan-19393 (cdr subst-19520) results-19711)
+                         (f-19524
+                           (cdr symnames-19709)
+                           (cdr marks-19710)
+                           (cons (let ((x-19717 (car symnames-19709))
+                                       (w-19718
+                                         (let ((w-19722
+                                                 (cons (car marks-19710)
+                                                       subst-19520)))
+                                           (cons (cons #f (car w-19722))
+                                                 (cons 'shift
+                                                       (cdr w-19722))))))
+                                   (if (if (null? (car w-19718))
+                                         (null? (cdr w-19718))
+                                         #f)
+                                     x-19717
+                                     (if (if (vector? x-19717)
+                                           (if (= (vector-length x-19717) 4)
+                                             (eq? (vector-ref x-19717 0)
+                                                  'syntax-object)
+                                             #f)
+                                           #f)
+                                       (let ((expression-19734
+                                               (vector-ref x-19717 1))
+                                             (wrap-19735
+                                               (let ((w2-19743
+                                                       (vector-ref x-19717 2)))
+                                                 (let ((m1-19744 (car w-19718))
+                                                       (s1-19745
+                                                         (cdr w-19718)))
+                                                   (if (null? m1-19744)
+                                                     (if (null? s1-19745)
+                                                       w2-19743
+                                                       (cons (car w2-19743)
+                                                             (let ((m2-19756
+                                                                     (cdr 
w2-19743)))
+                                                               (if (null? 
m2-19756)
+                                                                 s1-19745
+                                                                 (append
+                                                                   s1-19745
+                                                                   
m2-19756)))))
+                                                     (cons (let ((m2-19764
+                                                                   (car 
w2-19743)))
+                                                             (if (null? 
m2-19764)
+                                                               m1-19744
+                                                               (append
+                                                                 m1-19744
+                                                                 m2-19764)))
+                                                           (let ((m2-19772
+                                                                   (cdr 
w2-19743)))
+                                                             (if (null? 
m2-19772)
+                                                               s1-19745
+                                                               (append
+                                                                 s1-19745
+                                                                 
m2-19772))))))))
+                                             (module-19736
+                                               (vector-ref x-19717 3)))
+                                         (vector
+                                           'syntax-object
+                                           expression-19734
+                                           wrap-19735
+                                           module-19736))
+                                       (if (null? x-19717)
+                                         x-19717
+                                         (vector
+                                           'syntax-object
+                                           x-19717
+                                           w-19718
+                                           mod-19392)))))
+                                 results-19711))))))
+                  (f-19524
+                    symnames-19521
+                    marks-19522
+                    results-19523))))
+            (scan-vector-rib-19395
+              (lambda (subst-19785
+                       symnames-19786
+                       marks-19787
+                       results-19788)
+                (let ((n-19789 (vector-length symnames-19786)))
+                  (letrec*
+                    ((f-19790
+                       (lambda (i-19961 results-19962)
+                         (if (= i-19961 n-19789)
+                           (scan-19393 (cdr subst-19785) results-19962)
+                           (f-19790
+                             (#{1+}# i-19961)
+                             (cons (let ((x-19968
+                                           (vector-ref symnames-19786 i-19961))
+                                         (w-19969
+                                           (let ((w-19973
+                                                   (cons (vector-ref
+                                                           marks-19787
+                                                           i-19961)
+                                                         subst-19785)))
+                                             (cons (cons #f (car w-19973))
+                                                   (cons 'shift
+                                                         (cdr w-19973))))))
+                                     (if (if (null? (car w-19969))
+                                           (null? (cdr w-19969))
+                                           #f)
+                                       x-19968
+                                       (if (if (vector? x-19968)
+                                             (if (= (vector-length x-19968) 4)
+                                               (eq? (vector-ref x-19968 0)
+                                                    'syntax-object)
                                                #f)
-                                             #f)))))
-                                 (if #{t 42901}# #{t 42901}# '(global)))))
-                         (if (if #{resolve-syntax-parameters? 42877}#
-                               (eq? (car #{b 42900}#) 'syntax-parameter)
-                               #f)
-                           (let ((#{t 42968}#
-                                   (assq-ref #{r 42875}# (cdr #{b 42900}#))))
-                             (if #{t 42968}#
-                               #{t 42968}#
-                               (cons 'macro (car (cdr #{b 42900}#)))))
-                           #{b 42900}#))))
-                 (if (eq? (car #{b 42897}#) 'global)
-                   (values 'global #{n 42881}# #{mod 42896}#)
-                   (values
-                     (car #{b 42897}#)
-                     (cdr #{b 42897}#)
-                     #{mod 42896}#))))
-             (if (string? #{n 42881}#)
-               (let ((#{mod 42974}#
-                       (if (if (vector? #{id 42873}#)
-                             (if (= (vector-length #{id 42873}#) 4)
-                               (eq? (vector-ref #{id 42873}# 0) 'syntax-object)
+                                             #f)
+                                         (let ((expression-19985
+                                                 (vector-ref x-19968 1))
+                                               (wrap-19986
+                                                 (let ((w2-19994
+                                                         (vector-ref
+                                                           x-19968
+                                                           2)))
+                                                   (let ((m1-19995
+                                                           (car w-19969))
+                                                         (s1-19996
+                                                           (cdr w-19969)))
+                                                     (if (null? m1-19995)
+                                                       (if (null? s1-19996)
+                                                         w2-19994
+                                                         (cons (car w2-19994)
+                                                               (let ((m2-20007
+                                                                       (cdr 
w2-19994)))
+                                                                 (if (null? 
m2-20007)
+                                                                   s1-19996
+                                                                   (append
+                                                                     s1-19996
+                                                                     
m2-20007)))))
+                                                       (cons (let ((m2-20015
+                                                                     (car 
w2-19994)))
+                                                               (if (null? 
m2-20015)
+                                                                 m1-19995
+                                                                 (append
+                                                                   m1-19995
+                                                                   m2-20015)))
+                                                             (let ((m2-20023
+                                                                     (cdr 
w2-19994)))
+                                                               (if (null? 
m2-20023)
+                                                                 s1-19996
+                                                                 (append
+                                                                   s1-19996
+                                                                   
m2-20023))))))))
+                                               (module-19987
+                                                 (vector-ref x-19968 3)))
+                                           (vector
+                                             'syntax-object
+                                             expression-19985
+                                             wrap-19986
+                                             module-19987))
+                                         (if (null? x-19968)
+                                           x-19968
+                                           (vector
+                                             'syntax-object
+                                             x-19968
+                                             w-19969
+                                             mod-19392)))))
+                                   results-19962))))))
+                    (f-19790 0 results-19788))))))
+           (scan-19393 (cdr w-19391) '()))))
+     (resolve-identifier-4571
+       (lambda (id-20036
+                w-20037
+                r-20038
+                mod-20039
+                resolve-syntax-parameters?-20040)
+         (let ((n-20044
+                 (id-var-name-4569 id-20036 w-20037 mod-20039)))
+           (if (if (vector? n-20044)
+                 (if (= (vector-length n-20044) 4)
+                   (eq? (vector-ref n-20044 0) 'syntax-object)
+                   #f)
+                 #f)
+             (resolve-identifier-4571
+               n-20044
+               w-20037
+               r-20038
+               mod-20039
+               resolve-syntax-parameters?-20040)
+             (if (symbol? n-20044)
+               (let ((mod-20059
+                       (if (if (vector? id-20036)
+                             (if (= (vector-length id-20036) 4)
+                               (eq? (vector-ref id-20036 0) 'syntax-object)
                                #f)
                              #f)
-                         (vector-ref #{id 42873}# 3)
-                         #{mod 42876}#)))
-                 (let ((#{b 42975}#
-                         (let ((#{b 42978}#
-                                 (let ((#{t 42979}#
-                                         (assq-ref #{r 42875}# #{n 42881}#)))
-                                   (if #{t 42979}#
-                                     #{t 42979}#
-                                     '(displaced-lexical)))))
-                           (if (if #{resolve-syntax-parameters? 42877}#
-                                 (eq? (car #{b 42978}#) 'syntax-parameter)
+                         (vector-ref id-20036 3)
+                         mod-20039)))
+                 (let ((b-20060
+                         (let ((b-20063
+                                 (let ((t-20064
+                                         (begin
+                                           (if (if (not mod-20059)
+                                                 (current-module)
+                                                 #f)
+                                             (warn "module system is booted, 
we should have a module"
+                                                   n-20044))
+                                           (let ((v-20113
+                                                   (module-variable
+                                                     (if mod-20059
+                                                       (resolve-module
+                                                         (cdr mod-20059))
+                                                       (current-module))
+                                                     n-20044)))
+                                             (if v-20113
+                                               (if (variable-bound? v-20113)
+                                                 (let ((val-20122
+                                                         (variable-ref
+                                                           v-20113)))
+                                                   (if (macro? val-20122)
+                                                     (if (macro-type val-20122)
+                                                       (cons (macro-type
+                                                               val-20122)
+                                                             (macro-binding
+                                                               val-20122))
+                                                       #f)
+                                                     #f))
+                                                 #f)
+                                               #f)))))
+                                   (if t-20064 t-20064 '(global)))))
+                           (if (if resolve-syntax-parameters?-20040
+                                 (eq? (car b-20063) 'syntax-parameter)
                                  #f)
-                             (let ((#{t 42980}#
-                                     (assq-ref #{r 42875}# (cdr #{b 42978}#))))
-                               (if #{t 42980}#
-                                 #{t 42980}#
-                                 (cons 'macro (car (cdr #{b 42978}#)))))
-                             #{b 42978}#))))
-                   (values
-                     (car #{b 42975}#)
-                     (cdr #{b 42975}#)
-                     #{mod 42974}#)))
-               (error "unexpected id-var-name"
-                      #{id 42873}#
-                      #{w 42874}#
-                      #{n 42881}#)))))))
-   (#{free-id=? 28259}#
-     (lambda (#{i 42993}# #{j 42994}#)
-       (let ((#{mi 42995}#
-               (if (if (vector? #{i 42993}#)
-                     (if (= (vector-length #{i 42993}#) 4)
-                       (eq? (vector-ref #{i 42993}# 0) 'syntax-object)
-                       #f)
-                     #f)
-                 (vector-ref #{i 42993}# 3)
-                 #f)))
-         (let ((#{mj 42996}#
-                 (if (if (vector? #{j 42994}#)
-                       (if (= (vector-length #{j 42994}#) 4)
-                         (eq? (vector-ref #{j 42994}# 0) 'syntax-object)
+                             (let ((t-20131 (assq-ref r-20038 (cdr b-20063))))
+                               (if t-20131
+                                 t-20131
+                                 (cons 'macro (car (cdr b-20063)))))
+                             b-20063))))
+                   (if (eq? (car b-20060) 'global)
+                     (values 'global n-20044 mod-20059)
+                     (values (car b-20060) (cdr b-20060) mod-20059))))
+               (if (string? n-20044)
+                 (let ((mod-20137
+                         (if (if (vector? id-20036)
+                               (if (= (vector-length id-20036) 4)
+                                 (eq? (vector-ref id-20036 0) 'syntax-object)
+                                 #f)
+                               #f)
+                           (vector-ref id-20036 3)
+                           mod-20039)))
+                   (let ((b-20138
+                           (let ((b-20141
+                                   (let ((t-20142 (assq-ref r-20038 n-20044)))
+                                     (if t-20142
+                                       t-20142
+                                       '(displaced-lexical)))))
+                             (if (if resolve-syntax-parameters?-20040
+                                   (eq? (car b-20141) 'syntax-parameter)
+                                   #f)
+                               (let ((t-20143
+                                       (assq-ref r-20038 (cdr b-20141))))
+                                 (if t-20143
+                                   t-20143
+                                   (cons 'macro (car (cdr b-20141)))))
+                               b-20141))))
+                     (values (car b-20138) (cdr b-20138) mod-20137)))
+                 (error "unexpected id-var-name"
+                        id-20036
+                        w-20037
+                        n-20044)))))))
+     (free-id=?-4574
+       (lambda (i-20156 j-20157)
+         (let ((mi-20158
+                 (if (if (vector? i-20156)
+                       (if (= (vector-length i-20156) 4)
+                         (eq? (vector-ref i-20156 0) 'syntax-object)
                          #f)
                        #f)
-                   (vector-ref #{j 42994}# 3)
+                   (vector-ref i-20156 3)
                    #f)))
-           (let ((#{ni 42997}#
-                   (#{id-var-name 28257}#
-                     #{i 42993}#
-                     '(())
-                     #{mi 42995}#)))
-             (let ((#{nj 42998}#
-                     (#{id-var-name 28257}#
-                       #{j 42994}#
-                       '(())
-                       #{mj 42996}#)))
-               (if (if (vector? #{ni 42997}#)
-                     (if (= (vector-length #{ni 42997}#) 4)
-                       (eq? (vector-ref #{ni 42997}# 0) 'syntax-object)
-                       #f)
-                     #f)
-                 (#{free-id=? 28259}# #{ni 42997}# #{j 42994}#)
-                 (if (if (vector? #{nj 42998}#)
-                       (if (= (vector-length #{nj 42998}#) 4)
-                         (eq? (vector-ref #{nj 42998}# 0) 'syntax-object)
+           (let ((mj-20159
+                   (if (if (vector? j-20157)
+                         (if (= (vector-length j-20157) 4)
+                           (eq? (vector-ref j-20157 0) 'syntax-object)
+                           #f)
+                         #f)
+                     (vector-ref j-20157 3)
+                     #f)))
+             (let ((ni-20160
+                     (id-var-name-4569 i-20156 '(()) mi-20158)))
+               (let ((nj-20161
+                       (id-var-name-4569 j-20157 '(()) mj-20159)))
+                 (if (if (vector? ni-20160)
+                       (if (= (vector-length ni-20160) 4)
+                         (eq? (vector-ref ni-20160 0) 'syntax-object)
                          #f)
                        #f)
-                   (#{free-id=? 28259}# #{i 42993}# #{nj 42998}#)
-                   (if (symbol? #{ni 42997}#)
-                     (if (eq? #{nj 42998}#
-                              (if (if (vector? #{j 42994}#)
-                                    (if (= (vector-length #{j 42994}#) 4)
-                                      (eq? (vector-ref #{j 42994}# 0)
-                                           'syntax-object)
+                   (free-id=?-4574 ni-20160 j-20157)
+                   (if (if (vector? nj-20161)
+                         (if (= (vector-length nj-20161) 4)
+                           (eq? (vector-ref nj-20161 0) 'syntax-object)
+                           #f)
+                         #f)
+                     (free-id=?-4574 i-20156 nj-20161)
+                     (if (symbol? ni-20160)
+                       (if (eq? nj-20161
+                                (if (if (vector? j-20157)
+                                      (if (= (vector-length j-20157) 4)
+                                        (eq? (vector-ref j-20157 0)
+                                             'syntax-object)
+                                        #f)
                                       #f)
-                                    #f)
-                                (vector-ref #{j 42994}# 1)
-                                #{j 42994}#))
-                       (if (let ((#{bi 43070}#
-                                   (module-variable
-                                     (if #{mi 42995}#
-                                       (resolve-module (cdr #{mi 42995}#))
-                                       (current-module))
-                                     (if (if (vector? #{i 42993}#)
-                                           (if (= (vector-length #{i 42993}#)
-                                                  4)
-                                             (eq? (vector-ref #{i 42993}# 0)
-                                                  'syntax-object)
+                                  (vector-ref j-20157 1)
+                                  j-20157))
+                         (if (let ((bi-20233
+                                     (module-variable
+                                       (if mi-20158
+                                         (resolve-module (cdr mi-20158))
+                                         (current-module))
+                                       (if (if (vector? i-20156)
+                                             (if (= (vector-length i-20156) 4)
+                                               (eq? (vector-ref i-20156 0)
+                                                    'syntax-object)
+                                               #f)
                                              #f)
-                                           #f)
-                                       (vector-ref #{i 42993}# 1)
-                                       #{i 42993}#))))
-                             (if #{bi 43070}#
-                               (eq? #{bi 43070}#
-                                    (module-variable
-                                      (if #{mj 42996}#
-                                        (resolve-module (cdr #{mj 42996}#))
-                                        (current-module))
-                                      (if (if (vector? #{j 42994}#)
-                                            (if (= (vector-length #{j 42994}#)
-                                                   4)
-                                              (eq? (vector-ref #{j 42994}# 0)
-                                                   'syntax-object)
+                                         (vector-ref i-20156 1)
+                                         i-20156))))
+                               (if bi-20233
+                                 (eq? bi-20233
+                                      (module-variable
+                                        (if mj-20159
+                                          (resolve-module (cdr mj-20159))
+                                          (current-module))
+                                        (if (if (vector? j-20157)
+                                              (if (= (vector-length j-20157) 4)
+                                                (eq? (vector-ref j-20157 0)
+                                                     'syntax-object)
+                                                #f)
                                               #f)
-                                            #f)
-                                        (vector-ref #{j 42994}# 1)
-                                        #{j 42994}#)))
-                               (if (not (module-variable
-                                          (if #{mj 42996}#
-                                            (resolve-module (cdr #{mj 42996}#))
-                                            (current-module))
-                                          (if (if (vector? #{j 42994}#)
-                                                (if (= (vector-length
-                                                         #{j 42994}#)
-                                                       4)
-                                                  (eq? (vector-ref
-                                                         #{j 42994}#
-                                                         0)
-                                                       'syntax-object)
+                                          (vector-ref j-20157 1)
+                                          j-20157)))
+                                 (if (not (module-variable
+                                            (if mj-20159
+                                              (resolve-module (cdr mj-20159))
+                                              (current-module))
+                                            (if (if (vector? j-20157)
+                                                  (if (= (vector-length
+                                                           j-20157)
+                                                         4)
+                                                    (eq? (vector-ref j-20157 0)
+                                                         'syntax-object)
+                                                    #f)
                                                   #f)
-                                                #f)
-                                            (vector-ref #{j 42994}# 1)
-                                            #{j 42994}#)))
-                                 (eq? #{ni 42997}# #{nj 42998}#)
-                                 #f)))
-                         (eq? (module-variable
-                                (if #{mi 42995}#
-                                  (resolve-module (cdr #{mi 42995}#))
-                                  (current-module))
-                                (if (if (vector? #{i 42993}#)
-                                      (if (= (vector-length #{i 42993}#) 4)
-                                        (eq? (vector-ref #{i 42993}# 0)
-                                             'syntax-object)
+                                              (vector-ref j-20157 1)
+                                              j-20157)))
+                                   (eq? ni-20160 nj-20161)
+                                   #f)))
+                           (eq? (module-variable
+                                  (if mi-20158
+                                    (resolve-module (cdr mi-20158))
+                                    (current-module))
+                                  (if (if (vector? i-20156)
+                                        (if (= (vector-length i-20156) 4)
+                                          (eq? (vector-ref i-20156 0)
+                                               'syntax-object)
+                                          #f)
                                         #f)
-                                      #f)
-                                  (vector-ref #{i 42993}# 1)
-                                  #{i 42993}#))
-                              (module-variable
-                                (if #{mj 42996}#
-                                  (resolve-module (cdr #{mj 42996}#))
-                                  (current-module))
-                                (if (if (vector? #{j 42994}#)
-                                      (if (= (vector-length #{j 42994}#) 4)
-                                        (eq? (vector-ref #{j 42994}# 0)
-                                             'syntax-object)
+                                    (vector-ref i-20156 1)
+                                    i-20156))
+                                (module-variable
+                                  (if mj-20159
+                                    (resolve-module (cdr mj-20159))
+                                    (current-module))
+                                  (if (if (vector? j-20157)
+                                        (if (= (vector-length j-20157) 4)
+                                          (eq? (vector-ref j-20157 0)
+                                               'syntax-object)
+                                          #f)
                                         #f)
-                                      #f)
-                                  (vector-ref #{j 42994}# 1)
-                                  #{j 42994}#)))
+                                    (vector-ref j-20157 1)
+                                    j-20157)))
+                           #f)
                          #f)
-                       #f)
-                     (equal? #{ni 42997}# #{nj 42998}#))))))))))
-   (#{bound-id=? 28260}#
-     (lambda (#{i 43263}# #{j 43264}#)
-       (if (if (if (vector? #{i 43263}#)
-                 (if (= (vector-length #{i 43263}#) 4)
-                   (eq? (vector-ref #{i 43263}# 0) 'syntax-object)
+                       (equal? ni-20160 nj-20161))))))))))
+     (bound-id=?-4575
+       (lambda (i-20426 j-20427)
+         (if (if (if (vector? i-20426)
+                   (if (= (vector-length i-20426) 4)
+                     (eq? (vector-ref i-20426 0) 'syntax-object)
+                     #f)
+                   #f)
+               (if (vector? j-20427)
+                 (if (= (vector-length j-20427) 4)
+                   (eq? (vector-ref j-20427 0) 'syntax-object)
                    #f)
-                 #f)
-             (if (vector? #{j 43264}#)
-               (if (= (vector-length #{j 43264}#) 4)
-                 (eq? (vector-ref #{j 43264}# 0) 'syntax-object)
                  #f)
                #f)
+           (if (eq? (vector-ref i-20426 1)
+                    (vector-ref j-20427 1))
+             (same-marks?-4568
+               (car (vector-ref i-20426 2))
+               (car (vector-ref j-20427 2)))
              #f)
-         (if (eq? (vector-ref #{i 43263}# 1)
-                  (vector-ref #{j 43264}# 1))
-           (#{same-marks? 28256}#
-             (car (vector-ref #{i 43263}# 2))
-             (car (vector-ref #{j 43264}# 2)))
-           #f)
-         (eq? #{i 43263}# #{j 43264}#))))
-   (#{valid-bound-ids? 28261}#
-     (lambda (#{ids 43433}#)
-       (if (letrec*
-             ((#{all-ids? 43434}#
-                (lambda (#{ids 43631}#)
-                  (if (null? #{ids 43631}#)
-                    (null? #{ids 43631}#)
-                    (if (let ((#{x 43642}# (car #{ids 43631}#)))
-                          (if (symbol? #{x 43642}#)
-                            #t
-                            (if (if (vector? #{x 43642}#)
-                                  (if (= (vector-length #{x 43642}#) 4)
-                                    (eq? (vector-ref #{x 43642}# 0)
-                                         'syntax-object)
+           (eq? i-20426 j-20427))))
+     (valid-bound-ids?-4576
+       (lambda (ids-20596)
+         (if (letrec*
+               ((all-ids?-20597
+                  (lambda (ids-20794)
+                    (if (null? ids-20794)
+                      (null? ids-20794)
+                      (if (let ((x-20805 (car ids-20794)))
+                            (if (symbol? x-20805)
+                              #t
+                              (if (if (vector? x-20805)
+                                    (if (= (vector-length x-20805) 4)
+                                      (eq? (vector-ref x-20805 0)
+                                           'syntax-object)
+                                      #f)
                                     #f)
-                                  #f)
-                              (symbol? (vector-ref #{x 43642}# 1))
-                              #f)))
-                      (#{all-ids? 43434}# (cdr #{ids 43631}#))
-                      #f)))))
-             (#{all-ids? 43434}# #{ids 43433}#))
-         (#{distinct-bound-ids? 28262}# #{ids 43433}#)
-         #f)))
-   (#{distinct-bound-ids? 28262}#
-     (lambda (#{ids 43763}#)
-       (letrec*
-         ((#{distinct? 43764}#
-            (lambda (#{ids 43869}#)
-              (if (null? #{ids 43869}#)
-                (null? #{ids 43869}#)
-                (if (not (#{bound-id-member? 28263}#
-                           (car #{ids 43869}#)
-                           (cdr #{ids 43869}#)))
-                  (#{distinct? 43764}# (cdr #{ids 43869}#))
-                  #f)))))
-         (#{distinct? 43764}# #{ids 43763}#))))
-   (#{bound-id-member? 28263}#
-     (lambda (#{x 43965}# #{list 43966}#)
-       (if (not (null? #{list 43966}#))
-         (let ((#{t 43967}#
-                 (#{bound-id=? 28260}#
-                   #{x 43965}#
-                   (car #{list 43966}#))))
-           (if #{t 43967}#
-             #{t 43967}#
-             (#{bound-id-member? 28263}#
-               #{x 43965}#
-               (cdr #{list 43966}#))))
-         #f)))
-   (#{source-wrap 28265}#
-     (lambda (#{x 44145}#
-              #{w 44146}#
-              #{s 44147}#
-              #{defmod 44148}#)
-       (let ((#{x 44152}#
-               (begin
-                 (if (if (pair? #{x 44145}#) #{s 44147}# #f)
-                   (set-source-properties! #{x 44145}# #{s 44147}#))
-                 #{x 44145}#)))
-         (if (if (null? (car #{w 44146}#))
-               (null? (cdr #{w 44146}#))
-               #f)
-           #{x 44152}#
-           (if (if (vector? #{x 44152}#)
-                 (if (= (vector-length #{x 44152}#) 4)
-                   (eq? (vector-ref #{x 44152}# 0) 'syntax-object)
-                   #f)
-                 #f)
-             (let ((#{expression 44184}# (vector-ref #{x 44152}# 1))
-                   (#{wrap 44185}#
-                     (let ((#{w2 44193}# (vector-ref #{x 44152}# 2)))
-                       (let ((#{m1 44194}# (car #{w 44146}#))
-                             (#{s1 44195}# (cdr #{w 44146}#)))
-                         (if (null? #{m1 44194}#)
-                           (if (null? #{s1 44195}#)
-                             #{w2 44193}#
-                             (cons (car #{w2 44193}#)
-                                   (let ((#{m2 44210}# (cdr #{w2 44193}#)))
-                                     (if (null? #{m2 44210}#)
-                                       #{s1 44195}#
-                                       (append #{s1 44195}# #{m2 44210}#)))))
-                           (cons (let ((#{m2 44218}# (car #{w2 44193}#)))
-                                   (if (null? #{m2 44218}#)
-                                     #{m1 44194}#
-                                     (append #{m1 44194}# #{m2 44218}#)))
-                                 (let ((#{m2 44226}# (cdr #{w2 44193}#)))
-                                   (if (null? #{m2 44226}#)
-                                     #{s1 44195}#
-                                     (append #{s1 44195}# #{m2 44226}#))))))))
-                   (#{module 44186}# (vector-ref #{x 44152}# 3)))
-               (vector
-                 'syntax-object
-                 #{expression 44184}#
-                 #{wrap 44185}#
-                 #{module 44186}#))
-             (if (null? #{x 44152}#)
-               #{x 44152}#
-               (vector
-                 'syntax-object
-                 #{x 44152}#
-                 #{w 44146}#
-                 #{defmod 44148}#)))))))
-   (#{expand-sequence 28266}#
-     (lambda (#{body 59670}#
-              #{r 59671}#
-              #{w 59672}#
-              #{s 59673}#
-              #{mod 59674}#)
-       (#{build-sequence 28220}#
-         #{s 59673}#
+                                (symbol? (vector-ref x-20805 1))
+                                #f)))
+                        (all-ids?-20597 (cdr ids-20794))
+                        #f)))))
+               (all-ids?-20597 ids-20596))
+           (distinct-bound-ids?-4577 ids-20596)
+           #f)))
+     (distinct-bound-ids?-4577
+       (lambda (ids-20926)
          (letrec*
-           ((#{dobody 59762}#
-              (lambda (#{body 59845}#
-                       #{r 59846}#
-                       #{w 59847}#
-                       #{mod 59848}#)
-                (if (null? #{body 59845}#)
-                  '()
-                  (let ((#{first 59849}#
-                          (#{expand 28271}#
-                            (car #{body 59845}#)
-                            #{r 59846}#
-                            #{w 59847}#
-                            #{mod 59848}#)))
-                    (cons #{first 59849}#
-                          (#{dobody 59762}#
-                            (cdr #{body 59845}#)
-                            #{r 59846}#
-                            #{w 59847}#
-                            #{mod 59848}#)))))))
-           (#{dobody 59762}#
-             #{body 59670}#
-             #{r 59671}#
-             #{w 59672}#
-             #{mod 59674}#)))))
-   (#{expand-top-sequence 28267}#
-     (lambda (#{body 44255}#
-              #{r 44256}#
-              #{w 44257}#
-              #{s 44258}#
-              #{m 44259}#
-              #{esew 44260}#
-              #{mod 44261}#)
-       (let ((#{r 44262}#
-               (cons '("placeholder" placeholder) #{r 44256}#)))
-         (let ((#{ribcage 44263}# (vector 'ribcage '() '() '())))
-           (let ((#{w 44264}#
-                   (cons (car #{w 44257}#)
-                         (cons #{ribcage 44263}# (cdr #{w 44257}#)))))
-             (letrec*
-               ((#{record-definition! 44265}#
-                  (lambda (#{id 47641}# #{var 47642}#)
-                    (let ((#{mod 47643}#
-                            (cons 'hygiene (module-name (current-module)))))
-                      (let ((#{label 47649}#
-                              (cons (vector-ref #{id 47641}# 3)
-                                    (if (if (vector? #{var 47642}#)
-                                          (if (= (vector-length #{var 47642}#)
-                                                 4)
-                                            (eq? (vector-ref #{var 47642}# 0)
-                                                 'syntax-object)
+           ((distinct?-20927
+              (lambda (ids-21032)
+                (if (null? ids-21032)
+                  (null? ids-21032)
+                  (if (not (bound-id-member?-4578
+                             (car ids-21032)
+                             (cdr ids-21032)))
+                    (distinct?-20927 (cdr ids-21032))
+                    #f)))))
+           (distinct?-20927 ids-20926))))
+     (bound-id-member?-4578
+       (lambda (x-21128 list-21129)
+         (if (not (null? list-21129))
+           (let ((t-21130
+                   (bound-id=?-4575 x-21128 (car list-21129))))
+             (if t-21130
+               t-21130
+               (bound-id-member?-4578 x-21128 (cdr list-21129))))
+           #f)))
+     (source-wrap-4580
+       (lambda (x-21308 w-21309 s-21310 defmod-21311)
+         (let ((x-21315
+                 (begin
+                   (if (if (pair? x-21308) s-21310 #f)
+                     (set-source-properties! x-21308 s-21310))
+                   x-21308)))
+           (if (if (null? (car w-21309))
+                 (null? (cdr w-21309))
+                 #f)
+             x-21315
+             (if (if (vector? x-21315)
+                   (if (= (vector-length x-21315) 4)
+                     (eq? (vector-ref x-21315 0) 'syntax-object)
+                     #f)
+                   #f)
+               (let ((expression-21347 (vector-ref x-21315 1))
+                     (wrap-21348
+                       (let ((w2-21356 (vector-ref x-21315 2)))
+                         (let ((m1-21357 (car w-21309))
+                               (s1-21358 (cdr w-21309)))
+                           (if (null? m1-21357)
+                             (if (null? s1-21358)
+                               w2-21356
+                               (cons (car w2-21356)
+                                     (let ((m2-21373 (cdr w2-21356)))
+                                       (if (null? m2-21373)
+                                         s1-21358
+                                         (append s1-21358 m2-21373)))))
+                             (cons (let ((m2-21381 (car w2-21356)))
+                                     (if (null? m2-21381)
+                                       m1-21357
+                                       (append m1-21357 m2-21381)))
+                                   (let ((m2-21389 (cdr w2-21356)))
+                                     (if (null? m2-21389)
+                                       s1-21358
+                                       (append s1-21358 m2-21389))))))))
+                     (module-21349 (vector-ref x-21315 3)))
+                 (vector
+                   'syntax-object
+                   expression-21347
+                   wrap-21348
+                   module-21349))
+               (if (null? x-21315)
+                 x-21315
+                 (vector
+                   'syntax-object
+                   x-21315
+                   w-21309
+                   defmod-21311)))))))
+     (expand-sequence-4581
+       (lambda (body-36926 r-36927 w-36928 s-36929 mod-36930)
+         (build-sequence-4532
+           s-36929
+           (letrec*
+             ((dobody-37018
+                (lambda (body-37101 r-37102 w-37103 mod-37104)
+                  (if (null? body-37101)
+                    '()
+                    (let ((first-37105
+                            (expand-4586
+                              (car body-37101)
+                              r-37102
+                              w-37103
+                              mod-37104)))
+                      (cons first-37105
+                            (dobody-37018
+                              (cdr body-37101)
+                              r-37102
+                              w-37103
+                              mod-37104)))))))
+             (dobody-37018
+               body-36926
+               r-36927
+               w-36928
+               mod-36930)))))
+     (expand-top-sequence-4582
+       (lambda (body-21418
+                r-21419
+                w-21420
+                s-21421
+                m-21422
+                esew-21423
+                mod-21424)
+         (let ((r-21425
+                 (cons '("placeholder" placeholder) r-21419)))
+           (let ((ribcage-21426 (vector 'ribcage '() '() '())))
+             (let ((w-21427
+                     (cons (car w-21420)
+                           (cons ribcage-21426 (cdr w-21420)))))
+               (letrec*
+                 ((record-definition!-21428
+                    (lambda (id-24805 var-24806)
+                      (let ((mod-24807
+                              (cons 'hygiene (module-name (current-module)))))
+                        (let ((label-24813
+                                (cons (vector-ref id-24805 3)
+                                      (if (if (vector? var-24806)
+                                            (if (= (vector-length var-24806) 4)
+                                              (eq? (vector-ref var-24806 0)
+                                                   'syntax-object)
+                                              #f)
                                             #f)
-                                          #f)
-                                      (let ((#{expression 47711}#
-                                              (vector-ref #{var 47642}# 1))
-                                            (#{wrap 47712}#
-                                              (let ((#{w2 47722}#
-                                                      (vector-ref
-                                                        #{var 47642}#
-                                                        2)))
-                                                (cons (let ((#{m2 47729}#
-                                                              (car #{w2 
47722}#)))
-                                                        (if (null? #{m2 
47729}#)
-                                                          '(top)
-                                                          (append
+                                        (let ((expression-24875
+                                                (vector-ref var-24806 1))
+                                              (wrap-24876
+                                                (let ((w2-24886
+                                                        (vector-ref
+                                                          var-24806
+                                                          2)))
+                                                  (cons (let ((m2-24893
+                                                                (car 
w2-24886)))
+                                                          (if (null? m2-24893)
                                                             '(top)
-                                                            #{m2 47729}#)))
-                                                      (let ((#{m2 47738}#
-                                                              (cdr #{w2 
47722}#)))
-                                                        (if (null? #{m2 
47738}#)
-                                                          '()
-                                                          (append
+                                                            (append
+                                                              '(top)
+                                                              m2-24893)))
+                                                        (let ((m2-24902
+                                                                (cdr 
w2-24886)))
+                                                          (if (null? m2-24902)
                                                             '()
-                                                            #{m2 47738}#))))))
-                                            (#{module 47713}#
-                                              (vector-ref #{var 47642}# 3)))
-                                        (vector
-                                          'syntax-object
-                                          #{expression 47711}#
-                                          #{wrap 47712}#
-                                          #{module 47713}#))
-                                      (if (null? #{var 47642}#)
-                                        #{var 47642}#
-                                        (vector
-                                          'syntax-object
-                                          #{var 47642}#
-                                          '((top))
-                                          #{mod 47643}#))))))
-                        (begin
-                          (let ((#{update 47652}#
-                                  (cons (vector-ref #{id 47641}# 1)
-                                        (vector-ref #{ribcage 44263}# 1))))
-                            (vector-set!
-                              #{ribcage 44263}#
-                              1
-                              #{update 47652}#))
-                          (let ((#{update 47667}#
-                                  (cons (car (vector-ref #{id 47641}# 2))
-                                        (vector-ref #{ribcage 44263}# 2))))
-                            (vector-set!
-                              #{ribcage 44263}#
-                              2
-                              #{update 47667}#))
-                          (let ((#{update 47682}#
-                                  (cons #{label 47649}#
-                                        (vector-ref #{ribcage 44263}# 3))))
-                            (vector-set!
-                              #{ribcage 44263}#
-                              3
-                              #{update 47682}#)))))))
-                (#{parse 44268}#
-                  (lambda (#{body 44463}#
-                           #{r 44464}#
-                           #{w 44465}#
-                           #{s 44466}#
-                           #{m 44467}#
-                           #{esew 44468}#
-                           #{mod 44469}#)
-                    (letrec*
-                      ((#{lp 44470}#
-                         (lambda (#{body 44553}# #{exps 44554}#)
-                           (if (null? #{body 44553}#)
-                             #{exps 44554}#
-                             (#{lp 44470}#
-                               (cdr #{body 44553}#)
-                               (append
-                                 (#{parse1 44269}#
-                                   (car #{body 44553}#)
-                                   #{r 44464}#
-                                   #{w 44465}#
-                                   #{s 44466}#
-                                   #{m 44467}#
-                                   #{esew 44468}#
-                                   #{mod 44469}#)
-                                 #{exps 44554}#))))))
-                      (#{lp 44470}# #{body 44463}# '()))))
-                (#{parse1 44269}#
-                  (lambda (#{x 44624}#
-                           #{r 44625}#
-                           #{w 44626}#
-                           #{s 44627}#
-                           #{m 44628}#
-                           #{esew 44629}#
-                           #{mod 44630}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{syntax-type 28270}#
-                          #{x 44624}#
-                          #{r 44625}#
-                          #{w 44626}#
-                          (#{source-annotation 28232}# #{x 44624}#)
-                          #{ribcage 44263}#
-                          #{mod 44630}#
-                          #f))
-                      (lambda (#{type 44816}#
-                               #{value 44817}#
-                               #{e 44818}#
-                               #{w 44819}#
-                               #{s 44820}#
-                               #{mod 44821}#)
-                        (if (eqv? #{type 44816}# 'define-form)
-                          (let ((#{id 44825}#
-                                  (if (if (null? (car #{w 44819}#))
-                                        (null? (cdr #{w 44819}#))
-                                        #f)
-                                    #{value 44817}#
-                                    (if (if (vector? #{value 44817}#)
-                                          (if (= (vector-length
-                                                   #{value 44817}#)
-                                                 4)
-                                            (eq? (vector-ref #{value 44817}# 0)
-                                                 'syntax-object)
-                                            #f)
-                                          #f)
-                                      (let ((#{expression 44875}#
-                                              (vector-ref #{value 44817}# 1))
-                                            (#{wrap 44876}#
-                                              (let ((#{w2 44886}#
-                                                      (vector-ref
-                                                        #{value 44817}#
-                                                        2)))
-                                                (let ((#{m1 44887}#
-                                                        (car #{w 44819}#))
-                                                      (#{s1 44888}#
-                                                        (cdr #{w 44819}#)))
-                                                  (if (null? #{m1 44887}#)
-                                                    (if (null? #{s1 44888}#)
-                                                      #{w2 44886}#
-                                                      (cons (car #{w2 44886}#)
-                                                            (let ((#{m2 44905}#
-                                                                    (cdr #{w2 
44886}#)))
-                                                              (if (null? #{m2 
44905}#)
-                                                                #{s1 44888}#
-                                                                (append
-                                                                  #{s1 44888}#
-                                                                  #{m2 
44905}#)))))
-                                                    (cons (let ((#{m2 44913}#
-                                                                  (car #{w2 
44886}#)))
-                                                            (if (null? #{m2 
44913}#)
-                                                              #{m1 44887}#
-                                                              (append
-                                                                #{m1 44887}#
-                                                                #{m2 44913}#)))
-                                                          (let ((#{m2 44921}#
-                                                                  (cdr #{w2 
44886}#)))
-                                                            (if (null? #{m2 
44921}#)
-                                                              #{s1 44888}#
-                                                              (append
-                                                                #{s1 44888}#
-                                                                #{m2 
44921}#))))))))
-                                            (#{module 44877}#
-                                              (vector-ref #{value 44817}# 3)))
-                                        (vector
-                                          'syntax-object
-                                          #{expression 44875}#
-                                          #{wrap 44876}#
-                                          #{module 44877}#))
-                                      (if (null? #{value 44817}#)
-                                        #{value 44817}#
-                                        (vector
-                                          'syntax-object
-                                          #{value 44817}#
-                                          #{w 44819}#
-                                          #{mod 44821}#))))))
-                            (begin
-                              (symbol->string (gensym "i"))
-                              (let ((#{var 44827}#
-                                      (if (not (equal?
-                                                 (car (vector-ref
-                                                        #{id 44825}#
-                                                        2))
-                                                 '(top)))
-                                        (symbol-append
-                                          (vector-ref #{id 44825}# 1)
-                                          '-
-                                          (string->symbol
-                                            (number->string
-                                              (hash (syntax->datum #{x 44624}#)
-                                                    most-positive-fixnum)
-                                              16)))
-                                        (vector-ref #{id 44825}# 1))))
-                                (begin
-                                  (#{record-definition! 44265}#
-                                    #{id 44825}#
-                                    #{var 44827}#)
-                                  (list (if (eq? #{m 44628}# 'c&e)
-                                          (let ((#{x 45047}#
-                                                  (#{build-global-definition 
28213}#
-                                                    #{s 44820}#
-                                                    #{var 44827}#
-                                                    (#{expand 28271}#
-                                                      #{e 44818}#
-                                                      #{r 44625}#
-                                                      #{w 44819}#
-                                                      #{mod 44821}#))))
-                                            (begin
-                                              (#{top-level-eval-hook 28198}#
-                                                #{x 45047}#
-                                                #{mod 44821}#)
-                                              (lambda () #{x 45047}#)))
-                                          (lambda ()
-                                            (#{build-global-definition 28213}#
-                                              #{s 44820}#
-                                              #{var 44827}#
-                                              (#{expand 28271}#
-                                                #{e 44818}#
-                                                #{r 44625}#
-                                                #{w 44819}#
-                                                #{mod 44821}#)))))))))
-                          (if (if (eqv? #{type 44816}# 'define-syntax-form)
-                                #t
-                                (eqv? #{type 44816}#
-                                      'define-syntax-parameter-form))
-                            (let ((#{id 45541}#
-                                    (if (if (null? (car #{w 44819}#))
-                                          (null? (cdr #{w 44819}#))
+                                                            (append
+                                                              '()
+                                                              m2-24902))))))
+                                              (module-24877
+                                                (vector-ref var-24806 3)))
+                                          (vector
+                                            'syntax-object
+                                            expression-24875
+                                            wrap-24876
+                                            module-24877))
+                                        (if (null? var-24806)
+                                          var-24806
+                                          (vector
+                                            'syntax-object
+                                            var-24806
+                                            '((top))
+                                            mod-24807))))))
+                          (begin
+                            (let ((update-24816
+                                    (cons (vector-ref id-24805 1)
+                                          (vector-ref ribcage-21426 1))))
+                              (vector-set! ribcage-21426 1 update-24816))
+                            (let ((update-24831
+                                    (cons (car (vector-ref id-24805 2))
+                                          (vector-ref ribcage-21426 2))))
+                              (vector-set! ribcage-21426 2 update-24831))
+                            (let ((update-24846
+                                    (cons label-24813
+                                          (vector-ref ribcage-21426 3))))
+                              (vector-set! ribcage-21426 3 update-24846)))))))
+                  (parse-21431
+                    (lambda (body-21626
+                             r-21627
+                             w-21628
+                             s-21629
+                             m-21630
+                             esew-21631
+                             mod-21632)
+                      (letrec*
+                        ((lp-21633
+                           (lambda (body-21716 exps-21717)
+                             (if (null? body-21716)
+                               exps-21717
+                               (lp-21633
+                                 (cdr body-21716)
+                                 (append
+                                   (parse1-21432
+                                     (car body-21716)
+                                     r-21627
+                                     w-21628
+                                     s-21629
+                                     m-21630
+                                     esew-21631
+                                     mod-21632)
+                                   exps-21717))))))
+                        (lp-21633 body-21626 '()))))
+                  (parse1-21432
+                    (lambda (x-21787
+                             r-21788
+                             w-21789
+                             s-21790
+                             m-21791
+                             esew-21792
+                             mod-21793)
+                      (call-with-values
+                        (lambda ()
+                          (syntax-type-4585
+                            x-21787
+                            r-21788
+                            w-21789
+                            (source-annotation-4544 x-21787)
+                            ribcage-21426
+                            mod-21793
+                            #f))
+                        (lambda (type-21979
+                                 value-21980
+                                 form-21981
+                                 e-21982
+                                 w-21983
+                                 s-21984
+                                 mod-21985)
+                          (if (eqv? type-21979 'define-form)
+                            (let ((id-21989
+                                    (if (if (null? (car w-21983))
+                                          (null? (cdr w-21983))
                                           #f)
-                                      #{value 44817}#
-                                      (if (if (vector? #{value 44817}#)
-                                            (if (= (vector-length
-                                                     #{value 44817}#)
+                                      value-21980
+                                      (if (if (vector? value-21980)
+                                            (if (= (vector-length value-21980)
                                                    4)
-                                              (eq? (vector-ref
-                                                     #{value 44817}#
-                                                     0)
+                                              (eq? (vector-ref value-21980 0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (let ((#{expression 45591}#
-                                                (vector-ref #{value 44817}# 1))
-                                              (#{wrap 45592}#
-                                                (let ((#{w2 45602}#
+                                        (let ((expression-22039
+                                                (vector-ref value-21980 1))
+                                              (wrap-22040
+                                                (let ((w2-22050
                                                         (vector-ref
-                                                          #{value 44817}#
+                                                          value-21980
                                                           2)))
-                                                  (let ((#{m1 45603}#
-                                                          (car #{w 44819}#))
-                                                        (#{s1 45604}#
-                                                          (cdr #{w 44819}#)))
-                                                    (if (null? #{m1 45603}#)
-                                                      (if (null? #{s1 45604}#)
-                                                        #{w2 45602}#
-                                                        (cons (car #{w2 
45602}#)
-                                                              (let ((#{m2 
45621}#
-                                                                      (cdr 
#{w2 45602}#)))
-                                                                (if (null? 
#{m2 45621}#)
-                                                                  #{s1 45604}#
+                                                  (let ((m1-22051
+                                                          (car w-21983))
+                                                        (s1-22052
+                                                          (cdr w-21983)))
+                                                    (if (null? m1-22051)
+                                                      (if (null? s1-22052)
+                                                        w2-22050
+                                                        (cons (car w2-22050)
+                                                              (let ((m2-22069
+                                                                      (cdr 
w2-22050)))
+                                                                (if (null? 
m2-22069)
+                                                                  s1-22052
                                                                   (append
-                                                                    #{s1 
45604}#
-                                                                    #{m2 
45621}#)))))
-                                                      (cons (let ((#{m2 45629}#
-                                                                    (car #{w2 
45602}#)))
-                                                              (if (null? #{m2 
45629}#)
-                                                                #{m1 45603}#
+                                                                    s1-22052
+                                                                    
m2-22069)))))
+                                                      (cons (let ((m2-22077
+                                                                    (car 
w2-22050)))
+                                                              (if (null? 
m2-22077)
+                                                                m1-22051
                                                                 (append
-                                                                  #{m1 45603}#
-                                                                  #{m2 
45629}#)))
-                                                            (let ((#{m2 45637}#
-                                                                    (cdr #{w2 
45602}#)))
-                                                              (if (null? #{m2 
45637}#)
-                                                                #{s1 45604}#
+                                                                  m1-22051
+                                                                  m2-22077)))
+                                                            (let ((m2-22085
+                                                                    (cdr 
w2-22050)))
+                                                              (if (null? 
m2-22085)
+                                                                s1-22052
                                                                 (append
-                                                                  #{s1 45604}#
-                                                                  #{m2 
45637}#))))))))
-                                              (#{module 45593}#
-                                                (vector-ref
-                                                  #{value 44817}#
-                                                  3)))
+                                                                  s1-22052
+                                                                  
m2-22085))))))))
+                                              (module-22041
+                                                (vector-ref value-21980 3)))
                                           (vector
                                             'syntax-object
-                                            #{expression 45591}#
-                                            #{wrap 45592}#
-                                            #{module 45593}#))
-                                        (if (null? #{value 44817}#)
-                                          #{value 44817}#
+                                            expression-22039
+                                            wrap-22040
+                                            module-22041))
+                                        (if (null? value-21980)
+                                          value-21980
                                           (vector
                                             'syntax-object
-                                            #{value 44817}#
-                                            #{w 44819}#
-                                            #{mod 44821}#))))))
+                                            value-21980
+                                            w-21983
+                                            mod-21985))))))
                               (begin
-                                (symbol->string (gensym "i"))
-                                (let ((#{var 45543}#
+                                (string-append
+                                  "l-"
+                                  (session-id-4511)
+                                  (symbol->string (gensym "-")))
+                                (let ((var-21991
                                         (if (not (equal?
                                                    (car (vector-ref
-                                                          #{id 45541}#
+                                                          id-21989
                                                           2))
                                                    '(top)))
                                           (symbol-append
-                                            (vector-ref #{id 45541}# 1)
+                                            (vector-ref id-21989 1)
                                             '-
                                             (string->symbol
                                               (number->string
-                                                (hash (syntax->datum
-                                                        #{x 44624}#)
+                                                (hash (syntax->datum x-21787)
                                                       most-positive-fixnum)
                                                 16)))
-                                          (vector-ref #{id 45541}# 1))))
+                                          (vector-ref id-21989 1))))
                                   (begin
-                                    (#{record-definition! 44265}#
-                                      #{id 45541}#
-                                      #{var 45543}#)
-                                    (if (eqv? #{m 44628}# 'c)
-                                      (if (memq 'compile #{esew 44629}#)
-                                        (let ((#{e 45766}#
-                                                (#{expand-install-global 
28268}#
-                                                  #{var 45543}#
-                                                  #{type 44816}#
-                                                  (#{expand 28271}#
-                                                    #{e 44818}#
-                                                    #{r 44625}#
-                                                    #{w 44819}#
-                                                    #{mod 44821}#))))
-                                          (begin
-                                            (#{top-level-eval-hook 28198}#
-                                              #{e 45766}#
-                                              #{mod 44821}#)
-                                            (if (memq 'load #{esew 44629}#)
-                                              (list (lambda () #{e 45766}#))
-                                              '())))
-                                        (if (memq 'load #{esew 44629}#)
-                                          (list (lambda ()
-                                                  (#{expand-install-global 
28268}#
-                                                    #{var 45543}#
-                                                    #{type 44816}#
-                                                    (#{expand 28271}#
-                                                      #{e 44818}#
-                                                      #{r 44625}#
-                                                      #{w 44819}#
-                                                      #{mod 44821}#))))
-                                          '()))
-                                      (if (eqv? #{m 44628}# 'c&e)
-                                        (let ((#{e 46269}#
-                                                (#{expand-install-global 
28268}#
-                                                  #{var 45543}#
-                                                  #{type 44816}#
-                                                  (#{expand 28271}#
-                                                    #{e 44818}#
-                                                    #{r 44625}#
-                                                    #{w 44819}#
-                                                    #{mod 44821}#))))
-                                          (begin
-                                            (#{top-level-eval-hook 28198}#
-                                              #{e 46269}#
-                                              #{mod 44821}#)
-                                            (list (lambda () #{e 46269}#))))
-                                        (begin
-                                          (if (memq 'eval #{esew 44629}#)
-                                            (#{top-level-eval-hook 28198}#
-                                              (#{expand-install-global 28268}#
-                                                #{var 45543}#
-                                                #{type 44816}#
-                                                (#{expand 28271}#
-                                                  #{e 44818}#
-                                                  #{r 44625}#
-                                                  #{w 44819}#
-                                                  #{mod 44821}#))
-                                              #{mod 44821}#))
-                                          '())))))))
-                            (if (eqv? #{type 44816}# 'begin-form)
-                              (let ((#{tmp 46879}#
-                                      ($sc-dispatch
-                                        #{e 44818}#
-                                        '(_ . each-any))))
-                                (if #{tmp 46879}#
-                                  (@apply
-                                    (lambda (#{e1 46883}#)
-                                      (#{parse 44268}#
-                                        #{e1 46883}#
-                                        #{r 44625}#
-                                        #{w 44819}#
-                                        #{s 44820}#
-                                        #{m 44628}#
-                                        #{esew 44629}#
-                                        #{mod 44821}#))
-                                    #{tmp 46879}#)
-                                  (syntax-violation
-                                    #f
-                                    "source expression failed to match any 
pattern"
-                                    #{e 44818}#)))
-                              (if (eqv? #{type 44816}# 'local-syntax-form)
-                                (#{expand-local-syntax 28276}#
-                                  #{value 44817}#
-                                  #{e 44818}#
-                                  #{r 44625}#
-                                  #{w 44819}#
-                                  #{s 44820}#
-                                  #{mod 44821}#
-                                  (lambda (#{forms 46926}#
-                                           #{r 46927}#
-                                           #{w 46928}#
-                                           #{s 46929}#
-                                           #{mod 46930}#)
-                                    (#{parse 44268}#
-                                      #{forms 46926}#
-                                      #{r 46927}#
-                                      #{w 46928}#
-                                      #{s 46929}#
-                                      #{m 44628}#
-                                      #{esew 44629}#
-                                      #{mod 46930}#)))
-                                (if (eqv? #{type 44816}# 'eval-when-form)
-                                  (let ((#{tmp 46966}#
-                                          ($sc-dispatch
-                                            #{e 44818}#
-                                            '(_ each-any any . each-any))))
-                                    (if #{tmp 46966}#
-                                      (@apply
-                                        (lambda (#{x 46970}#
-                                                 #{e1 46971}#
-                                                 #{e2 46972}#)
-                                          (let ((#{when-list 46973}#
-                                                  (#{parse-when-list 28269}#
-                                                    #{e 44818}#
-                                                    #{x 46970}#))
-                                                (#{body 46974}#
-                                                  (cons #{e1 46971}#
-                                                        #{e2 46972}#)))
-                                            (letrec*
-                                              ((#{recurse 46975}#
-                                                 (lambda (#{m 47561}#
-                                                          #{esew 47562}#)
-                                                   (#{parse 44268}#
-                                                     #{body 46974}#
-                                                     #{r 44625}#
-                                                     #{w 44819}#
-                                                     #{s 44820}#
-                                                     #{m 47561}#
-                                                     #{esew 47562}#
-                                                     #{mod 44821}#))))
-                                              (if (eq? #{m 44628}# 'e)
-                                                (if (memq 'eval
-                                                          #{when-list 46973}#)
-                                                  (#{recurse 46975}#
-                                                    (if (memq 'expand
-                                                              #{when-list 
46973}#)
-                                                      'c&e
-                                                      'e)
-                                                    '(eval))
-                                                  (begin
-                                                    (if (memq 'expand
-                                                              #{when-list 
46973}#)
-                                                      (let ((#{x 47082}#
-                                                              
(#{expand-top-sequence 28267}#
-                                                                #{body 46974}#
-                                                                #{r 44625}#
-                                                                #{w 44819}#
-                                                                #{s 44820}#
-                                                                'e
-                                                                '(eval)
-                                                                #{mod 
44821}#)))
-                                                        (primitive-eval
-                                                          #{x 47082}#)))
-                                                    '()))
-                                                (if (memq 'load
-                                                          #{when-list 46973}#)
-                                                  (if (let ((#{t 47110}#
-                                                              (memq 'compile
-                                                                    
#{when-list 46973}#)))
-                                                        (if #{t 47110}#
-                                                          #{t 47110}#
-                                                          (let ((#{t 47163}#
-                                                                  (memq 'expand
-                                                                        
#{when-list 46973}#)))
-                                                            (if #{t 47163}#
-                                                              #{t 47163}#
-                                                              (if (eq? #{m 
44628}#
-                                                                       'c&e)
-                                                                (memq 'eval
-                                                                      
#{when-list 46973}#)
-                                                                #f)))))
-                                                    (#{recurse 46975}#
-                                                      'c&e
-                                                      '(compile load))
-                                                    (if (if (eq? #{m 44628}#
-                                                                 'c)
-                                                          #t
-                                                          (eq? #{m 44628}#
-                                                               'c&e))
-                                                      (#{recurse 46975}#
-                                                        'c
-                                                        '(load))
-                                                      '()))
-                                                  (if (let ((#{t 47372}#
-                                                              (memq 'compile
-                                                                    
#{when-list 46973}#)))
-                                                        (if #{t 47372}#
-                                                          #{t 47372}#
-                                                          (let ((#{t 47425}#
-                                                                  (memq 'expand
-                                                                        
#{when-list 46973}#)))
-                                                            (if #{t 47425}#
-                                                              #{t 47425}#
-                                                              (if (eq? #{m 
44628}#
-                                                                       'c&e)
-                                                                (memq 'eval
-                                                                      
#{when-list 46973}#)
-                                                                #f)))))
-                                                    (begin
-                                                      (let ((#{x 47559}#
-                                                              
(#{expand-top-sequence 28267}#
-                                                                #{body 46974}#
-                                                                #{r 44625}#
-                                                                #{w 44819}#
-                                                                #{s 44820}#
-                                                                'e
-                                                                '(eval)
-                                                                #{mod 
44821}#)))
-                                                        (primitive-eval
-                                                          #{x 47559}#))
-                                                      '())
-                                                    '()))))))
-                                        #{tmp 46966}#)
-                                      (syntax-violation
-                                        #f
-                                        "source expression failed to match any 
pattern"
-                                        #{e 44818}#)))
-                                  (list (if (eq? #{m 44628}# 'c&e)
-                                          (let ((#{x 47632}#
-                                                  (#{expand-expr 28272}#
-                                                    #{type 44816}#
-                                                    #{value 44817}#
-                                                    #{e 44818}#
-                                                    #{r 44625}#
-                                                    #{w 44819}#
-                                                    #{s 44820}#
-                                                    #{mod 44821}#)))
+                                    (record-definition!-21428
+                                      id-21989
+                                      var-21991)
+                                    (list (if (eq? m-21791 'c&e)
+                                            (let ((x-22211
+                                                    
(build-global-definition-4525
+                                                      s-21984
+                                                      var-21991
+                                                      (expand-4586
+                                                        e-21982
+                                                        r-21788
+                                                        w-21983
+                                                        mod-21985))))
+                                              (begin
+                                                (top-level-eval-hook-4509
+                                                  x-22211
+                                                  mod-21985)
+                                                (lambda () x-22211)))
+                                            (lambda ()
+                                              (build-global-definition-4525
+                                                s-21984
+                                                var-21991
+                                                (expand-4586
+                                                  e-21982
+                                                  r-21788
+                                                  w-21983
+                                                  mod-21985)))))))))
+                            (if (if (eqv? type-21979 'define-syntax-form)
+                                  #t
+                                  (eqv? type-21979
+                                        'define-syntax-parameter-form))
+                              (let ((id-22705
+                                      (if (if (null? (car w-21983))
+                                            (null? (cdr w-21983))
+                                            #f)
+                                        value-21980
+                                        (if (if (vector? value-21980)
+                                              (if (= (vector-length
+                                                       value-21980)
+                                                     4)
+                                                (eq? (vector-ref value-21980 0)
+                                                     'syntax-object)
+                                                #f)
+                                              #f)
+                                          (let ((expression-22755
+                                                  (vector-ref value-21980 1))
+                                                (wrap-22756
+                                                  (let ((w2-22766
+                                                          (vector-ref
+                                                            value-21980
+                                                            2)))
+                                                    (let ((m1-22767
+                                                            (car w-21983))
+                                                          (s1-22768
+                                                            (cdr w-21983)))
+                                                      (if (null? m1-22767)
+                                                        (if (null? s1-22768)
+                                                          w2-22766
+                                                          (cons (car w2-22766)
+                                                                (let ((m2-22785
+                                                                        (cdr 
w2-22766)))
+                                                                  (if (null? 
m2-22785)
+                                                                    s1-22768
+                                                                    (append
+                                                                      s1-22768
+                                                                      
m2-22785)))))
+                                                        (cons (let ((m2-22793
+                                                                      (car 
w2-22766)))
+                                                                (if (null? 
m2-22793)
+                                                                  m1-22767
+                                                                  (append
+                                                                    m1-22767
+                                                                    m2-22793)))
+                                                              (let ((m2-22801
+                                                                      (cdr 
w2-22766)))
+                                                                (if (null? 
m2-22801)
+                                                                  s1-22768
+                                                                  (append
+                                                                    s1-22768
+                                                                    
m2-22801))))))))
+                                                (module-22757
+                                                  (vector-ref value-21980 3)))
+                                            (vector
+                                              'syntax-object
+                                              expression-22755
+                                              wrap-22756
+                                              module-22757))
+                                          (if (null? value-21980)
+                                            value-21980
+                                            (vector
+                                              'syntax-object
+                                              value-21980
+                                              w-21983
+                                              mod-21985))))))
+                                (begin
+                                  (string-append
+                                    "l-"
+                                    (session-id-4511)
+                                    (symbol->string (gensym "-")))
+                                  (let ((var-22707
+                                          (if (not (equal?
+                                                     (car (vector-ref
+                                                            id-22705
+                                                            2))
+                                                     '(top)))
+                                            (symbol-append
+                                              (vector-ref id-22705 1)
+                                              '-
+                                              (string->symbol
+                                                (number->string
+                                                  (hash (syntax->datum x-21787)
+                                                        most-positive-fixnum)
+                                                  16)))
+                                            (vector-ref id-22705 1))))
+                                    (begin
+                                      (record-definition!-21428
+                                        id-22705
+                                        var-22707)
+                                      (if (eqv? m-21791 'c)
+                                        (if (memq 'compile esew-21792)
+                                          (let ((e-22930
+                                                  (expand-install-global-4583
+                                                    var-22707
+                                                    type-21979
+                                                    (expand-4586
+                                                      e-21982
+                                                      r-21788
+                                                      w-21983
+                                                      mod-21985))))
                                             (begin
-                                              (primitive-eval #{x 47632}#)
-                                              (lambda () #{x 47632}#)))
-                                          (lambda ()
-                                            (#{expand-expr 28272}#
-                                              #{type 44816}#
-                                              #{value 44817}#
-                                              #{e 44818}#
-                                              #{r 44625}#
-                                              #{w 44819}#
-                                              #{s 44820}#
-                                              #{mod 44821}#))))))))))))))
-               (let ((#{exps 44270}#
-                       (map (lambda (#{x 44393}#) (#{x 44393}#))
-                            (reverse
-                              (#{parse 44268}#
-                                #{body 44255}#
-                                #{r 44262}#
-                                #{w 44264}#
-                                #{s 44258}#
-                                #{m 44259}#
-                                #{esew 44260}#
-                                #{mod 44261}#)))))
-                 (if (null? #{exps 44270}#)
-                   (make-struct/no-tail
-                     (vector-ref %expanded-vtables 0)
-                     #{s 44258}#)
-                   (#{build-sequence 28220}#
-                     #{s 44258}#
-                     #{exps 44270}#)))))))))
-   (#{expand-install-global 28268}#
-     (lambda (#{name 47760}# #{type 47761}# #{e 47762}#)
-       (let ((#{exp 47768}#
-               (let ((#{args 47779}#
-                       (if (eq? #{type 47761}#
-                                'define-syntax-parameter-form)
-                         (list (make-struct/no-tail
-                                 (vector-ref %expanded-vtables 1)
-                                 #f
-                                 #{name 47760}#)
-                               (make-struct/no-tail
-                                 (vector-ref %expanded-vtables 1)
-                                 #f
-                                 'syntax-parameter)
-                               (let ((#{args 47802}# (list #{e 47762}#)))
+                                              (top-level-eval-hook-4509
+                                                e-22930
+                                                mod-21985)
+                                              (if (memq 'load esew-21792)
+                                                (list (lambda () e-22930))
+                                                '())))
+                                          (if (memq 'load esew-21792)
+                                            (list (lambda ()
+                                                    (expand-install-global-4583
+                                                      var-22707
+                                                      type-21979
+                                                      (expand-4586
+                                                        e-21982
+                                                        r-21788
+                                                        w-21983
+                                                        mod-21985))))
+                                            '()))
+                                        (if (eqv? m-21791 'c&e)
+                                          (let ((e-23433
+                                                  (expand-install-global-4583
+                                                    var-22707
+                                                    type-21979
+                                                    (expand-4586
+                                                      e-21982
+                                                      r-21788
+                                                      w-21983
+                                                      mod-21985))))
+                                            (begin
+                                              (top-level-eval-hook-4509
+                                                e-23433
+                                                mod-21985)
+                                              (list (lambda () e-23433))))
+                                          (begin
+                                            (if (memq 'eval esew-21792)
+                                              (top-level-eval-hook-4509
+                                                (expand-install-global-4583
+                                                  var-22707
+                                                  type-21979
+                                                  (expand-4586
+                                                    e-21982
+                                                    r-21788
+                                                    w-21983
+                                                    mod-21985))
+                                                mod-21985))
+                                            '())))))))
+                              (if (eqv? type-21979 'begin-form)
+                                (let ((tmp-24043
+                                        ($sc-dispatch
+                                          e-21982
+                                          '(_ . each-any))))
+                                  (if tmp-24043
+                                    (@apply
+                                      (lambda (e1-24047)
+                                        (parse-21431
+                                          e1-24047
+                                          r-21788
+                                          w-21983
+                                          s-21984
+                                          m-21791
+                                          esew-21792
+                                          mod-21985))
+                                      tmp-24043)
+                                    (syntax-violation
+                                      #f
+                                      "source expression failed to match any 
pattern"
+                                      e-21982)))
+                                (if (eqv? type-21979 'local-syntax-form)
+                                  (expand-local-syntax-4591
+                                    value-21980
+                                    e-21982
+                                    r-21788
+                                    w-21983
+                                    s-21984
+                                    mod-21985
+                                    (lambda (forms-24090
+                                             r-24091
+                                             w-24092
+                                             s-24093
+                                             mod-24094)
+                                      (parse-21431
+                                        forms-24090
+                                        r-24091
+                                        w-24092
+                                        s-24093
+                                        m-21791
+                                        esew-21792
+                                        mod-24094)))
+                                  (if (eqv? type-21979 'eval-when-form)
+                                    (let ((tmp-24130
+                                            ($sc-dispatch
+                                              e-21982
+                                              '(_ each-any any . each-any))))
+                                      (if tmp-24130
+                                        (@apply
+                                          (lambda (x-24134 e1-24135 e2-24136)
+                                            (let ((when-list-24137
+                                                    (parse-when-list-4584
+                                                      e-21982
+                                                      x-24134))
+                                                  (body-24138
+                                                    (cons e1-24135 e2-24136)))
+                                              (letrec*
+                                                ((recurse-24139
+                                                   (lambda (m-24725 esew-24726)
+                                                     (parse-21431
+                                                       body-24138
+                                                       r-21788
+                                                       w-21983
+                                                       s-21984
+                                                       m-24725
+                                                       esew-24726
+                                                       mod-21985))))
+                                                (if (eq? m-21791 'e)
+                                                  (if (memq 'eval
+                                                            when-list-24137)
+                                                    (recurse-24139
+                                                      (if (memq 'expand
+                                                                
when-list-24137)
+                                                        'c&e
+                                                        'e)
+                                                      '(eval))
+                                                    (begin
+                                                      (if (memq 'expand
+                                                                
when-list-24137)
+                                                        (let ((x-24246
+                                                                
(expand-top-sequence-4582
+                                                                  body-24138
+                                                                  r-21788
+                                                                  w-21983
+                                                                  s-21984
+                                                                  'e
+                                                                  '(eval)
+                                                                  mod-21985)))
+                                                          (primitive-eval
+                                                            x-24246)))
+                                                      '()))
+                                                  (if (memq 'load
+                                                            when-list-24137)
+                                                    (if (let ((t-24274
+                                                                (memq 'compile
+                                                                      
when-list-24137)))
+                                                          (if t-24274
+                                                            t-24274
+                                                            (let ((t-24327
+                                                                    (memq 
'expand
+                                                                          
when-list-24137)))
+                                                              (if t-24327
+                                                                t-24327
+                                                                (if (eq? 
m-21791
+                                                                         'c&e)
+                                                                  (memq 'eval
+                                                                        
when-list-24137)
+                                                                  #f)))))
+                                                      (recurse-24139
+                                                        'c&e
+                                                        '(compile load))
+                                                      (if (if (eq? m-21791 'c)
+                                                            #t
+                                                            (eq? m-21791 'c&e))
+                                                        (recurse-24139
+                                                          'c
+                                                          '(load))
+                                                        '()))
+                                                    (if (let ((t-24536
+                                                                (memq 'compile
+                                                                      
when-list-24137)))
+                                                          (if t-24536
+                                                            t-24536
+                                                            (let ((t-24589
+                                                                    (memq 
'expand
+                                                                          
when-list-24137)))
+                                                              (if t-24589
+                                                                t-24589
+                                                                (if (eq? 
m-21791
+                                                                         'c&e)
+                                                                  (memq 'eval
+                                                                        
when-list-24137)
+                                                                  #f)))))
+                                                      (begin
+                                                        (let ((x-24723
+                                                                
(expand-top-sequence-4582
+                                                                  body-24138
+                                                                  r-21788
+                                                                  w-21983
+                                                                  s-21984
+                                                                  'e
+                                                                  '(eval)
+                                                                  mod-21985)))
+                                                          (primitive-eval
+                                                            x-24723))
+                                                        '())
+                                                      '()))))))
+                                          tmp-24130)
+                                        (syntax-violation
+                                          #f
+                                          "source expression failed to match 
any pattern"
+                                          e-21982)))
+                                    (list (if (eq? m-21791 'c&e)
+                                            (let ((x-24796
+                                                    (expand-expr-4587
+                                                      type-21979
+                                                      value-21980
+                                                      form-21981
+                                                      e-21982
+                                                      r-21788
+                                                      w-21983
+                                                      s-21984
+                                                      mod-21985)))
+                                              (begin
+                                                (primitive-eval x-24796)
+                                                (lambda () x-24796)))
+                                            (lambda ()
+                                              (expand-expr-4587
+                                                type-21979
+                                                value-21980
+                                                form-21981
+                                                e-21982
+                                                r-21788
+                                                w-21983
+                                                s-21984
+                                                mod-21985))))))))))))))
+                 (let ((exps-21433
+                         (map (lambda (x-21556) (x-21556))
+                              (reverse
+                                (parse-21431
+                                  body-21418
+                                  r-21425
+                                  w-21427
+                                  s-21421
+                                  m-21422
+                                  esew-21423
+                                  mod-21424)))))
+                   (if (null? exps-21433)
+                     (make-struct/no-tail
+                       (vector-ref %expanded-vtables 0)
+                       s-21421)
+                     (build-sequence-4532 s-21421 exps-21433)))))))))
+     (expand-install-global-4583
+       (lambda (name-24924 type-24925 e-24926)
+         (let ((exp-24932
+                 (let ((args-24943
+                         (if (eq? type-24925 'define-syntax-parameter-form)
+                           (list (make-struct/no-tail
+                                   (vector-ref %expanded-vtables 1)
+                                   #f
+                                   name-24924)
                                  (make-struct/no-tail
-                                   (vector-ref %expanded-vtables 12)
+                                   (vector-ref %expanded-vtables 1)
                                    #f
-                                   'list
-                                   #{args 47802}#)))
-                         (list (make-struct/no-tail
-                                 (vector-ref %expanded-vtables 1)
-                                 #f
-                                 #{name 47760}#)
-                               (make-struct/no-tail
-                                 (vector-ref %expanded-vtables 1)
-                                 #f
-                                 'macro)
-                               #{e 47762}#))))
-                 (make-struct/no-tail
-                   (vector-ref %expanded-vtables 12)
-                   #f
-                   'make-syntax-transformer
-                   #{args 47779}#))))
-         (begin
-           (if (if (struct? #{exp 47768}#)
-                 (eq? (struct-vtable #{exp 47768}#)
-                      (vector-ref %expanded-vtables 14))
-                 #f)
-             (let ((#{meta 47829}# (struct-ref #{exp 47768}# 1)))
-               (if (not (assq 'name #{meta 47829}#))
-                 (let ((#{v 47836}#
-                         (cons (cons 'name #{name 47760}#) #{meta 47829}#)))
-                   (struct-set! #{exp 47768}# 1 #{v 47836}#)))))
-           (make-struct/no-tail
-             (vector-ref %expanded-vtables 9)
-             #f
-             #{name 47760}#
-             #{exp 47768}#)))))
-   (#{parse-when-list 28269}#
-     (lambda (#{e 47847}# #{when-list 47848}#)
-       (let ((#{result 47849}#
-               (#{strip 28284}# #{when-list 47848}# '(()))))
-         (letrec*
-           ((#{lp 47850}#
-              (lambda (#{l 47916}#)
-                (if (null? #{l 47916}#)
-                  #{result 47849}#
-                  (if (let ((#{t 47918}# (car #{l 47916}#)))
-                        (if (eq? #{t 47918}# 'compile)
-                          #t
-                          (if (eq? #{t 47918}# 'load)
+                                   'syntax-parameter)
+                                 (let ((args-24966 (list e-24926)))
+                                   (make-struct/no-tail
+                                     (vector-ref %expanded-vtables 12)
+                                     #f
+                                     'list
+                                     args-24966)))
+                           (list (make-struct/no-tail
+                                   (vector-ref %expanded-vtables 1)
+                                   #f
+                                   name-24924)
+                                 (make-struct/no-tail
+                                   (vector-ref %expanded-vtables 1)
+                                   #f
+                                   'macro)
+                                 e-24926))))
+                   (make-struct/no-tail
+                     (vector-ref %expanded-vtables 12)
+                     #f
+                     'make-syntax-transformer
+                     args-24943))))
+           (begin
+             (if (if (struct? exp-24932)
+                   (eq? (struct-vtable exp-24932)
+                        (vector-ref %expanded-vtables 14))
+                   #f)
+               (let ((meta-24993 (struct-ref exp-24932 1)))
+                 (if (not (assq 'name meta-24993))
+                   (let ((v-25000
+                           (cons (cons 'name name-24924) meta-24993)))
+                     (struct-set! exp-24932 1 v-25000)))))
+             (make-struct/no-tail
+               (vector-ref %expanded-vtables 9)
+               #f
+               name-24924
+               exp-24932)))))
+     (parse-when-list-4584
+       (lambda (e-25011 when-list-25012)
+         (let ((result-25013 (strip-4599 when-list-25012 '(()))))
+           (letrec*
+             ((lp-25014
+                (lambda (l-25080)
+                  (if (null? l-25080)
+                    result-25013
+                    (if (let ((t-25082 (car l-25080)))
+                          (if (eq? t-25082 'compile)
                             #t
-                            (if (eq? #{t 47918}# 'eval)
+                            (if (eq? t-25082 'load)
                               #t
-                              (eq? #{t 47918}# 'expand)))))
-                    (#{lp 47850}# (cdr #{l 47916}#))
-                    (syntax-violation
-                      'eval-when
-                      "invalid situation"
-                      #{e 47847}#
-                      (car #{l 47916}#)))))))
-           (#{lp 47850}# #{result 47849}#)))))
-   (#{syntax-type 28270}#
-     (lambda (#{e 47920}#
-              #{r 47921}#
-              #{w 47922}#
-              #{s 47923}#
-              #{rib 47924}#
-              #{mod 47925}#
-              #{for-car? 47926}#)
-       (if (symbol? #{e 47920}#)
-         (call-with-values
-           (lambda ()
-             (#{resolve-identifier 28258}#
-               #{e 47920}#
-               #{w 47922}#
-               #{r 47921}#
-               #{mod 47925}#
-               #t))
-           (lambda (#{type 47929}# #{value 47930}# #{mod* 47931}#)
-             (if (eqv? #{type 47929}# 'macro)
-               (if #{for-car? 47926}#
-                 (values
-                   #{type 47929}#
-                   #{value 47930}#
-                   #{e 47920}#
-                   #{w 47922}#
-                   #{s 47923}#
-                   #{mod 47925}#)
-                 (#{syntax-type 28270}#
-                   (#{expand-macro 28274}#
-                     #{value 47930}#
-                     #{e 47920}#
-                     #{r 47921}#
-                     #{w 47922}#
-                     #{s 47923}#
-                     #{rib 47924}#
-                     #{mod 47925}#)
-                   #{r 47921}#
-                   '(())
-                   #{s 47923}#
-                   #{rib 47924}#
-                   #{mod 47925}#
-                   #f))
-               (if (eqv? #{type 47929}# 'global)
-                 (values
-                   #{type 47929}#
-                   #{value 47930}#
-                   #{value 47930}#
-                   #{w 47922}#
-                   #{s 47923}#
-                   #{mod* 47931}#)
-                 (values
-                   #{type 47929}#
-                   #{value 47930}#
-                   #{e 47920}#
-                   #{w 47922}#
-                   #{s 47923}#
-                   #{mod 47925}#)))))
-         (if (pair? #{e 47920}#)
-           (let ((#{first 47940}# (car #{e 47920}#)))
-             (call-with-values
-               (lambda ()
-                 (#{syntax-type 28270}#
-                   #{first 47940}#
-                   #{r 47921}#
-                   #{w 47922}#
-                   #{s 47923}#
-                   #{rib 47924}#
-                   #{mod 47925}#
-                   #t))
-               (lambda (#{ftype 47942}#
-                        #{fval 47943}#
-                        #{fe 47944}#
-                        #{fw 47945}#
-                        #{fs 47946}#
-                        #{fmod 47947}#)
-                 (if (eqv? #{ftype 47942}# 'lexical)
+                              (if (eq? t-25082 'eval)
+                                #t
+                                (eq? t-25082 'expand)))))
+                      (lp-25014 (cdr l-25080))
+                      (syntax-violation
+                        'eval-when
+                        "invalid situation"
+                        e-25011
+                        (car l-25080)))))))
+             (lp-25014 result-25013)))))
+     (syntax-type-4585
+       (lambda (e-25084
+                r-25085
+                w-25086
+                s-25087
+                rib-25088
+                mod-25089
+                for-car?-25090)
+         (if (symbol? e-25084)
+           (call-with-values
+             (lambda ()
+               (resolve-identifier-4571
+                 e-25084
+                 w-25086
+                 r-25085
+                 mod-25089
+                 #t))
+             (lambda (type-25093 value-25094 mod*-25095)
+               (if (eqv? type-25093 'macro)
+                 (if for-car?-25090
+                   (values
+                     type-25093
+                     value-25094
+                     e-25084
+                     e-25084
+                     w-25086
+                     s-25087
+                     mod-25089)
+                   (syntax-type-4585
+                     (expand-macro-4589
+                       value-25094
+                       e-25084
+                       r-25085
+                       w-25086
+                       s-25087
+                       rib-25088
+                       mod-25089)
+                     r-25085
+                     '(())
+                     s-25087
+                     rib-25088
+                     mod-25089
+                     #f))
+                 (if (eqv? type-25093 'global)
                    (values
-                     'lexical-call
-                     #{fval 47943}#
-                     #{e 47920}#
-                     #{w 47922}#
-                     #{s 47923}#
-                     #{mod 47925}#)
-                   (if (eqv? #{ftype 47942}# 'global)
+                     type-25093
+                     value-25094
+                     e-25084
+                     value-25094
+                     w-25086
+                     s-25087
+                     mod*-25095)
+                   (values
+                     type-25093
+                     value-25094
+                     e-25084
+                     e-25084
+                     w-25086
+                     s-25087
+                     mod-25089)))))
+           (if (pair? e-25084)
+             (let ((first-25104 (car e-25084)))
+               (call-with-values
+                 (lambda ()
+                   (syntax-type-4585
+                     first-25104
+                     r-25085
+                     w-25086
+                     s-25087
+                     rib-25088
+                     mod-25089
+                     #t))
+                 (lambda (ftype-25106
+                          fval-25107
+                          fform-25108
+                          fe-25109
+                          fw-25110
+                          fs-25111
+                          fmod-25112)
+                   (if (eqv? ftype-25106 'lexical)
                      (values
-                       'global-call
-                       (vector
-                         'syntax-object
-                         #{fval 47943}#
-                         #{w 47922}#
-                         #{fmod 47947}#)
-                       #{e 47920}#
-                       #{w 47922}#
-                       #{s 47923}#
-                       #{mod 47925}#)
-                     (if (eqv? #{ftype 47942}# 'macro)
-                       (#{syntax-type 28270}#
-                         (#{expand-macro 28274}#
-                           #{fval 47943}#
-                           #{e 47920}#
-                           #{r 47921}#
-                           #{w 47922}#
-                           #{s 47923}#
-                           #{rib 47924}#
-                           #{mod 47925}#)
-                         #{r 47921}#
-                         '(())
-                         #{s 47923}#
-                         #{rib 47924}#
-                         #{mod 47925}#
-                         #{for-car? 47926}#)
-                       (if (eqv? #{ftype 47942}# 'module-ref)
-                         (call-with-values
-                           (lambda ()
-                             (#{fval 47943}#
-                               #{e 47920}#
-                               #{r 47921}#
-                               #{w 47922}#))
-                           (lambda (#{e 47968}#
-                                    #{r 47969}#
-                                    #{w 47970}#
-                                    #{s 47971}#
-                                    #{mod 47972}#)
-                             (#{syntax-type 28270}#
-                               #{e 47968}#
-                               #{r 47969}#
-                               #{w 47970}#
-                               #{s 47971}#
-                               #{rib 47924}#
-                               #{mod 47972}#
-                               #{for-car? 47926}#)))
-                         (if (eqv? #{ftype 47942}# 'core)
-                           (values
-                             'core-form
-                             #{fval 47943}#
-                             #{e 47920}#
-                             #{w 47922}#
-                             #{s 47923}#
-                             #{mod 47925}#)
-                           (if (eqv? #{ftype 47942}# 'local-syntax)
+                       'lexical-call
+                       fval-25107
+                       e-25084
+                       e-25084
+                       w-25086
+                       s-25087
+                       mod-25089)
+                     (if (eqv? ftype-25106 'global)
+                       (values
+                         'global-call
+                         (vector
+                           'syntax-object
+                           fval-25107
+                           w-25086
+                           fmod-25112)
+                         e-25084
+                         e-25084
+                         w-25086
+                         s-25087
+                         mod-25089)
+                       (if (eqv? ftype-25106 'macro)
+                         (syntax-type-4585
+                           (expand-macro-4589
+                             fval-25107
+                             e-25084
+                             r-25085
+                             w-25086
+                             s-25087
+                             rib-25088
+                             mod-25089)
+                           r-25085
+                           '(())
+                           s-25087
+                           rib-25088
+                           mod-25089
+                           for-car?-25090)
+                         (if (eqv? ftype-25106 'module-ref)
+                           (call-with-values
+                             (lambda () (fval-25107 e-25084 r-25085 w-25086))
+                             (lambda (e-25133
+                                      r-25134
+                                      w-25135
+                                      s-25136
+                                      mod-25137)
+                               (syntax-type-4585
+                                 e-25133
+                                 r-25134
+                                 w-25135
+                                 s-25136
+                                 rib-25088
+                                 mod-25137
+                                 for-car?-25090)))
+                           (if (eqv? ftype-25106 'core)
                              (values
-                               'local-syntax-form
-                               #{fval 47943}#
-                               #{e 47920}#
-                               #{w 47922}#
-                               #{s 47923}#
-                               #{mod 47925}#)
-                             (if (eqv? #{ftype 47942}# 'begin)
+                               'core-form
+                               fval-25107
+                               e-25084
+                               e-25084
+                               w-25086
+                               s-25087
+                               mod-25089)
+                             (if (eqv? ftype-25106 'local-syntax)
                                (values
-                                 'begin-form
-                                 #f
-                                 #{e 47920}#
-                                 #{w 47922}#
-                                 #{s 47923}#
-                                 #{mod 47925}#)
-                               (if (eqv? #{ftype 47942}# 'eval-when)
+                                 'local-syntax-form
+                                 fval-25107
+                                 e-25084
+                                 e-25084
+                                 w-25086
+                                 s-25087
+                                 mod-25089)
+                               (if (eqv? ftype-25106 'begin)
                                  (values
-                                   'eval-when-form
+                                   'begin-form
                                    #f
-                                   #{e 47920}#
-                                   #{w 47922}#
-                                   #{s 47923}#
-                                   #{mod 47925}#)
-                                 (if (eqv? #{ftype 47942}# 'define)
-                                   (let ((#{tmp 47989}#
-                                           ($sc-dispatch
-                                             #{e 47920}#
-                                             '(_ any any))))
-                                     (if (if #{tmp 47989}#
-                                           (@apply
-                                             (lambda (#{name 47993}#
-                                                      #{val 47994}#)
-                                               (if (symbol? #{name 47993}#)
-                                                 #t
-                                                 (if (if (vector?
-                                                           #{name 47993}#)
-                                                       (if (= (vector-length
-                                                                #{name 47993}#)
-                                                              4)
-                                                         (eq? (vector-ref
-                                                                #{name 47993}#
-                                                                0)
-                                                              'syntax-object)
-                                                         #f)
-                                                       #f)
-                                                   (symbol?
-                                                     (vector-ref
-                                                       #{name 47993}#
-                                                       1))
-                                                   #f)))
-                                             #{tmp 47989}#)
-                                           #f)
-                                       (@apply
-                                         (lambda (#{name 48021}# #{val 48022}#)
-                                           (values
-                                             'define-form
-                                             #{name 48021}#
-                                             #{val 48022}#
-                                             #{w 47922}#
-                                             #{s 47923}#
-                                             #{mod 47925}#))
-                                         #{tmp 47989}#)
-                                       (let ((#{tmp 48023}#
-                                               ($sc-dispatch
-                                                 #{e 47920}#
-                                                 '(_ (any . any)
-                                                     any
-                                                     .
-                                                     each-any))))
-                                         (if (if #{tmp 48023}#
-                                               (@apply
-                                                 (lambda (#{name 48027}#
-                                                          #{args 48028}#
-                                                          #{e1 48029}#
-                                                          #{e2 48030}#)
-                                                   (if (if (symbol?
-                                                             #{name 48027}#)
-                                                         #t
-                                                         (if (if (vector?
-                                                                   #{name 
48027}#)
-                                                               (if (= 
(vector-length
-                                                                        #{name 
48027}#)
-                                                                      4)
-                                                                 (eq? 
(vector-ref
-                                                                        #{name 
48027}#
-                                                                        0)
-                                                                      
'syntax-object)
-                                                                 #f)
-                                                               #f)
-                                                           (symbol?
-                                                             (vector-ref
-                                                               #{name 48027}#
-                                                               1))
-                                                           #f))
-                                                     (#{valid-bound-ids? 
28261}#
-                                                       (#{lambda-var-list 
28286}#
-                                                         #{args 48028}#))
-                                                     #f))
-                                                 #{tmp 48023}#)
-                                               #f)
-                                           (@apply
-                                             (lambda (#{name 48493}#
-                                                      #{args 48494}#
-                                                      #{e1 48495}#
-                                                      #{e2 48496}#)
-                                               (values
-                                                 'define-form
-                                                 (if (if (null? (car #{w 
47922}#))
-                                                       (null? (cdr #{w 
47922}#))
-                                                       #f)
-                                                   #{name 48493}#
-                                                   (if (if (vector?
-                                                             #{name 48493}#)
+                                   e-25084
+                                   e-25084
+                                   w-25086
+                                   s-25087
+                                   mod-25089)
+                                 (if (eqv? ftype-25106 'eval-when)
+                                   (values
+                                     'eval-when-form
+                                     #f
+                                     e-25084
+                                     e-25084
+                                     w-25086
+                                     s-25087
+                                     mod-25089)
+                                   (if (eqv? ftype-25106 'define)
+                                     (let ((tmp-25154
+                                             ($sc-dispatch
+                                               e-25084
+                                               '(_ any any))))
+                                       (if (if tmp-25154
+                                             (@apply
+                                               (lambda (name-25158 val-25159)
+                                                 (if (symbol? name-25158)
+                                                   #t
+                                                   (if (if (vector? name-25158)
                                                          (if (= (vector-length
-                                                                  #{name 
48493}#)
+                                                                  name-25158)
                                                                 4)
                                                            (eq? (vector-ref
-                                                                  #{name 
48493}#
+                                                                  name-25158
                                                                   0)
                                                                 'syntax-object)
                                                            #f)
                                                          #f)
-                                                     (let ((#{expression 
48526}#
-                                                             (vector-ref
-                                                               #{name 48493}#
-                                                               1))
-                                                           (#{wrap 48527}#
-                                                             (let ((#{w2 
48537}#
-                                                                     
(vector-ref
-                                                                       #{name 
48493}#
-                                                                       2)))
-                                                               (let ((#{m1 
48538}#
-                                                                       (car 
#{w 47922}#))
-                                                                     (#{s1 
48539}#
-                                                                       (cdr 
#{w 47922}#)))
-                                                                 (if (null? 
#{m1 48538}#)
-                                                                   (if (null? 
#{s1 48539}#)
-                                                                     #{w2 
48537}#
-                                                                     (cons 
(car #{w2 48537}#)
-                                                                           
(let ((#{m2 48556}#
-                                                                               
    (cdr #{w2 48537}#)))
-                                                                             
(if (null? #{m2 48556}#)
-                                                                               
#{s1 48539}#
+                                                     (symbol?
+                                                       (vector-ref
+                                                         name-25158
+                                                         1))
+                                                     #f)))
+                                               tmp-25154)
+                                             #f)
+                                         (@apply
+                                           (lambda (name-25186 val-25187)
+                                             (values
+                                               'define-form
+                                               name-25186
+                                               e-25084
+                                               val-25187
+                                               w-25086
+                                               s-25087
+                                               mod-25089))
+                                           tmp-25154)
+                                         (let ((tmp-25188
+                                                 ($sc-dispatch
+                                                   e-25084
+                                                   '(_ (any . any)
+                                                       any
+                                                       .
+                                                       each-any))))
+                                           (if (if tmp-25188
+                                                 (@apply
+                                                   (lambda (name-25192
+                                                            args-25193
+                                                            e1-25194
+                                                            e2-25195)
+                                                     (if (if (symbol?
+                                                               name-25192)
+                                                           #t
+                                                           (if (if (vector?
+                                                                     
name-25192)
+                                                                 (if (= 
(vector-length
+                                                                          
name-25192)
+                                                                        4)
+                                                                   (eq? 
(vector-ref
+                                                                          
name-25192
+                                                                          0)
+                                                                        
'syntax-object)
+                                                                   #f)
+                                                                 #f)
+                                                             (symbol?
+                                                               (vector-ref
+                                                                 name-25192
+                                                                 1))
+                                                             #f))
+                                                       (valid-bound-ids?-4576
+                                                         (lambda-var-list-4601
+                                                           args-25193))
+                                                       #f))
+                                                   tmp-25188)
+                                                 #f)
+                                             (@apply
+                                               (lambda (name-25658
+                                                        args-25659
+                                                        e1-25660
+                                                        e2-25661)
+                                                 (values
+                                                   'define-form
+                                                   (if (if (null? (car 
w-25086))
+                                                         (null? (cdr w-25086))
+                                                         #f)
+                                                     name-25658
+                                                     (if (if (vector?
+                                                               name-25658)
+                                                           (if (= 
(vector-length
+                                                                    name-25658)
+                                                                  4)
+                                                             (eq? (vector-ref
+                                                                    name-25658
+                                                                    0)
+                                                                  
'syntax-object)
+                                                             #f)
+                                                           #f)
+                                                       (let ((expression-25691
+                                                               (vector-ref
+                                                                 name-25658
+                                                                 1))
+                                                             (wrap-25692
+                                                               (let ((w2-25702
+                                                                       
(vector-ref
+                                                                         
name-25658
+                                                                         2)))
+                                                                 (let 
((m1-25703
+                                                                         (car 
w-25086))
+                                                                       
(s1-25704
+                                                                         (cdr 
w-25086)))
+                                                                   (if (null? 
m1-25703)
+                                                                     (if 
(null? s1-25704)
+                                                                       w2-25702
+                                                                       (cons 
(car w2-25702)
+                                                                             
(let ((m2-25721
+                                                                               
      (cdr w2-25702)))
+                                                                               
(if (null? m2-25721)
+                                                                               
  s1-25704
+                                                                               
  (append
+                                                                               
    s1-25704
+                                                                               
    m2-25721)))))
+                                                                     (cons 
(let ((m2-25729
+                                                                               
    (car w2-25702)))
+                                                                             
(if (null? m2-25729)
+                                                                               
m1-25703
                                                                                
(append
-                                                                               
  #{s1 48539}#
-                                                                               
  #{m2 48556}#)))))
-                                                                   (cons (let 
((#{m2 48564}#
-                                                                               
  (car #{w2 48537}#)))
-                                                                           (if 
(null? #{m2 48564}#)
-                                                                             
#{m1 48538}#
-                                                                             
(append
-                                                                               
#{m1 48538}#
-                                                                               
#{m2 48564}#)))
-                                                                         (let 
((#{m2 48572}#
-                                                                               
  (cdr #{w2 48537}#)))
-                                                                           (if 
(null? #{m2 48572}#)
-                                                                             
#{s1 48539}#
-                                                                             
(append
-                                                                               
#{s1 48539}#
-                                                                               
#{m2 48572}#))))))))
-                                                           (#{module 48528}#
-                                                             (vector-ref
-                                                               #{name 48493}#
-                                                               3)))
-                                                       (vector
-                                                         'syntax-object
-                                                         #{expression 48526}#
-                                                         #{wrap 48527}#
-                                                         #{module 48528}#))
-                                                     (if (null? #{name 48493}#)
-                                                       #{name 48493}#
-                                                       (vector
-                                                         'syntax-object
-                                                         #{name 48493}#
-                                                         #{w 47922}#
-                                                         #{mod 47925}#))))
-                                                 (let ((#{e 48598}#
-                                                         (cons '#(syntax-object
-                                                                  lambda
-                                                                  ((top)
-                                                                   #(ribcage
-                                                                     #(name
-                                                                       args
-                                                                       e1
-                                                                       e2)
-                                                                     #((top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top))
-                                                                     #("i25779"
-                                                                       "i25780"
-                                                                       "i25781"
-                                                                       
"i25782"))
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     #(ftype
-                                                                       fval
-                                                                       fe
-                                                                       fw
-                                                                       fs
-                                                                       fmod)
-                                                                     #((top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top))
-                                                                     #("i25732"
-                                                                       "i25733"
-                                                                       "i25734"
-                                                                       "i25735"
-                                                                       "i25736"
-                                                                       
"i25737"))
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     #(first)
-                                                                     #((top))
-                                                                     
#("i25724"))
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ())
-                                                                   #(ribcage
-                                                                     #(e
-                                                                       r
-                                                                       w
-                                                                       s
-                                                                       rib
-                                                                       mod
-                                                                       
for-car?)
-                                                                     #((top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top)
-                                                                       (top))
-                                                                     #("i25703"
-                                                                       "i25704"
-                                                                       "i25705"
-                                                                       "i25706"
-                                                                       "i25707"
-                                                                       "i25708"
-                                                                       
"i25709"))
-                                                                   #(ribcage
-                                                                     
(lambda-var-list
-                                                                       gen-var
-                                                                       strip
-                                                                       
expand-lambda-case
-                                                                       
lambda*-formals
-                                                                       
expand-simple-lambda
-                                                                       
lambda-formals
-                                                                       
ellipsis?
-                                                                       
expand-void
-                                                                       
eval-local-transformer
-                                                                       
expand-local-syntax
-                                                                       
expand-body
-                                                                       
expand-macro
-                                                                       
expand-call
-                                                                       
expand-expr
-                                                                       expand
-                                                                       
syntax-type
-                                                                       
parse-when-list
-                                                                       
expand-install-global
-                                                                       
expand-top-sequence
-                                                                       
expand-sequence
-                                                                       
source-wrap
-                                                                       wrap
-                                                                       
bound-id-member?
-                                                                       
distinct-bound-ids?
-                                                                       
valid-bound-ids?
-                                                                       
bound-id=?
-                                                                       
free-id=?
-                                                                       
resolve-identifier
-                                                                       
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
-                                                                       
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))
-                                                                     ("i24298"
-                                                                      "i24296"
-                                                                      "i24294"
-                                                                      "i24292"
-                                                                      "i24290"
-                                                                      "i24288"
-                                                                      "i24286"
-                                                                      "i24284"
-                                                                      "i24282"
-                                                                      "i24280"
-                                                                      "i24278"
-                                                                      "i24276"
-                                                                      "i24274"
-                                                                      "i24272"
-                                                                      "i24270"
-                                                                      "i24268"
-                                                                      "i24266"
-                                                                      "i24264"
-                                                                      "i24262"
-                                                                      "i24260"
-                                                                      "i24258"
-                                                                      "i24256"
-                                                                      "i24254"
-                                                                      "i24252"
-                                                                      "i24250"
-                                                                      "i24248"
-                                                                      "i24246"
-                                                                      "i24244"
-                                                                      "i24242"
-                                                                      "i24240"
-                                                                      "i24238"
-                                                                      "i24236"
-                                                                      "i24234"
-                                                                      "i24232"
-                                                                      "i24230"
-                                                                      "i24228"
-                                                                      "i24227"
-                                                                      "i24225"
-                                                                      "i24222"
-                                                                      "i24221"
-                                                                      "i24220"
-                                                                      "i24218"
-                                                                      "i24217"
-                                                                      "i24215"
-                                                                      "i24213"
-                                                                      "i24211"
-                                                                      "i24209"
-                                                                      "i24207"
-                                                                      "i24205"
-                                                                      "i24203"
-                                                                      "i24201"
-                                                                      "i24198"
-                                                                      "i24196"
-                                                                      "i24195"
-                                                                      "i24193"
-                                                                      "i24191"
-                                                                      "i24189"
-                                                                      "i24187"
-                                                                      "i24186"
-                                                                      "i24185"
-                                                                      "i24184"
-                                                                      "i24182"
-                                                                      "i24181"
-                                                                      "i24178"
-                                                                      "i24176"
-                                                                      "i24174"
-                                                                      "i24172"
-                                                                      "i24170"
-                                                                      "i24168"
-                                                                      "i24167"
-                                                                      "i24166"
-                                                                      "i24164"
-                                                                      "i24162"
-                                                                      "i24161"
-                                                                      "i24158"
-                                                                      "i24157"
-                                                                      "i24155"
-                                                                      "i24153"
-                                                                      "i24151"
-                                                                      "i24149"
-                                                                      "i24147"
-                                                                      "i24145"
-                                                                      "i24143"
-                                                                      "i24141"
-                                                                      "i24139"
-                                                                      "i24136"
-                                                                      "i24134"
-                                                                      "i24132"
-                                                                      "i24130"
-                                                                      "i24128"
-                                                                      "i24126"
-                                                                      "i24124"
-                                                                      "i24122"
-                                                                      "i24120"
-                                                                      "i24118"
-                                                                      "i24116"
-                                                                      "i24114"
-                                                                      "i24112"
-                                                                      "i24110"
-                                                                      "i24108"
-                                                                      "i24106"
-                                                                      "i24104"
-                                                                      "i24102"
-                                                                      "i24100"
-                                                                      "i24098"
-                                                                      "i24096"
-                                                                      "i24094"
-                                                                      "i24092"
-                                                                      "i24090"
-                                                                      "i24089"
-                                                                      "i24086"
-                                                                      "i24084"
-                                                                      "i24083"
-                                                                      "i24082"
-                                                                      "i24081"
-                                                                      "i24080"
-                                                                      "i24078"
-                                                                      "i24076"
-                                                                      "i24074"
-                                                                      "i24071"
-                                                                      "i24069"
-                                                                      "i24067"
-                                                                      "i24065"
-                                                                      "i24063"
-                                                                      "i24061"
-                                                                      "i24059"
-                                                                      "i24057"
-                                                                      "i24055"
-                                                                      "i24053"
-                                                                      "i24051"
-                                                                      "i24049"
-                                                                      "i24047"
-                                                                      "i24045"
-                                                                      "i24043"
-                                                                      "i24041"
-                                                                      "i24039"
-                                                                      "i24037"
-                                                                      
"i24035"))
-                                                                   #(ribcage
-                                                                     
(define-structure
-                                                                       
define-expansion-accessors
-                                                                       
define-expansion-constructors)
-                                                                     ((top)
-                                                                      (top)
-                                                                      (top))
-                                                                     ("i23873"
-                                                                      "i23872"
-                                                                      
"i23871"))
-                                                                   #(ribcage
-                                                                     ()
-                                                                     ()
-                                                                     ()))
-                                                                  (hygiene
-                                                                    guile))
-                                                               (let ((#{x 
48602}#
-                                                                       (cons 
#{args 48494}#
-                                                                             
(cons #{e1 48495}#
-                                                                               
    #{e2 48496}#))))
-                                                                 (if (if 
(null? (car #{w 47922}#))
-                                                                       (null? 
(cdr #{w 47922}#))
-                                                                       #f)
-                                                                   #{x 48602}#
-                                                                   (if (if 
(vector?
-                                                                             
#{x 48602}#)
-                                                                         (if 
(= (vector-length
-                                                                               
   #{x 48602}#)
-                                                                               
 4)
-                                                                           
(eq? (vector-ref
-                                                                               
   #{x 48602}#
-                                                                               
   0)
-                                                                               
 'syntax-object)
-                                                                           #f)
+                                                                               
  m1-25703
+                                                                               
  m2-25729)))
+                                                                           
(let ((m2-25737
+                                                                               
    (cdr w2-25702)))
+                                                                             
(if (null? m2-25737)
+                                                                               
s1-25704
+                                                                               
(append
+                                                                               
  s1-25704
+                                                                               
  m2-25737))))))))
+                                                             (module-25693
+                                                               (vector-ref
+                                                                 name-25658
+                                                                 3)))
+                                                         (vector
+                                                           'syntax-object
+                                                           expression-25691
+                                                           wrap-25692
+                                                           module-25693))
+                                                       (if (null? name-25658)
+                                                         name-25658
+                                                         (vector
+                                                           'syntax-object
+                                                           name-25658
+                                                           w-25086
+                                                           mod-25089))))
+                                                   (if (if (null? (car 
w-25086))
+                                                         (null? (cdr w-25086))
+                                                         #f)
+                                                     e-25084
+                                                     (if (if (vector? e-25084)
+                                                           (if (= 
(vector-length
+                                                                    e-25084)
+                                                                  4)
+                                                             (eq? (vector-ref
+                                                                    e-25084
+                                                                    0)
+                                                                  
'syntax-object)
+                                                             #f)
+                                                           #f)
+                                                       (let ((expression-25789
+                                                               (vector-ref
+                                                                 e-25084
+                                                                 1))
+                                                             (wrap-25790
+                                                               (let ((w2-25800
+                                                                       
(vector-ref
+                                                                         
e-25084
+                                                                         2)))
+                                                                 (let 
((m1-25801
+                                                                         (car 
w-25086))
+                                                                       
(s1-25802
+                                                                         (cdr 
w-25086)))
+                                                                   (if (null? 
m1-25801)
+                                                                     (if 
(null? s1-25802)
+                                                                       w2-25800
+                                                                       (cons 
(car w2-25800)
+                                                                             
(let ((m2-25819
+                                                                               
      (cdr w2-25800)))
+                                                                               
(if (null? m2-25819)
+                                                                               
  s1-25802
+                                                                               
  (append
+                                                                               
    s1-25802
+                                                                               
    m2-25819)))))
+                                                                     (cons 
(let ((m2-25827
+                                                                               
    (car w2-25800)))
+                                                                             
(if (null? m2-25827)
+                                                                               
m1-25801
+                                                                               
(append
+                                                                               
  m1-25801
+                                                                               
  m2-25827)))
+                                                                           
(let ((m2-25835
+                                                                               
    (cdr w2-25800)))
+                                                                             
(if (null? m2-25835)
+                                                                               
s1-25802
+                                                                               
(append
+                                                                               
  s1-25802
+                                                                               
  m2-25835))))))))
+                                                             (module-25791
+                                                               (vector-ref
+                                                                 e-25084
+                                                                 3)))
+                                                         (vector
+                                                           'syntax-object
+                                                           expression-25789
+                                                           wrap-25790
+                                                           module-25791))
+                                                       (if (null? e-25084)
+                                                         e-25084
+                                                         (vector
+                                                           'syntax-object
+                                                           e-25084
+                                                           w-25086
+                                                           mod-25089))))
+                                                   (let ((e-25861
+                                                           (cons 
'#(syntax-object
+                                                                    lambda
+                                                                    ((top)
+                                                                     #(ribcage
+                                                                       #(name
+                                                                         args
+                                                                         e1
+                                                                         e2)
+                                                                       #((top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top))
+                                                                       
#("l-*-2021"
+                                                                         
"l-*-2022"
+                                                                         
"l-*-2023"
+                                                                         
"l-*-2024"))
+                                                                     #(ribcage
+                                                                       ()
+                                                                       ()
+                                                                       ())
+                                                                     #(ribcage
+                                                                       ()
+                                                                       ()
+                                                                       ())
+                                                                     #(ribcage
+                                                                       #(ftype
+                                                                         fval
+                                                                         fform
+                                                                         fe
+                                                                         fw
+                                                                         fs
+                                                                         fmod)
+                                                                       #((top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top))
+                                                                       
#("l-*-1973"
+                                                                         
"l-*-1974"
+                                                                         
"l-*-1975"
+                                                                         
"l-*-1976"
+                                                                         
"l-*-1977"
+                                                                         
"l-*-1978"
+                                                                         
"l-*-1979"))
+                                                                     #(ribcage
+                                                                       ()
+                                                                       ()
+                                                                       ())
+                                                                     #(ribcage
+                                                                       #(first)
+                                                                       #((top))
+                                                                       
#("l-*-1964"))
+                                                                     #(ribcage
+                                                                       ()
+                                                                       ()
+                                                                       ())
+                                                                     #(ribcage
+                                                                       ()
+                                                                       ()
+                                                                       ())
+                                                                     #(ribcage
+                                                                       ()
+                                                                       ()
+                                                                       ())
+                                                                     #(ribcage
+                                                                       #(e
+                                                                         r
+                                                                         w
+                                                                         s
+                                                                         rib
+                                                                         mod
+                                                                         
for-car?)
+                                                                       #((top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top)
+                                                                         (top))
+                                                                       
#("l-*-1943"
+                                                                         
"l-*-1944"
+                                                                         
"l-*-1945"
+                                                                         
"l-*-1946"
+                                                                         
"l-*-1947"
+                                                                         
"l-*-1948"
+                                                                         
"l-*-1949"))
+                                                                     #(ribcage
+                                                                       
(lambda-var-list
+                                                                         
gen-var
+                                                                         strip
+                                                                         
expand-lambda-case
+                                                                         
lambda*-formals
+                                                                         
expand-simple-lambda
+                                                                         
lambda-formals
+                                                                         
ellipsis?
+                                                                         
expand-void
+                                                                         
eval-local-transformer
+                                                                         
expand-local-syntax
+                                                                         
expand-body
+                                                                         
expand-macro
+                                                                         
expand-call
+                                                                         
expand-expr
+                                                                         expand
+                                                                         
syntax-type
+                                                                         
parse-when-list
+                                                                         
expand-install-global
+                                                                         
expand-top-sequence
+                                                                         
expand-sequence
+                                                                         
source-wrap
+                                                                         wrap
+                                                                         
bound-id-member?
+                                                                         
distinct-bound-ids?
+                                                                         
valid-bound-ids?
+                                                                         
bound-id=?
+                                                                         
free-id=?
+                                                                         
with-transformer-environment
+                                                                         
transformer-environment
+                                                                         
resolve-identifier
+                                                                         
locally-bound-identifiers
+                                                                         
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
+                                                                         
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
+                                                                         
session-id
+                                                                         
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)
+                                                                        (top)
+                                                                        (top)
+                                                                        (top))
+                                                                       
("l-*-478"
+                                                                        
"l-*-476"
+                                                                        
"l-*-474"
+                                                                        
"l-*-472"
+                                                                        
"l-*-470"
+                                                                        
"l-*-468"
+                                                                        
"l-*-466"
+                                                                        
"l-*-464"
+                                                                        
"l-*-462"
+                                                                        
"l-*-460"
+                                                                        
"l-*-458"
+                                                                        
"l-*-456"
+                                                                        
"l-*-454"
+                                                                        
"l-*-452"
+                                                                        
"l-*-450"
+                                                                        
"l-*-448"
+                                                                        
"l-*-446"
+                                                                        
"l-*-444"
+                                                                        
"l-*-442"
+                                                                        
"l-*-440"
+                                                                        
"l-*-438"
+                                                                        
"l-*-436"
+                                                                        
"l-*-434"
+                                                                        
"l-*-432"
+                                                                        
"l-*-430"
+                                                                        
"l-*-428"
+                                                                        
"l-*-426"
+                                                                        
"l-*-424"
+                                                                        
"l-*-422"
+                                                                        
"l-*-420"
+                                                                        
"l-*-418"
+                                                                        
"l-*-416"
+                                                                        
"l-*-414"
+                                                                        
"l-*-412"
+                                                                        
"l-*-410"
+                                                                        
"l-*-408"
+                                                                        
"l-*-406"
+                                                                        
"l-*-404"
+                                                                        
"l-*-402"
+                                                                        
"l-*-401"
+                                                                        
"l-*-399"
+                                                                        
"l-*-396"
+                                                                        
"l-*-395"
+                                                                        
"l-*-394"
+                                                                        
"l-*-392"
+                                                                        
"l-*-391"
+                                                                        
"l-*-389"
+                                                                        
"l-*-387"
+                                                                        
"l-*-385"
+                                                                        
"l-*-383"
+                                                                        
"l-*-381"
+                                                                        
"l-*-379"
+                                                                        
"l-*-377"
+                                                                        
"l-*-375"
+                                                                        
"l-*-372"
+                                                                        
"l-*-370"
+                                                                        
"l-*-369"
+                                                                        
"l-*-367"
+                                                                        
"l-*-365"
+                                                                        
"l-*-363"
+                                                                        
"l-*-361"
+                                                                        
"l-*-360"
+                                                                        
"l-*-359"
+                                                                        
"l-*-358"
+                                                                        
"l-*-356"
+                                                                        
"l-*-355"
+                                                                        
"l-*-352"
+                                                                        
"l-*-350"
+                                                                        
"l-*-348"
+                                                                        
"l-*-346"
+                                                                        
"l-*-344"
+                                                                        
"l-*-342"
+                                                                        
"l-*-341"
+                                                                        
"l-*-340"
+                                                                        
"l-*-338"
+                                                                        
"l-*-336"
+                                                                        
"l-*-335"
+                                                                        
"l-*-332"
+                                                                        
"l-*-331"
+                                                                        
"l-*-329"
+                                                                        
"l-*-327"
+                                                                        
"l-*-325"
+                                                                        
"l-*-323"
+                                                                        
"l-*-321"
+                                                                        
"l-*-319"
+                                                                        
"l-*-317"
+                                                                        
"l-*-315"
+                                                                        
"l-*-313"
+                                                                        
"l-*-310"
+                                                                        
"l-*-308"
+                                                                        
"l-*-306"
+                                                                        
"l-*-304"
+                                                                        
"l-*-302"
+                                                                        
"l-*-300"
+                                                                        
"l-*-298"
+                                                                        
"l-*-296"
+                                                                        
"l-*-294"
+                                                                        
"l-*-292"
+                                                                        
"l-*-290"
+                                                                        
"l-*-288"
+                                                                        
"l-*-286"
+                                                                        
"l-*-284"
+                                                                        
"l-*-282"
+                                                                        
"l-*-280"
+                                                                        
"l-*-278"
+                                                                        
"l-*-276"
+                                                                        
"l-*-274"
+                                                                        
"l-*-272"
+                                                                        
"l-*-270"
+                                                                        
"l-*-268"
+                                                                        
"l-*-266"
+                                                                        
"l-*-264"
+                                                                        
"l-*-262"
+                                                                        
"l-*-260"
+                                                                        
"l-*-258"
+                                                                        
"l-*-257"
+                                                                        
"l-*-256"
+                                                                        
"l-*-255"
+                                                                        
"l-*-254"
+                                                                        
"l-*-252"
+                                                                        
"l-*-250"
+                                                                        
"l-*-248"
+                                                                        
"l-*-245"
+                                                                        
"l-*-243"
+                                                                        
"l-*-241"
+                                                                        
"l-*-239"
+                                                                        
"l-*-237"
+                                                                        
"l-*-235"
+                                                                        
"l-*-233"
+                                                                        
"l-*-231"
+                                                                        
"l-*-229"
+                                                                        
"l-*-227"
+                                                                        
"l-*-225"
+                                                                        
"l-*-223"
+                                                                        
"l-*-221"
+                                                                        
"l-*-219"
+                                                                        
"l-*-217"
+                                                                        
"l-*-215"
+                                                                        
"l-*-213"
+                                                                        
"l-*-211"
+                                                                        
"l-*-209"))
+                                                                     #(ribcage
+                                                                       
(define-structure
+                                                                         
define-expansion-accessors
+                                                                         
define-expansion-constructors)
+                                                                       ((top)
+                                                                        (top)
+                                                                        (top))
+                                                                       
("l-*-47"
+                                                                        
"l-*-46"
+                                                                        
"l-*-45"))
+                                                                     #(ribcage
+                                                                       ()
+                                                                       ()
+                                                                       ()))
+                                                                    (hygiene
+                                                                      guile))
+                                                                 (let ((x-25865
+                                                                         (cons 
args-25659
+                                                                               
(cons e1-25660
+                                                                               
      e2-25661))))
+                                                                   (if (if 
(null? (car w-25086))
+                                                                         
(null? (cdr w-25086))
                                                                          #f)
-                                                                     (let 
((#{expression 48620}#
-                                                                             
(vector-ref
-                                                                               
#{x 48602}#
-                                                                               
1))
-                                                                           
(#{wrap 48621}#
-                                                                             
(let ((#{w2 48629}#
-                                                                               
      (vector-ref
-                                                                               
        #{x 48602}#
-                                                                               
        2)))
-                                                                               
(let ((#{m1 48630}#
-                                                                               
        (car #{w 47922}#))
-                                                                               
      (#{s1 48631}#
-                                                                               
        (cdr #{w 47922}#)))
-                                                                               
  (if (null? #{m1 48630}#)
-                                                                               
    (if (null? #{s1 48631}#)
-                                                                               
      #{w2 48629}#
-                                                                               
      (cons (car #{w2 48629}#)
-                                                                               
            (let ((#{m2 48646}#
-                                                                               
                    (cdr #{w2 48629}#)))
-                                                                               
              (if (null? #{m2 48646}#)
-                                                                               
                #{s1 48631}#
+                                                                     x-25865
+                                                                     (if (if 
(vector?
+                                                                               
x-25865)
+                                                                           (if 
(= (vector-length
+                                                                               
     x-25865)
+                                                                               
   4)
+                                                                             
(eq? (vector-ref
+                                                                               
     x-25865
+                                                                               
     0)
+                                                                               
   'syntax-object)
+                                                                             
#f)
+                                                                           #f)
+                                                                       (let 
((expression-25883
+                                                                               
(vector-ref
+                                                                               
  x-25865
+                                                                               
  1))
+                                                                             
(wrap-25884
+                                                                               
(let ((w2-25892
+                                                                               
        (vector-ref
+                                                                               
          x-25865
+                                                                               
          2)))
+                                                                               
  (let ((m1-25893
+                                                                               
          (car w-25086))
+                                                                               
        (s1-25894
+                                                                               
          (cdr w-25086)))
+                                                                               
    (if (null? m1-25893)
+                                                                               
      (if (null? s1-25894)
+                                                                               
        w2-25892
+                                                                               
        (cons (car w2-25892)
+                                                                               
              (let ((m2-25909
+                                                                               
                      (cdr w2-25892)))
+                                                                               
                (if (null? m2-25909)
+                                                                               
                  s1-25894
+                                                                               
                  (append
+                                                                               
                    s1-25894
+                                                                               
                    m2-25909)))))
+                                                                               
      (cons (let ((m2-25917
+                                                                               
                    (car w2-25892)))
+                                                                               
              (if (null? m2-25917)
+                                                                               
                m1-25893
                                                                                
                (append
-                                                                               
                  #{s1 48631}#
-                                                                               
                  #{m2 48646}#)))))
-                                                                               
    (cons (let ((#{m2 48654}#
-                                                                               
                  (car #{w2 48629}#)))
-                                                                               
            (if (null? #{m2 48654}#)
-                                                                               
              #{m1 48630}#
-                                                                               
              (append
-                                                                               
                #{m1 48630}#
-                                                                               
                #{m2 48654}#)))
-                                                                               
          (let ((#{m2 48662}#
-                                                                               
                  (cdr #{w2 48629}#)))
-                                                                               
            (if (null? #{m2 48662}#)
-                                                                               
              #{s1 48631}#
-                                                                               
              (append
-                                                                               
                #{s1 48631}#
-                                                                               
                #{m2 48662}#))))))))
-                                                                           
(#{module 48622}#
-                                                                             
(vector-ref
-                                                                               
#{x 48602}#
-                                                                               
3)))
-                                                                       (vector
-                                                                         
'syntax-object
-                                                                         
#{expression 48620}#
-                                                                         
#{wrap 48621}#
-                                                                         
#{module 48622}#))
-                                                                     (if 
(null? #{x 48602}#)
-                                                                       #{x 
48602}#
-                                                                       (vector
-                                                                         
'syntax-object
-                                                                         #{x 
48602}#
-                                                                         #{w 
47922}#
-                                                                         #{mod 
47925}#))))))))
-                                                   (begin
-                                                     (if (if (pair? #{e 
48598}#)
-                                                           #{s 47923}#
-                                                           #f)
-                                                       (set-source-properties!
-                                                         #{e 48598}#
-                                                         #{s 47923}#))
-                                                     #{e 48598}#))
-                                                 '(())
-                                                 #{s 47923}#
-                                                 #{mod 47925}#))
-                                             #{tmp 48023}#)
-                                           (let ((#{tmp 48681}#
-                                                   ($sc-dispatch
-                                                     #{e 47920}#
-                                                     '(_ any))))
-                                             (if (if #{tmp 48681}#
-                                                   (@apply
-                                                     (lambda (#{name 48685}#)
-                                                       (if (symbol?
-                                                             #{name 48685}#)
-                                                         #t
+                                                                               
                  m1-25893
+                                                                               
                  m2-25917)))
+                                                                               
            (let ((m2-25925
+                                                                               
                    (cdr w2-25892)))
+                                                                               
              (if (null? m2-25925)
+                                                                               
                s1-25894
+                                                                               
                (append
+                                                                               
                  s1-25894
+                                                                               
                  m2-25925))))))))
+                                                                             
(module-25885
+                                                                               
(vector-ref
+                                                                               
  x-25865
+                                                                               
  3)))
+                                                                         
(vector
+                                                                           
'syntax-object
+                                                                           
expression-25883
+                                                                           
wrap-25884
+                                                                           
module-25885))
+                                                                       (if 
(null? x-25865)
+                                                                         
x-25865
+                                                                         
(vector
+                                                                           
'syntax-object
+                                                                           
x-25865
+                                                                           
w-25086
+                                                                           
mod-25089))))))))
+                                                     (begin
+                                                       (if (if (pair? e-25861)
+                                                             s-25087
+                                                             #f)
+                                                         
(set-source-properties!
+                                                           e-25861
+                                                           s-25087))
+                                                       e-25861))
+                                                   '(())
+                                                   s-25087
+                                                   mod-25089))
+                                               tmp-25188)
+                                             (let ((tmp-25944
+                                                     ($sc-dispatch
+                                                       e-25084
+                                                       '(_ any))))
+                                               (if (if tmp-25944
+                                                     (@apply
+                                                       (lambda (name-25948)
+                                                         (if (symbol?
+                                                               name-25948)
+                                                           #t
+                                                           (if (if (vector?
+                                                                     
name-25948)
+                                                                 (if (= 
(vector-length
+                                                                          
name-25948)
+                                                                        4)
+                                                                   (eq? 
(vector-ref
+                                                                          
name-25948
+                                                                          0)
+                                                                        
'syntax-object)
+                                                                   #f)
+                                                                 #f)
+                                                             (symbol?
+                                                               (vector-ref
+                                                                 name-25948
+                                                                 1))
+                                                             #f)))
+                                                       tmp-25944)
+                                                     #f)
+                                                 (@apply
+                                                   (lambda (name-25975)
+                                                     (values
+                                                       'define-form
+                                                       (if (if (null? (car 
w-25086))
+                                                             (null? (cdr 
w-25086))
+                                                             #f)
+                                                         name-25975
                                                          (if (if (vector?
-                                                                   #{name 
48685}#)
+                                                                   name-25975)
                                                                (if (= 
(vector-length
-                                                                        #{name 
48685}#)
+                                                                        
name-25975)
                                                                       4)
                                                                  (eq? 
(vector-ref
-                                                                        #{name 
48685}#
+                                                                        
name-25975
                                                                         0)
                                                                       
'syntax-object)
                                                                  #f)
                                                                #f)
-                                                           (symbol?
-                                                             (vector-ref
-                                                               #{name 48685}#
-                                                               1))
-                                                           #f)))
-                                                     #{tmp 48681}#)
-                                                   #f)
-                                               (@apply
-                                                 (lambda (#{name 48712}#)
-                                                   (values
-                                                     'define-form
-                                                     (if (if (null? (car #{w 
47922}#))
-                                                           (null? (cdr #{w 
47922}#))
-                                                           #f)
-                                                       #{name 48712}#
-                                                       (if (if (vector?
-                                                                 #{name 
48712}#)
-                                                             (if (= 
(vector-length
-                                                                      #{name 
48712}#)
-                                                                    4)
-                                                               (eq? (vector-ref
-                                                                      #{name 
48712}#
-                                                                      0)
-                                                                    
'syntax-object)
-                                                               #f)
-                                                             #f)
-                                                         (let ((#{expression 
48742}#
-                                                                 (vector-ref
-                                                                   #{name 
48712}#
-                                                                   1))
-                                                               (#{wrap 48743}#
-                                                                 (let ((#{w2 
48753}#
-                                                                         
(vector-ref
-                                                                           
#{name 48712}#
-                                                                           2)))
-                                                                   (let ((#{m1 
48754}#
-                                                                           
(car #{w 47922}#))
-                                                                         (#{s1 
48755}#
-                                                                           
(cdr #{w 47922}#)))
-                                                                     (if 
(null? #{m1 48754}#)
-                                                                       (if 
(null? #{s1 48755}#)
-                                                                         #{w2 
48753}#
-                                                                         (cons 
(car #{w2 48753}#)
-                                                                               
(let ((#{m2 48772}#
-                                                                               
        (cdr #{w2 48753}#)))
-                                                                               
  (if (null? #{m2 48772}#)
-                                                                               
    #{s1 48755}#
+                                                           (let 
((expression-26005
+                                                                   (vector-ref
+                                                                     name-25975
+                                                                     1))
+                                                                 (wrap-26006
+                                                                   (let 
((w2-26016
+                                                                           
(vector-ref
+                                                                             
name-25975
+                                                                             
2)))
+                                                                     (let 
((m1-26017
+                                                                             
(car w-25086))
+                                                                           
(s1-26018
+                                                                             
(cdr w-25086)))
+                                                                       (if 
(null? m1-26017)
+                                                                         (if 
(null? s1-26018)
+                                                                           
w2-26016
+                                                                           
(cons (car w2-26016)
+                                                                               
  (let ((m2-26035
+                                                                               
          (cdr w2-26016)))
+                                                                               
    (if (null? m2-26035)
+                                                                               
      s1-26018
+                                                                               
      (append
+                                                                               
        s1-26018
+                                                                               
        m2-26035)))))
+                                                                         (cons 
(let ((m2-26043
+                                                                               
        (car w2-26016)))
+                                                                               
  (if (null? m2-26043)
+                                                                               
    m1-26017
                                                                                
    (append
-                                                                               
      #{s1 48755}#
-                                                                               
      #{m2 48772}#)))))
-                                                                       (cons 
(let ((#{m2 48780}#
-                                                                               
      (car #{w2 48753}#)))
-                                                                               
(if (null? #{m2 48780}#)
-                                                                               
  #{m1 48754}#
-                                                                               
  (append
-                                                                               
    #{m1 48754}#
-                                                                               
    #{m2 48780}#)))
-                                                                             
(let ((#{m2 48788}#
-                                                                               
      (cdr #{w2 48753}#)))
-                                                                               
(if (null? #{m2 48788}#)
-                                                                               
  #{s1 48755}#
-                                                                               
  (append
-                                                                               
    #{s1 48755}#
-                                                                               
    #{m2 48788}#))))))))
-                                                               (#{module 
48744}#
-                                                                 (vector-ref
-                                                                   #{name 
48712}#
-                                                                   3)))
-                                                           (vector
-                                                             'syntax-object
-                                                             #{expression 
48742}#
-                                                             #{wrap 48743}#
-                                                             #{module 48744}#))
-                                                         (if (null? #{name 
48712}#)
-                                                           #{name 48712}#
-                                                           (vector
-                                                             'syntax-object
-                                                             #{name 48712}#
-                                                             #{w 47922}#
-                                                             #{mod 47925}#))))
-                                                     '(#(syntax-object
-                                                         if
-                                                         ((top)
-                                                          #(ribcage
-                                                            #(name)
-                                                            #((top))
-                                                            #("i25792"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(ftype
-                                                              fval
-                                                              fe
-                                                              fw
-                                                              fs
-                                                              fmod)
-                                                            #((top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top))
-                                                            #("i25732"
-                                                              "i25733"
-                                                              "i25734"
-                                                              "i25735"
-                                                              "i25736"
-                                                              "i25737"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(first)
-                                                            #((top))
-                                                            #("i25724"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(e
-                                                              r
-                                                              w
-                                                              s
-                                                              rib
-                                                              mod
-                                                              for-car?)
-                                                            #((top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top))
-                                                            #("i25703"
-                                                              "i25704"
-                                                              "i25705"
-                                                              "i25706"
-                                                              "i25707"
-                                                              "i25708"
-                                                              "i25709"))
-                                                          #(ribcage
-                                                            (lambda-var-list
-                                                              gen-var
-                                                              strip
-                                                              
expand-lambda-case
-                                                              lambda*-formals
-                                                              
expand-simple-lambda
-                                                              lambda-formals
-                                                              ellipsis?
-                                                              expand-void
-                                                              
eval-local-transformer
-                                                              
expand-local-syntax
-                                                              expand-body
-                                                              expand-macro
-                                                              expand-call
-                                                              expand-expr
-                                                              expand
-                                                              syntax-type
-                                                              parse-when-list
-                                                              
expand-install-global
-                                                              
expand-top-sequence
-                                                              expand-sequence
-                                                              source-wrap
-                                                              wrap
-                                                              bound-id-member?
-                                                              
distinct-bound-ids?
-                                                              valid-bound-ids?
-                                                              bound-id=?
-                                                              free-id=?
-                                                              
resolve-identifier
-                                                              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
-                                                              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))
-                                                            ("i24298"
-                                                             "i24296"
-                                                             "i24294"
-                                                             "i24292"
-                                                             "i24290"
-                                                             "i24288"
-                                                             "i24286"
-                                                             "i24284"
-                                                             "i24282"
-                                                             "i24280"
-                                                             "i24278"
-                                                             "i24276"
-                                                             "i24274"
-                                                             "i24272"
-                                                             "i24270"
-                                                             "i24268"
-                                                             "i24266"
-                                                             "i24264"
-                                                             "i24262"
-                                                             "i24260"
-                                                             "i24258"
-                                                             "i24256"
-                                                             "i24254"
-                                                             "i24252"
-                                                             "i24250"
-                                                             "i24248"
-                                                             "i24246"
-                                                             "i24244"
-                                                             "i24242"
-                                                             "i24240"
-                                                             "i24238"
-                                                             "i24236"
-                                                             "i24234"
-                                                             "i24232"
-                                                             "i24230"
-                                                             "i24228"
-                                                             "i24227"
-                                                             "i24225"
-                                                             "i24222"
-                                                             "i24221"
-                                                             "i24220"
-                                                             "i24218"
-                                                             "i24217"
-                                                             "i24215"
-                                                             "i24213"
-                                                             "i24211"
-                                                             "i24209"
-                                                             "i24207"
-                                                             "i24205"
-                                                             "i24203"
-                                                             "i24201"
-                                                             "i24198"
-                                                             "i24196"
-                                                             "i24195"
-                                                             "i24193"
-                                                             "i24191"
-                                                             "i24189"
-                                                             "i24187"
-                                                             "i24186"
-                                                             "i24185"
-                                                             "i24184"
-                                                             "i24182"
-                                                             "i24181"
-                                                             "i24178"
-                                                             "i24176"
-                                                             "i24174"
-                                                             "i24172"
-                                                             "i24170"
-                                                             "i24168"
-                                                             "i24167"
-                                                             "i24166"
-                                                             "i24164"
-                                                             "i24162"
-                                                             "i24161"
-                                                             "i24158"
-                                                             "i24157"
-                                                             "i24155"
-                                                             "i24153"
-                                                             "i24151"
-                                                             "i24149"
-                                                             "i24147"
-                                                             "i24145"
-                                                             "i24143"
-                                                             "i24141"
-                                                             "i24139"
-                                                             "i24136"
-                                                             "i24134"
-                                                             "i24132"
-                                                             "i24130"
-                                                             "i24128"
-                                                             "i24126"
-                                                             "i24124"
-                                                             "i24122"
-                                                             "i24120"
-                                                             "i24118"
-                                                             "i24116"
-                                                             "i24114"
-                                                             "i24112"
-                                                             "i24110"
-                                                             "i24108"
-                                                             "i24106"
-                                                             "i24104"
-                                                             "i24102"
-                                                             "i24100"
-                                                             "i24098"
-                                                             "i24096"
-                                                             "i24094"
-                                                             "i24092"
-                                                             "i24090"
-                                                             "i24089"
-                                                             "i24086"
-                                                             "i24084"
-                                                             "i24083"
-                                                             "i24082"
-                                                             "i24081"
-                                                             "i24080"
-                                                             "i24078"
-                                                             "i24076"
-                                                             "i24074"
-                                                             "i24071"
-                                                             "i24069"
-                                                             "i24067"
-                                                             "i24065"
-                                                             "i24063"
-                                                             "i24061"
-                                                             "i24059"
-                                                             "i24057"
-                                                             "i24055"
-                                                             "i24053"
-                                                             "i24051"
-                                                             "i24049"
-                                                             "i24047"
-                                                             "i24045"
-                                                             "i24043"
-                                                             "i24041"
-                                                             "i24039"
-                                                             "i24037"
-                                                             "i24035"))
-                                                          #(ribcage
-                                                            (define-structure
-                                                              
define-expansion-accessors
-                                                              
define-expansion-constructors)
-                                                            ((top) (top) (top))
-                                                            ("i23873"
-                                                             "i23872"
-                                                             "i23871"))
-                                                          #(ribcage () () ()))
-                                                         (hygiene guile))
-                                                       #(syntax-object
-                                                         #f
-                                                         ((top)
-                                                          #(ribcage
-                                                            #(name)
-                                                            #((top))
-                                                            #("i25792"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(ftype
-                                                              fval
-                                                              fe
-                                                              fw
-                                                              fs
-                                                              fmod)
-                                                            #((top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top))
-                                                            #("i25732"
-                                                              "i25733"
-                                                              "i25734"
-                                                              "i25735"
-                                                              "i25736"
-                                                              "i25737"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(first)
-                                                            #((top))
-                                                            #("i25724"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(e
-                                                              r
-                                                              w
-                                                              s
-                                                              rib
-                                                              mod
-                                                              for-car?)
-                                                            #((top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top))
-                                                            #("i25703"
-                                                              "i25704"
-                                                              "i25705"
-                                                              "i25706"
-                                                              "i25707"
-                                                              "i25708"
-                                                              "i25709"))
-                                                          #(ribcage
-                                                            (lambda-var-list
-                                                              gen-var
-                                                              strip
-                                                              
expand-lambda-case
-                                                              lambda*-formals
-                                                              
expand-simple-lambda
-                                                              lambda-formals
-                                                              ellipsis?
-                                                              expand-void
-                                                              
eval-local-transformer
-                                                              
expand-local-syntax
-                                                              expand-body
-                                                              expand-macro
-                                                              expand-call
-                                                              expand-expr
-                                                              expand
-                                                              syntax-type
-                                                              parse-when-list
-                                                              
expand-install-global
-                                                              
expand-top-sequence
-                                                              expand-sequence
-                                                              source-wrap
-                                                              wrap
-                                                              bound-id-member?
-                                                              
distinct-bound-ids?
-                                                              valid-bound-ids?
-                                                              bound-id=?
-                                                              free-id=?
-                                                              
resolve-identifier
-                                                              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
-                                                              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))
-                                                            ("i24298"
-                                                             "i24296"
-                                                             "i24294"
-                                                             "i24292"
-                                                             "i24290"
-                                                             "i24288"
-                                                             "i24286"
-                                                             "i24284"
-                                                             "i24282"
-                                                             "i24280"
-                                                             "i24278"
-                                                             "i24276"
-                                                             "i24274"
-                                                             "i24272"
-                                                             "i24270"
-                                                             "i24268"
-                                                             "i24266"
-                                                             "i24264"
-                                                             "i24262"
-                                                             "i24260"
-                                                             "i24258"
-                                                             "i24256"
-                                                             "i24254"
-                                                             "i24252"
-                                                             "i24250"
-                                                             "i24248"
-                                                             "i24246"
-                                                             "i24244"
-                                                             "i24242"
-                                                             "i24240"
-                                                             "i24238"
-                                                             "i24236"
-                                                             "i24234"
-                                                             "i24232"
-                                                             "i24230"
-                                                             "i24228"
-                                                             "i24227"
-                                                             "i24225"
-                                                             "i24222"
-                                                             "i24221"
-                                                             "i24220"
-                                                             "i24218"
-                                                             "i24217"
-                                                             "i24215"
-                                                             "i24213"
-                                                             "i24211"
-                                                             "i24209"
-                                                             "i24207"
-                                                             "i24205"
-                                                             "i24203"
-                                                             "i24201"
-                                                             "i24198"
-                                                             "i24196"
-                                                             "i24195"
-                                                             "i24193"
-                                                             "i24191"
-                                                             "i24189"
-                                                             "i24187"
-                                                             "i24186"
-                                                             "i24185"
-                                                             "i24184"
-                                                             "i24182"
-                                                             "i24181"
-                                                             "i24178"
-                                                             "i24176"
-                                                             "i24174"
-                                                             "i24172"
-                                                             "i24170"
-                                                             "i24168"
-                                                             "i24167"
-                                                             "i24166"
-                                                             "i24164"
-                                                             "i24162"
-                                                             "i24161"
-                                                             "i24158"
-                                                             "i24157"
-                                                             "i24155"
-                                                             "i24153"
-                                                             "i24151"
-                                                             "i24149"
-                                                             "i24147"
-                                                             "i24145"
-                                                             "i24143"
-                                                             "i24141"
-                                                             "i24139"
-                                                             "i24136"
-                                                             "i24134"
-                                                             "i24132"
-                                                             "i24130"
-                                                             "i24128"
-                                                             "i24126"
-                                                             "i24124"
-                                                             "i24122"
-                                                             "i24120"
-                                                             "i24118"
-                                                             "i24116"
-                                                             "i24114"
-                                                             "i24112"
-                                                             "i24110"
-                                                             "i24108"
-                                                             "i24106"
-                                                             "i24104"
-                                                             "i24102"
-                                                             "i24100"
-                                                             "i24098"
-                                                             "i24096"
-                                                             "i24094"
-                                                             "i24092"
-                                                             "i24090"
-                                                             "i24089"
-                                                             "i24086"
-                                                             "i24084"
-                                                             "i24083"
-                                                             "i24082"
-                                                             "i24081"
-                                                             "i24080"
-                                                             "i24078"
-                                                             "i24076"
-                                                             "i24074"
-                                                             "i24071"
-                                                             "i24069"
-                                                             "i24067"
-                                                             "i24065"
-                                                             "i24063"
-                                                             "i24061"
-                                                             "i24059"
-                                                             "i24057"
-                                                             "i24055"
-                                                             "i24053"
-                                                             "i24051"
-                                                             "i24049"
-                                                             "i24047"
-                                                             "i24045"
-                                                             "i24043"
-                                                             "i24041"
-                                                             "i24039"
-                                                             "i24037"
-                                                             "i24035"))
-                                                          #(ribcage
-                                                            (define-structure
-                                                              
define-expansion-accessors
-                                                              
define-expansion-constructors)
-                                                            ((top) (top) (top))
-                                                            ("i23873"
-                                                             "i23872"
-                                                             "i23871"))
-                                                          #(ribcage () () ()))
-                                                         (hygiene guile))
-                                                       #(syntax-object
-                                                         #f
-                                                         ((top)
-                                                          #(ribcage
-                                                            #(name)
-                                                            #((top))
-                                                            #("i25792"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(ftype
-                                                              fval
-                                                              fe
-                                                              fw
-                                                              fs
-                                                              fmod)
-                                                            #((top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top))
-                                                            #("i25732"
-                                                              "i25733"
-                                                              "i25734"
-                                                              "i25735"
-                                                              "i25736"
-                                                              "i25737"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(first)
-                                                            #((top))
-                                                            #("i25724"))
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage () () ())
-                                                          #(ribcage
-                                                            #(e
-                                                              r
-                                                              w
-                                                              s
-                                                              rib
-                                                              mod
-                                                              for-car?)
-                                                            #((top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top)
-                                                              (top))
-                                                            #("i25703"
-                                                              "i25704"
-                                                              "i25705"
-                                                              "i25706"
-                                                              "i25707"
-                                                              "i25708"
-                                                              "i25709"))
-                                                          #(ribcage
-                                                            (lambda-var-list
-                                                              gen-var
-                                                              strip
-                                                              
expand-lambda-case
-                                                              lambda*-formals
-                                                              
expand-simple-lambda
-                                                              lambda-formals
-                                                              ellipsis?
-                                                              expand-void
-                                                              
eval-local-transformer
-                                                              
expand-local-syntax
-                                                              expand-body
-                                                              expand-macro
-                                                              expand-call
-                                                              expand-expr
-                                                              expand
-                                                              syntax-type
-                                                              parse-when-list
-                                                              
expand-install-global
-                                                              
expand-top-sequence
-                                                              expand-sequence
-                                                              source-wrap
-                                                              wrap
-                                                              bound-id-member?
-                                                              
distinct-bound-ids?
-                                                              valid-bound-ids?
-                                                              bound-id=?
-                                                              free-id=?
-                                                              
resolve-identifier
-                                                              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
-                                                              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))
-                                                            ("i24298"
-                                                             "i24296"
-                                                             "i24294"
-                                                             "i24292"
-                                                             "i24290"
-                                                             "i24288"
-                                                             "i24286"
-                                                             "i24284"
-                                                             "i24282"
-                                                             "i24280"
-                                                             "i24278"
-                                                             "i24276"
-                                                             "i24274"
-                                                             "i24272"
-                                                             "i24270"
-                                                             "i24268"
-                                                             "i24266"
-                                                             "i24264"
-                                                             "i24262"
-                                                             "i24260"
-                                                             "i24258"
-                                                             "i24256"
-                                                             "i24254"
-                                                             "i24252"
-                                                             "i24250"
-                                                             "i24248"
-                                                             "i24246"
-                                                             "i24244"
-                                                             "i24242"
-                                                             "i24240"
-                                                             "i24238"
-                                                             "i24236"
-                                                             "i24234"
-                                                             "i24232"
-                                                             "i24230"
-                                                             "i24228"
-                                                             "i24227"
-                                                             "i24225"
-                                                             "i24222"
-                                                             "i24221"
-                                                             "i24220"
-                                                             "i24218"
-                                                             "i24217"
-                                                             "i24215"
-                                                             "i24213"
-                                                             "i24211"
-                                                             "i24209"
-                                                             "i24207"
-                                                             "i24205"
-                                                             "i24203"
-                                                             "i24201"
-                                                             "i24198"
-                                                             "i24196"
-                                                             "i24195"
-                                                             "i24193"
-                                                             "i24191"
-                                                             "i24189"
-                                                             "i24187"
-                                                             "i24186"
-                                                             "i24185"
-                                                             "i24184"
-                                                             "i24182"
-                                                             "i24181"
-                                                             "i24178"
-                                                             "i24176"
-                                                             "i24174"
-                                                             "i24172"
-                                                             "i24170"
-                                                             "i24168"
-                                                             "i24167"
-                                                             "i24166"
-                                                             "i24164"
-                                                             "i24162"
-                                                             "i24161"
-                                                             "i24158"
-                                                             "i24157"
-                                                             "i24155"
-                                                             "i24153"
-                                                             "i24151"
-                                                             "i24149"
-                                                             "i24147"
-                                                             "i24145"
-                                                             "i24143"
-                                                             "i24141"
-                                                             "i24139"
-                                                             "i24136"
-                                                             "i24134"
-                                                             "i24132"
-                                                             "i24130"
-                                                             "i24128"
-                                                             "i24126"
-                                                             "i24124"
-                                                             "i24122"
-                                                             "i24120"
-                                                             "i24118"
-                                                             "i24116"
-                                                             "i24114"
-                                                             "i24112"
-                                                             "i24110"
-                                                             "i24108"
-                                                             "i24106"
-                                                             "i24104"
-                                                             "i24102"
-                                                             "i24100"
-                                                             "i24098"
-                                                             "i24096"
-                                                             "i24094"
-                                                             "i24092"
-                                                             "i24090"
-                                                             "i24089"
-                                                             "i24086"
-                                                             "i24084"
-                                                             "i24083"
-                                                             "i24082"
-                                                             "i24081"
-                                                             "i24080"
-                                                             "i24078"
-                                                             "i24076"
-                                                             "i24074"
-                                                             "i24071"
-                                                             "i24069"
-                                                             "i24067"
-                                                             "i24065"
-                                                             "i24063"
-                                                             "i24061"
-                                                             "i24059"
-                                                             "i24057"
-                                                             "i24055"
-                                                             "i24053"
-                                                             "i24051"
-                                                             "i24049"
-                                                             "i24047"
-                                                             "i24045"
-                                                             "i24043"
-                                                             "i24041"
-                                                             "i24039"
-                                                             "i24037"
-                                                             "i24035"))
-                                                          #(ribcage
-                                                            (define-structure
-                                                              
define-expansion-accessors
-                                                              
define-expansion-constructors)
-                                                            ((top) (top) (top))
-                                                            ("i23873"
-                                                             "i23872"
-                                                             "i23871"))
-                                                          #(ribcage () () ()))
-                                                         (hygiene guile)))
-                                                     '(())
-                                                     #{s 47923}#
-                                                     #{mod 47925}#))
-                                                 #{tmp 48681}#)
-                                               (syntax-violation
-                                                 #f
-                                                 "source expression failed to 
match any pattern"
-                                                 #{e 47920}#)))))))
-                                   (if (eqv? #{ftype 47942}# 'define-syntax)
-                                     (let ((#{tmp 48827}#
-                                             ($sc-dispatch
-                                               #{e 47920}#
-                                               '(_ any any))))
-                                       (if (if #{tmp 48827}#
-                                             (@apply
-                                               (lambda (#{name 48831}#
-                                                        #{val 48832}#)
-                                                 (if (symbol? #{name 48831}#)
-                                                   #t
-                                                   (if (if (vector?
-                                                             #{name 48831}#)
-                                                         (if (= (vector-length
-                                                                  #{name 
48831}#)
-                                                                4)
-                                                           (eq? (vector-ref
-                                                                  #{name 
48831}#
-                                                                  0)
-                                                                'syntax-object)
-                                                           #f)
-                                                         #f)
-                                                     (symbol?
-                                                       (vector-ref
-                                                         #{name 48831}#
-                                                         1))
-                                                     #f)))
-                                               #{tmp 48827}#)
-                                             #f)
-                                         (@apply
-                                           (lambda (#{name 48859}#
-                                                    #{val 48860}#)
-                                             (values
-                                               'define-syntax-form
-                                               #{name 48859}#
-                                               #{val 48860}#
-                                               #{w 47922}#
-                                               #{s 47923}#
-                                               #{mod 47925}#))
-                                           #{tmp 48827}#)
-                                         (syntax-violation
-                                           #f
-                                           "source expression failed to match 
any pattern"
-                                           #{e 47920}#)))
-                                     (if (eqv? #{ftype 47942}#
-                                               'define-syntax-parameter)
-                                       (let ((#{tmp 48871}#
-                                               ($sc-dispatch
-                                                 #{e 47920}#
-                                                 '(_ any any))))
-                                         (if (if #{tmp 48871}#
-                                               (@apply
-                                                 (lambda (#{name 48875}#
-                                                          #{val 48876}#)
-                                                   (if (symbol? #{name 48875}#)
-                                                     #t
-                                                     (if (if (vector?
-                                                               #{name 48875}#)
-                                                           (if (= 
(vector-length
-                                                                    #{name 
48875}#)
-                                                                  4)
-                                                             (eq? (vector-ref
-                                                                    #{name 
48875}#
-                                                                    0)
-                                                                  
'syntax-object)
+                                                                               
      m1-26017
+                                                                               
      m2-26043)))
+                                                                               
(let ((m2-26051
+                                                                               
        (cdr w2-26016)))
+                                                                               
  (if (null? m2-26051)
+                                                                               
    s1-26018
+                                                                               
    (append
+                                                                               
      s1-26018
+                                                                               
      m2-26051))))))))
+                                                                 (module-26007
+                                                                   (vector-ref
+                                                                     name-25975
+                                                                     3)))
+                                                             (vector
+                                                               'syntax-object
+                                                               expression-26005
+                                                               wrap-26006
+                                                               module-26007))
+                                                           (if (null? 
name-25975)
+                                                             name-25975
+                                                             (vector
+                                                               'syntax-object
+                                                               name-25975
+                                                               w-25086
+                                                               mod-25089))))
+                                                       (if (if (null? (car 
w-25086))
+                                                             (null? (cdr 
w-25086))
                                                              #f)
-                                                           #f)
-                                                       (symbol?
-                                                         (vector-ref
-                                                           #{name 48875}#
-                                                           1))
-                                                       #f)))
-                                                 #{tmp 48871}#)
-                                               #f)
-                                           (@apply
-                                             (lambda (#{name 48903}#
-                                                      #{val 48904}#)
-                                               (values
-                                                 'define-syntax-parameter-form
-                                                 #{name 48903}#
-                                                 #{val 48904}#
-                                                 #{w 47922}#
-                                                 #{s 47923}#
-                                                 #{mod 47925}#))
-                                             #{tmp 48871}#)
-                                           (syntax-violation
-                                             #f
-                                             "source expression failed to 
match any pattern"
-                                             #{e 47920}#)))
-                                       (values
-                                         'call
-                                         #f
-                                         #{e 47920}#
-                                         #{w 47922}#
-                                         #{s 47923}#
-                                         #{mod 47925}#)))))))))))))))
-           (if (if (vector? #{e 47920}#)
-                 (if (= (vector-length #{e 47920}#) 4)
-                   (eq? (vector-ref #{e 47920}# 0) 'syntax-object)
-                   #f)
-                 #f)
-             (#{syntax-type 28270}#
-               (vector-ref #{e 47920}# 1)
-               #{r 47921}#
-               (let ((#{w2 48929}# (vector-ref #{e 47920}# 2)))
-                 (let ((#{m1 48930}# (car #{w 47922}#))
-                       (#{s1 48931}# (cdr #{w 47922}#)))
-                   (if (null? #{m1 48930}#)
-                     (if (null? #{s1 48931}#)
-                       #{w2 48929}#
-                       (cons (car #{w2 48929}#)
-                             (let ((#{m2 48942}# (cdr #{w2 48929}#)))
-                               (if (null? #{m2 48942}#)
-                                 #{s1 48931}#
-                                 (append #{s1 48931}# #{m2 48942}#)))))
-                     (cons (let ((#{m2 48950}# (car #{w2 48929}#)))
-                             (if (null? #{m2 48950}#)
-                               #{m1 48930}#
-                               (append #{m1 48930}# #{m2 48950}#)))
-                           (let ((#{m2 48958}# (cdr #{w2 48929}#)))
-                             (if (null? #{m2 48958}#)
-                               #{s1 48931}#
-                               (append #{s1 48931}# #{m2 48958}#)))))))
-               (let ((#{t 48963}#
-                       (#{source-annotation 28232}# #{e 47920}#)))
-                 (if #{t 48963}# #{t 48963}# #{s 47923}#))
-               #{rib 47924}#
-               (let ((#{t 49239}# (vector-ref #{e 47920}# 3)))
-                 (if #{t 49239}# #{t 49239}# #{mod 47925}#))
-               #{for-car? 47926}#)
-             (if (self-evaluating? #{e 47920}#)
-               (values
-                 'constant
-                 #f
-                 #{e 47920}#
-                 #{w 47922}#
-                 #{s 47923}#
-                 #{mod 47925}#)
-               (values
-                 'other
-                 #f
-                 #{e 47920}#
-                 #{w 47922}#
-                 #{s 47923}#
-                 #{mod 47925}#)))))))
-   (#{expand 28271}#
-     (lambda (#{e 49248}#
-              #{r 49249}#
-              #{w 49250}#
-              #{mod 49251}#)
-       (call-with-values
-         (lambda ()
-           (#{syntax-type 28270}#
-             #{e 49248}#
-             #{r 49249}#
-             #{w 49250}#
-             (#{source-annotation 28232}# #{e 49248}#)
-             #f
-             #{mod 49251}#
-             #f))
-         (lambda (#{type 49437}#
-                  #{value 49438}#
-                  #{e 49439}#
-                  #{w 49440}#
-                  #{s 49441}#
-                  #{mod 49442}#)
-           (#{expand-expr 28272}#
-             #{type 49437}#
-             #{value 49438}#
-             #{e 49439}#
-             #{r 49249}#
-             #{w 49440}#
-             #{s 49441}#
-             #{mod 49442}#)))))
-   (#{expand-expr 28272}#
-     (lambda (#{type 49445}#
-              #{value 49446}#
-              #{e 49447}#
-              #{r 49448}#
-              #{w 49449}#
-              #{s 49450}#
-              #{mod 49451}#)
-       (if (eqv? #{type 49445}# 'lexical)
-         (make-struct/no-tail
-           (vector-ref %expanded-vtables 3)
-           #{s 49450}#
-           #{e 49447}#
-           #{value 49446}#)
-         (if (if (eqv? #{type 49445}# 'core)
-               #t
-               (eqv? #{type 49445}# 'core-form))
-           (#{value 49446}#
-             #{e 49447}#
-             #{r 49448}#
-             #{w 49449}#
-             #{s 49450}#
-             #{mod 49451}#)
-           (if (eqv? #{type 49445}# 'module-ref)
-             (call-with-values
-               (lambda ()
-                 (#{value 49446}#
-                   #{e 49447}#
-                   #{r 49448}#
-                   #{w 49449}#))
-               (lambda (#{e 49477}#
-                        #{r 49478}#
-                        #{w 49479}#
-                        #{s 49480}#
-                        #{mod 49481}#)
-                 (#{expand 28271}#
-                   #{e 49477}#
-                   #{r 49478}#
-                   #{w 49479}#
-                   #{mod 49481}#)))
-             (if (eqv? #{type 49445}# 'lexical-call)
-               (#{expand-call 28273}#
-                 (let ((#{id 49654}# (car #{e 49447}#)))
-                   (#{build-lexical-reference 28208}#
-                     'fun
-                     (#{source-annotation 28232}# #{id 49654}#)
-                     (if (if (vector? #{id 49654}#)
-                           (if (= (vector-length #{id 49654}#) 4)
-                             (eq? (vector-ref #{id 49654}# 0) 'syntax-object)
-                             #f)
-                           #f)
-                       (syntax->datum #{id 49654}#)
-                       #{id 49654}#)
-                     #{value 49446}#))
-                 #{e 49447}#
-                 #{r 49448}#
-                 #{w 49449}#
-                 #{s 49450}#
-                 #{mod 49451}#)
-               (if (eqv? #{type 49445}# 'global-call)
-                 (#{expand-call 28273}#
-                   (#{build-global-reference 28211}#
-                     (#{source-annotation 28232}# (car #{e 49447}#))
-                     (if (if (vector? #{value 49446}#)
-                           (if (= (vector-length #{value 49446}#) 4)
-                             (eq? (vector-ref #{value 49446}# 0)
-                                  'syntax-object)
-                             #f)
-                           #f)
-                       (vector-ref #{value 49446}# 1)
-                       #{value 49446}#)
-                     (if (if (vector? #{value 49446}#)
-                           (if (= (vector-length #{value 49446}#) 4)
-                             (eq? (vector-ref #{value 49446}# 0)
-                                  'syntax-object)
-                             #f)
-                           #f)
-                       (vector-ref #{value 49446}# 3)
-                       #{mod 49451}#))
-                   #{e 49447}#
-                   #{r 49448}#
-                   #{w 49449}#
-                   #{s 49450}#
-                   #{mod 49451}#)
-                 (if (eqv? #{type 49445}# 'constant)
-                   (let ((#{exp 50328}#
-                           (#{strip 28284}#
-                             (let ((#{x 50341}#
-                                     (begin
-                                       (if (if (pair? #{e 49447}#)
-                                             #{s 49450}#
-                                             #f)
-                                         (set-source-properties!
-                                           #{e 49447}#
-                                           #{s 49450}#))
-                                       #{e 49447}#)))
-                               (if (if (null? (car #{w 49449}#))
-                                     (null? (cdr #{w 49449}#))
-                                     #f)
-                                 #{x 50341}#
-                                 (if (if (vector? #{x 50341}#)
-                                       (if (= (vector-length #{x 50341}#) 4)
-                                         (eq? (vector-ref #{x 50341}# 0)
-                                              'syntax-object)
-                                         #f)
-                                       #f)
-                                   (let ((#{expression 50373}#
-                                           (vector-ref #{x 50341}# 1))
-                                         (#{wrap 50374}#
-                                           (let ((#{w2 50382}#
-                                                   (vector-ref #{x 50341}# 2)))
-                                             (let ((#{m1 50383}#
-                                                     (car #{w 49449}#))
-                                                   (#{s1 50384}#
-                                                     (cdr #{w 49449}#)))
-                                               (if (null? #{m1 50383}#)
-                                                 (if (null? #{s1 50384}#)
-                                                   #{w2 50382}#
-                                                   (cons (car #{w2 50382}#)
-                                                         (let ((#{m2 50399}#
-                                                                 (cdr #{w2 
50382}#)))
-                                                           (if (null? #{m2 
50399}#)
-                                                             #{s1 50384}#
-                                                             (append
-                                                               #{s1 50384}#
-                                                               #{m2 
50399}#)))))
-                                                 (cons (let ((#{m2 50407}#
-                                                               (car #{w2 
50382}#)))
-                                                         (if (null? #{m2 
50407}#)
-                                                           #{m1 50383}#
-                                                           (append
-                                                             #{m1 50383}#
-                                                             #{m2 50407}#)))
-                                                       (let ((#{m2 50415}#
-                                                               (cdr #{w2 
50382}#)))
-                                                         (if (null? #{m2 
50415}#)
-                                                           #{s1 50384}#
-                                                           (append
-                                                             #{s1 50384}#
-                                                             #{m2 
50415}#))))))))
-                                         (#{module 50375}#
-                                           (vector-ref #{x 50341}# 3)))
-                                     (vector
-                                       'syntax-object
-                                       #{expression 50373}#
-                                       #{wrap 50374}#
-                                       #{module 50375}#))
-                                   (if (null? #{x 50341}#)
-                                     #{x 50341}#
-                                     (vector
-                                       'syntax-object
-                                       #{x 50341}#
-                                       #{w 49449}#
-                                       #{mod 49451}#)))))
-                             '(()))))
-                     (make-struct/no-tail
-                       (vector-ref %expanded-vtables 1)
-                       #{s 49450}#
-                       #{exp 50328}#))
-                   (if (eqv? #{type 49445}# 'global)
-                     (#{analyze-variable 28210}#
-                       #{mod 49451}#
-                       #{value 49446}#
-                       (lambda (#{mod 50440}# #{var 50441}# #{public? 50442}#)
-                         (make-struct/no-tail
-                           (vector-ref %expanded-vtables 5)
-                           #{s 49450}#
-                           #{mod 50440}#
-                           #{var 50441}#
-                           #{public? 50442}#))
-                       (lambda (#{var 50450}#)
-                         (make-struct/no-tail
-                           (vector-ref %expanded-vtables 7)
-                           #{s 49450}#
-                           #{var 50450}#)))
-                     (if (eqv? #{type 49445}# 'call)
-                       (#{expand-call 28273}#
-                         (#{expand 28271}#
-                           (car #{e 49447}#)
-                           #{r 49448}#
-                           #{w 49449}#
-                           #{mod 49451}#)
-                         #{e 49447}#
-                         #{r 49448}#
-                         #{w 49449}#
-                         #{s 49450}#
-                         #{mod 49451}#)
-                       (if (eqv? #{type 49445}# 'begin-form)
-                         (let ((#{tmp 50620}#
-                                 ($sc-dispatch
-                                   #{e 49447}#
-                                   '(_ any . each-any))))
-                           (if #{tmp 50620}#
-                             (@apply
-                               (lambda (#{e1 50624}# #{e2 50625}#)
-                                 (#{expand-sequence 28266}#
-                                   (cons #{e1 50624}# #{e2 50625}#)
-                                   #{r 49448}#
-                                   #{w 49449}#
-                                   #{s 49450}#
-                                   #{mod 49451}#))
-                               #{tmp 50620}#)
-                             (let ((#{tmp 50720}#
-                                     ($sc-dispatch #{e 49447}# '(_))))
-                               (if #{tmp 50720}#
-                                 (@apply
-                                   (lambda ()
-                                     (begin
-                                       (issue-deprecation-warning
-                                         "Sequences of zero expressions are 
deprecated.  Use *unspecified*.")
-                                       (make-struct/no-tail
-                                         (vector-ref %expanded-vtables 0)
-                                         #f)))
-                                   #{tmp 50720}#)
-                                 (syntax-violation
-                                   #f
-                                   "source expression failed to match any 
pattern"
-                                   #{e 49447}#)))))
-                         (if (eqv? #{type 49445}# 'local-syntax-form)
-                           (#{expand-local-syntax 28276}#
-                             #{value 49446}#
-                             #{e 49447}#
-                             #{r 49448}#
-                             #{w 49449}#
-                             #{s 49450}#
-                             #{mod 49451}#
-                             #{expand-sequence 28266}#)
-                           (if (eqv? #{type 49445}# 'eval-when-form)
-                             (let ((#{tmp 50812}#
-                                     ($sc-dispatch
-                                       #{e 49447}#
-                                       '(_ each-any any . each-any))))
-                               (if #{tmp 50812}#
-                                 (@apply
-                                   (lambda (#{x 50816}#
-                                            #{e1 50817}#
-                                            #{e2 50818}#)
-                                     (let ((#{when-list 50819}#
-                                             (#{parse-when-list 28269}#
-                                               #{e 49447}#
-                                               #{x 50816}#)))
-                                       (if (memq 'eval #{when-list 50819}#)
-                                         (#{expand-sequence 28266}#
-                                           (cons #{e1 50817}# #{e2 50818}#)
-                                           #{r 49448}#
-                                           #{w 49449}#
-                                           #{s 49450}#
-                                           #{mod 49451}#)
-                                         (make-struct/no-tail
-                                           (vector-ref %expanded-vtables 0)
-                                           #f))))
-                                   #{tmp 50812}#)
-                                 (syntax-violation
-                                   #f
-                                   "source expression failed to match any 
pattern"
-                                   #{e 49447}#)))
-                             (if (if (eqv? #{type 49445}# 'define-form)
-                                   #t
-                                   (if (eqv? #{type 49445}#
-                                             'define-syntax-form)
-                                     #t
-                                     (eqv? #{type 49445}#
-                                           'define-syntax-parameter-form)))
-                               (syntax-violation
-                                 #f
-                                 "definition in expression context"
-                                 #{e 49447}#
-                                 (if (if (null? (car #{w 49449}#))
-                                       (null? (cdr #{w 49449}#))
-                                       #f)
-                                   #{value 49446}#
-                                   (if (if (vector? #{value 49446}#)
-                                         (if (= (vector-length #{value 49446}#)
-                                                4)
-                                           (eq? (vector-ref #{value 49446}# 0)
-                                                'syntax-object)
-                                           #f)
-                                         #f)
-                                     (let ((#{expression 51026}#
-                                             (vector-ref #{value 49446}# 1))
-                                           (#{wrap 51027}#
-                                             (let ((#{w2 51037}#
-                                                     (vector-ref
-                                                       #{value 49446}#
-                                                       2)))
-                                               (let ((#{m1 51038}#
-                                                       (car #{w 49449}#))
-                                                     (#{s1 51039}#
-                                                       (cdr #{w 49449}#)))
-                                                 (if (null? #{m1 51038}#)
-                                                   (if (null? #{s1 51039}#)
-                                                     #{w2 51037}#
-                                                     (cons (car #{w2 51037}#)
-                                                           (let ((#{m2 51056}#
-                                                                   (cdr #{w2 
51037}#)))
-                                                             (if (null? #{m2 
51056}#)
-                                                               #{s1 51039}#
-                                                               (append
-                                                                 #{s1 51039}#
-                                                                 #{m2 
51056}#)))))
-                                                   (cons (let ((#{m2 51064}#
-                                                                 (car #{w2 
51037}#)))
-                                                           (if (null? #{m2 
51064}#)
-                                                             #{m1 51038}#
-                                                             (append
-                                                               #{m1 51038}#
-                                                               #{m2 51064}#)))
-                                                         (let ((#{m2 51072}#
-                                                                 (cdr #{w2 
51037}#)))
-                                                           (if (null? #{m2 
51072}#)
-                                                             #{s1 51039}#
-                                                             (append
-                                                               #{s1 51039}#
-                                                               #{m2 
51072}#))))))))
-                                           (#{module 51028}#
-                                             (vector-ref #{value 49446}# 3)))
-                                       (vector
-                                         'syntax-object
-                                         #{expression 51026}#
-                                         #{wrap 51027}#
-                                         #{module 51028}#))
-                                     (if (null? #{value 49446}#)
-                                       #{value 49446}#
-                                       (vector
-                                         'syntax-object
-                                         #{value 49446}#
-                                         #{w 49449}#
-                                         #{mod 49451}#)))))
-                               (if (eqv? #{type 49445}# 'syntax)
-                                 (syntax-violation
-                                   #f
-                                   "reference to pattern variable outside 
syntax form"
-                                   (let ((#{x 51107}#
-                                           (begin
-                                             (if (if (pair? #{e 49447}#)
-                                                   #{s 49450}#
-                                                   #f)
-                                               (set-source-properties!
-                                                 #{e 49447}#
-                                                 #{s 49450}#))
-                                             #{e 49447}#)))
-                                     (if (if (null? (car #{w 49449}#))
-                                           (null? (cdr #{w 49449}#))
-                                           #f)
-                                       #{x 51107}#
-                                       (if (if (vector? #{x 51107}#)
-                                             (if (= (vector-length #{x 51107}#)
-                                                    4)
-                                               (eq? (vector-ref #{x 51107}# 0)
-                                                    'syntax-object)
-                                               #f)
-                                             #f)
-                                         (let ((#{expression 51139}#
-                                                 (vector-ref #{x 51107}# 1))
-                                               (#{wrap 51140}#
-                                                 (let ((#{w2 51148}#
-                                                         (vector-ref
-                                                           #{x 51107}#
-                                                           2)))
-                                                   (let ((#{m1 51149}#
-                                                           (car #{w 49449}#))
-                                                         (#{s1 51150}#
-                                                           (cdr #{w 49449}#)))
-                                                     (if (null? #{m1 51149}#)
-                                                       (if (null? #{s1 51150}#)
-                                                         #{w2 51148}#
-                                                         (cons (car #{w2 
51148}#)
-                                                               (let ((#{m2 
51165}#
-                                                                       (cdr 
#{w2 51148}#)))
-                                                                 (if (null? 
#{m2 51165}#)
-                                                                   #{s1 51150}#
-                                                                   (append
-                                                                     #{s1 
51150}#
-                                                                     #{m2 
51165}#)))))
-                                                       (cons (let ((#{m2 
51173}#
-                                                                     (car #{w2 
51148}#)))
-                                                               (if (null? #{m2 
51173}#)
-                                                                 #{m1 51149}#
-                                                                 (append
-                                                                   #{m1 51149}#
-                                                                   #{m2 
51173}#)))
-                                                             (let ((#{m2 
51181}#
-                                                                     (cdr #{w2 
51148}#)))
-                                                               (if (null? #{m2 
51181}#)
-                                                                 #{s1 51150}#
-                                                                 (append
-                                                                   #{s1 51150}#
-                                                                   #{m2 
51181}#))))))))
-                                               (#{module 51141}#
-                                                 (vector-ref #{x 51107}# 3)))
-                                           (vector
-                                             'syntax-object
-                                             #{expression 51139}#
-                                             #{wrap 51140}#
-                                             #{module 51141}#))
-                                         (if (null? #{x 51107}#)
-                                           #{x 51107}#
-                                           (vector
-                                             'syntax-object
-                                             #{x 51107}#
-                                             #{w 49449}#
-                                             #{mod 49451}#))))))
-                                 (if (eqv? #{type 49445}# 'displaced-lexical)
-                                   (syntax-violation
-                                     #f
-                                     "reference to identifier outside its 
scope"
-                                     (let ((#{x 51208}#
-                                             (begin
-                                               (if (if (pair? #{e 49447}#)
-                                                     #{s 49450}#
-                                                     #f)
-                                                 (set-source-properties!
-                                                   #{e 49447}#
-                                                   #{s 49450}#))
-                                               #{e 49447}#)))
-                                       (if (if (null? (car #{w 49449}#))
-                                             (null? (cdr #{w 49449}#))
-                                             #f)
-                                         #{x 51208}#
-                                         (if (if (vector? #{x 51208}#)
-                                               (if (= (vector-length
-                                                        #{x 51208}#)
-                                                      4)
-                                                 (eq? (vector-ref
-                                                        #{x 51208}#
-                                                        0)
-                                                      'syntax-object)
-                                                 #f)
-                                               #f)
-                                           (let ((#{expression 51240}#
-                                                   (vector-ref #{x 51208}# 1))
-                                                 (#{wrap 51241}#
-                                                   (let ((#{w2 51249}#
-                                                           (vector-ref
-                                                             #{x 51208}#
-                                                             2)))
-                                                     (let ((#{m1 51250}#
-                                                             (car #{w 49449}#))
-                                                           (#{s1 51251}#
-                                                             (cdr #{w 
49449}#)))
-                                                       (if (null? #{m1 51250}#)
-                                                         (if (null? #{s1 
51251}#)
-                                                           #{w2 51249}#
-                                                           (cons (car #{w2 
51249}#)
-                                                                 (let ((#{m2 
51266}#
-                                                                         (cdr 
#{w2 51249}#)))
-                                                                   (if (null? 
#{m2 51266}#)
-                                                                     #{s1 
51251}#
-                                                                     (append
-                                                                       #{s1 
51251}#
-                                                                       #{m2 
51266}#)))))
-                                                         (cons (let ((#{m2 
51274}#
-                                                                       (car 
#{w2 51249}#)))
-                                                                 (if (null? 
#{m2 51274}#)
-                                                                   #{m1 51250}#
-                                                                   (append
-                                                                     #{m1 
51250}#
-                                                                     #{m2 
51274}#)))
-                                                               (let ((#{m2 
51282}#
-                                                                       (cdr 
#{w2 51249}#)))
-                                                                 (if (null? 
#{m2 51282}#)
-                                                                   #{s1 51251}#
-                                                                   (append
-                                                                     #{s1 
51251}#
-                                                                     #{m2 
51282}#))))))))
-                                                 (#{module 51242}#
-                                                   (vector-ref #{x 51208}# 3)))
-                                             (vector
-                                               'syntax-object
-                                               #{expression 51240}#
-                                               #{wrap 51241}#
-                                               #{module 51242}#))
-                                           (if (null? #{x 51208}#)
-                                             #{x 51208}#
-                                             (vector
-                                               'syntax-object
-                                               #{x 51208}#
-                                               #{w 49449}#
-                                               #{mod 49451}#))))))
-                                   (syntax-violation
-                                     #f
-                                     "unexpected syntax"
-                                     (let ((#{x 51306}#
-                                             (begin
-                                               (if (if (pair? #{e 49447}#)
-                                                     #{s 49450}#
-                                                     #f)
-                                                 (set-source-properties!
-                                                   #{e 49447}#
-                                                   #{s 49450}#))
-                                               #{e 49447}#)))
-                                       (if (if (null? (car #{w 49449}#))
-                                             (null? (cdr #{w 49449}#))
-                                             #f)
-                                         #{x 51306}#
-                                         (if (if (vector? #{x 51306}#)
-                                               (if (= (vector-length
-                                                        #{x 51306}#)
-                                                      4)
-                                                 (eq? (vector-ref
-                                                        #{x 51306}#
-                                                        0)
-                                                      'syntax-object)
-                                                 #f)
-                                               #f)
-                                           (let ((#{expression 51338}#
-                                                   (vector-ref #{x 51306}# 1))
-                                                 (#{wrap 51339}#
-                                                   (let ((#{w2 51347}#
-                                                           (vector-ref
-                                                             #{x 51306}#
-                                                             2)))
-                                                     (let ((#{m1 51348}#
-                                                             (car #{w 49449}#))
-                                                           (#{s1 51349}#
-                                                             (cdr #{w 
49449}#)))
-                                                       (if (null? #{m1 51348}#)
-                                                         (if (null? #{s1 
51349}#)
-                                                           #{w2 51347}#
-                                                           (cons (car #{w2 
51347}#)
-                                                                 (let ((#{m2 
51364}#
-                                                                         (cdr 
#{w2 51347}#)))
-                                                                   (if (null? 
#{m2 51364}#)
-                                                                     #{s1 
51349}#
-                                                                     (append
-                                                                       #{s1 
51349}#
-                                                                       #{m2 
51364}#)))))
-                                                         (cons (let ((#{m2 
51372}#
-                                                                       (car 
#{w2 51347}#)))
-                                                                 (if (null? 
#{m2 51372}#)
-                                                                   #{m1 51348}#
-                                                                   (append
-                                                                     #{m1 
51348}#
-                                                                     #{m2 
51372}#)))
-                                                               (let ((#{m2 
51380}#
-                                                                       (cdr 
#{w2 51347}#)))
-                                                                 (if (null? 
#{m2 51380}#)
-                                                                   #{s1 51349}#
-                                                                   (append
-                                                                     #{s1 
51349}#
-                                                                     #{m2 
51380}#))))))))
-                                                 (#{module 51340}#
-                                                   (vector-ref #{x 51306}# 3)))
-                                             (vector
-                                               'syntax-object
-                                               #{expression 51338}#
-                                               #{wrap 51339}#
-                                               #{module 51340}#))
-                                           (if (null? #{x 51306}#)
-                                             #{x 51306}#
-                                             (vector
-                                               'syntax-object
-                                               #{x 51306}#
-                                               #{w 49449}#
-                                               #{mod 
49451}#))))))))))))))))))))))
-   (#{expand-call 28273}#
-     (lambda (#{x 51395}#
-              #{e 51396}#
-              #{r 51397}#
-              #{w 51398}#
-              #{s 51399}#
-              #{mod 51400}#)
-       (let ((#{tmp 51402}#
-               ($sc-dispatch #{e 51396}# '(any . each-any))))
-         (if #{tmp 51402}#
-           (@apply
-             (lambda (#{e0 51406}# #{e1 51407}#)
-               (#{build-call 28205}#
-                 #{s 51399}#
-                 #{x 51395}#
-                 (map (lambda (#{e 51495}#)
-                        (#{expand 28271}#
-                          #{e 51495}#
-                          #{r 51397}#
-                          #{w 51398}#
-                          #{mod 51400}#))
-                      #{e1 51407}#)))
-             #{tmp 51402}#)
-           (syntax-violation
-             #f
-             "source expression failed to match any pattern"
-             #{e 51396}#)))))
-   (#{expand-macro 28274}#
-     (lambda (#{p 51579}#
-              #{e 51580}#
-              #{r 51581}#
-              #{w 51582}#
-              #{s 51583}#
-              #{rib 51584}#
-              #{mod 51585}#)
-       (letrec*
-         ((#{rebuild-macro-output 51586}#
-            (lambda (#{x 51693}# #{m 51694}#)
-              (if (pair? #{x 51693}#)
-                (let ((#{e 51698}#
-                        (cons (#{rebuild-macro-output 51586}#
-                                (car #{x 51693}#)
-                                #{m 51694}#)
-                              (#{rebuild-macro-output 51586}#
-                                (cdr #{x 51693}#)
-                                #{m 51694}#))))
-                  (begin
-                    (if (if (pair? #{e 51698}#) #{s 51583}# #f)
-                      (set-source-properties! #{e 51698}# #{s 51583}#))
-                    #{e 51698}#))
-                (if (if (vector? #{x 51693}#)
-                      (if (= (vector-length #{x 51693}#) 4)
-                        (eq? (vector-ref #{x 51693}# 0) 'syntax-object)
-                        #f)
-                      #f)
-                  (let ((#{w 51714}# (vector-ref #{x 51693}# 2)))
-                    (let ((#{ms 51715}# (car #{w 51714}#))
-                          (#{s 51716}# (cdr #{w 51714}#)))
-                      (if (if (pair? #{ms 51715}#)
-                            (eq? (car #{ms 51715}#) #f)
-                            #f)
-                        (let ((#{expression 51724}# (vector-ref #{x 51693}# 1))
-                              (#{wrap 51725}#
-                                (cons (cdr #{ms 51715}#)
-                                      (if #{rib 51584}#
-                                        (cons #{rib 51584}# (cdr #{s 51716}#))
-                                        (cdr #{s 51716}#))))
-                              (#{module 51726}# (vector-ref #{x 51693}# 3)))
-                          (vector
-                            'syntax-object
-                            #{expression 51724}#
-                            #{wrap 51725}#
-                            #{module 51726}#))
-                        (let ((#{expression 51736}#
-                                (let ((#{e 51741}# (vector-ref #{x 51693}# 1)))
-                                  (begin
-                                    (if (if (pair? #{e 51741}#) #{s 51716}# #f)
-                                      (set-source-properties!
-                                        #{e 51741}#
-                                        #{s 51716}#))
-                                    #{e 51741}#)))
-                              (#{wrap 51737}#
-                                (cons (cons #{m 51694}# #{ms 51715}#)
-                                      (if #{rib 51584}#
-                                        (cons #{rib 51584}#
-                                              (cons 'shift #{s 51716}#))
-                                        (cons 'shift #{s 51716}#))))
-                              (#{module 51738}# (vector-ref #{x 51693}# 3)))
-                          (vector
-                            'syntax-object
-                            #{expression 51736}#
-                            #{wrap 51737}#
-                            #{module 51738}#)))))
-                  (if (vector? #{x 51693}#)
-                    (let ((#{n 51753}# (vector-length #{x 51693}#)))
-                      (let ((#{v 51754}#
-                              (let ((#{e 51820}# (make-vector #{n 51753}#)))
-                                (begin
-                                  (if (if (pair? #{e 51820}#) #{x 51693}# #f)
-                                    (set-source-properties!
-                                      #{e 51820}#
-                                      #{x 51693}#))
-                                  #{e 51820}#))))
-                        (letrec*
-                          ((#{loop 51755}#
-                             (lambda (#{i 51816}#)
-                               (if (= #{i 51816}# #{n 51753}#)
-                                 #{v 51754}#
-                                 (begin
-                                   (vector-set!
-                                     #{v 51754}#
-                                     #{i 51816}#
-                                     (#{rebuild-macro-output 51586}#
-                                       (vector-ref #{x 51693}# #{i 51816}#)
-                                       #{m 51694}#))
-                                   (#{loop 51755}# (#{1+}# #{i 51816}#)))))))
-                          (#{loop 51755}# 0))))
-                    (if (symbol? #{x 51693}#)
-                      (syntax-violation
-                        #f
-                        "encountered raw symbol in macro output"
-                        (let ((#{s 51831}# (cdr #{w 51582}#)))
-                          (let ((#{x 51835}#
-                                  (begin
-                                    (if (if (pair? #{e 51580}#) #{s 51831}# #f)
-                                      (set-source-properties!
-                                        #{e 51580}#
-                                        #{s 51831}#))
-                                    #{e 51580}#)))
-                            (if (if (null? (car #{w 51582}#))
-                                  (null? (cdr #{w 51582}#))
-                                  #f)
-                              #{x 51835}#
-                              (if (if (vector? #{x 51835}#)
-                                    (if (= (vector-length #{x 51835}#) 4)
-                                      (eq? (vector-ref #{x 51835}# 0)
-                                           'syntax-object)
-                                      #f)
-                                    #f)
-                                (let ((#{expression 51867}#
-                                        (vector-ref #{x 51835}# 1))
-                                      (#{wrap 51868}#
-                                        (let ((#{w2 51876}#
-                                                (vector-ref #{x 51835}# 2)))
-                                          (let ((#{m1 51877}#
-                                                  (car #{w 51582}#))
-                                                (#{s1 51878}#
-                                                  (cdr #{w 51582}#)))
-                                            (if (null? #{m1 51877}#)
-                                              (if (null? #{s1 51878}#)
-                                                #{w2 51876}#
-                                                (cons (car #{w2 51876}#)
-                                                      (let ((#{m2 51893}#
-                                                              (cdr #{w2 
51876}#)))
-                                                        (if (null? #{m2 
51893}#)
-                                                          #{s1 51878}#
-                                                          (append
-                                                            #{s1 51878}#
-                                                            #{m2 51893}#)))))
-                                              (cons (let ((#{m2 51901}#
-                                                            (car #{w2 
51876}#)))
-                                                      (if (null? #{m2 51901}#)
-                                                        #{m1 51877}#
-                                                        (append
-                                                          #{m1 51877}#
-                                                          #{m2 51901}#)))
-                                                    (let ((#{m2 51909}#
-                                                            (cdr #{w2 
51876}#)))
-                                                      (if (null? #{m2 51909}#)
-                                                        #{s1 51878}#
-                                                        (append
-                                                          #{s1 51878}#
-                                                          #{m2 51909}#))))))))
-                                      (#{module 51869}#
-                                        (vector-ref #{x 51835}# 3)))
-                                  (vector
-                                    'syntax-object
-                                    #{expression 51867}#
-                                    #{wrap 51868}#
-                                    #{module 51869}#))
-                                (if (null? #{x 51835}#)
-                                  #{x 51835}#
-                                  (vector
-                                    'syntax-object
-                                    #{x 51835}#
-                                    #{w 51582}#
-                                    #{mod 51585}#))))))
-                        #{x 51693}#)
-                      (begin
-                        (if (if (pair? #{x 51693}#) #{s 51583}# #f)
-                          (set-source-properties! #{x 51693}# #{s 51583}#))
-                        #{x 51693}#))))))))
-         (#{rebuild-macro-output 51586}#
-           (#{p 51579}#
-             (let ((#{w 51593}#
-                     (cons (cons #f (car #{w 51582}#))
-                           (cons 'shift (cdr #{w 51582}#)))))
-               (let ((#{x 51598}#
-                       (begin
-                         (if (if (pair? #{e 51580}#) #{s 51583}# #f)
-                           (set-source-properties! #{e 51580}# #{s 51583}#))
-                         #{e 51580}#)))
-                 (if (if (null? (car #{w 51593}#))
-                       (null? (cdr #{w 51593}#))
-                       #f)
-                   #{x 51598}#
-                   (if (if (vector? #{x 51598}#)
-                         (if (= (vector-length #{x 51598}#) 4)
-                           (eq? (vector-ref #{x 51598}# 0) 'syntax-object)
-                           #f)
-                         #f)
-                     (let ((#{expression 51636}# (vector-ref #{x 51598}# 1))
-                           (#{wrap 51637}#
-                             (let ((#{w2 51645}# (vector-ref #{x 51598}# 2)))
-                               (let ((#{m1 51646}# (car #{w 51593}#))
-                                     (#{s1 51647}# (cdr #{w 51593}#)))
-                                 (if (null? #{m1 51646}#)
-                                   (if (null? #{s1 51647}#)
-                                     #{w2 51645}#
-                                     (cons (car #{w2 51645}#)
-                                           (let ((#{m2 51662}#
-                                                   (cdr #{w2 51645}#)))
-                                             (if (null? #{m2 51662}#)
-                                               #{s1 51647}#
-                                               (append
-                                                 #{s1 51647}#
-                                                 #{m2 51662}#)))))
-                                   (cons (let ((#{m2 51670}#
-                                                 (car #{w2 51645}#)))
-                                           (if (null? #{m2 51670}#)
-                                             #{m1 51646}#
-                                             (append
-                                               #{m1 51646}#
-                                               #{m2 51670}#)))
-                                         (let ((#{m2 51678}#
-                                                 (cdr #{w2 51645}#)))
-                                           (if (null? #{m2 51678}#)
-                                             #{s1 51647}#
-                                             (append
-                                               #{s1 51647}#
-                                               #{m2 51678}#))))))))
-                           (#{module 51638}# (vector-ref #{x 51598}# 3)))
-                       (vector
-                         'syntax-object
-                         #{expression 51636}#
-                         #{wrap 51637}#
-                         #{module 51638}#))
-                     (if (null? #{x 51598}#)
-                       #{x 51598}#
-                       (vector
-                         'syntax-object
-                         #{x 51598}#
-                         #{w 51593}#
-                         #{mod 51585}#)))))))
-           (gensym "m")))))
-   (#{expand-body 28275}#
-     (lambda (#{body 51939}#
-              #{outer-form 51940}#
-              #{r 51941}#
-              #{w 51942}#
-              #{mod 51943}#)
-       (let ((#{r 51944}#
-               (cons '("placeholder" placeholder) #{r 51941}#)))
-         (let ((#{ribcage 51945}# (vector 'ribcage '() '() '())))
-           (let ((#{w 51946}#
-                   (cons (car #{w 51942}#)
-                         (cons #{ribcage 51945}# (cdr #{w 51942}#)))))
-             (letrec*
-               ((#{parse 51947}#
-                  (lambda (#{body 52055}#
-                           #{ids 52056}#
-                           #{labels 52057}#
-                           #{var-ids 52058}#
-                           #{vars 52059}#
-                           #{vals 52060}#
-                           #{bindings 52061}#)
-                    (if (null? #{body 52055}#)
-                      (syntax-violation
-                        #f
-                        "no expressions in body"
-                        #{outer-form 51940}#)
-                      (let ((#{e 52062}# (cdr (car #{body 52055}#)))
-                            (#{er 52063}# (car (car #{body 52055}#))))
-                        (call-with-values
-                          (lambda ()
-                            (#{syntax-type 28270}#
-                              #{e 52062}#
-                              #{er 52063}#
-                              '(())
-                              (#{source-annotation 28232}# #{er 52063}#)
-                              #{ribcage 51945}#
-                              #{mod 51943}#
-                              #f))
-                          (lambda (#{type 52251}#
-                                   #{value 52252}#
-                                   #{e 52253}#
-                                   #{w 52254}#
-                                   #{s 52255}#
-                                   #{mod 52256}#)
-                            (if (eqv? #{type 52251}# 'define-form)
-                              (let ((#{id 52260}#
-                                      (if (if (null? (car #{w 52254}#))
-                                            (null? (cdr #{w 52254}#))
-                                            #f)
-                                        #{value 52252}#
-                                        (if (if (vector? #{value 52252}#)
-                                              (if (= (vector-length
-                                                       #{value 52252}#)
-                                                     4)
-                                                (eq? (vector-ref
-                                                       #{value 52252}#
-                                                       0)
-                                                     'syntax-object)
-                                                #f)
-                                              #f)
-                                          (let ((#{expression 52305}#
-                                                  (vector-ref
-                                                    #{value 52252}#
-                                                    1))
-                                                (#{wrap 52306}#
-                                                  (let ((#{w2 52316}#
-                                                          (vector-ref
-                                                            #{value 52252}#
-                                                            2)))
-                                                    (let ((#{m1 52317}#
-                                                            (car #{w 52254}#))
-                                                          (#{s1 52318}#
-                                                            (cdr #{w 52254}#)))
-                                                      (if (null? #{m1 52317}#)
-                                                        (if (null? #{s1 
52318}#)
-                                                          #{w2 52316}#
-                                                          (cons (car #{w2 
52316}#)
-                                                                (let ((#{m2 
52335}#
-                                                                        (cdr 
#{w2 52316}#)))
-                                                                  (if (null? 
#{m2 52335}#)
-                                                                    #{s1 
52318}#
-                                                                    (append
-                                                                      #{s1 
52318}#
-                                                                      #{m2 
52335}#)))))
-                                                        (cons (let ((#{m2 
52343}#
-                                                                      (car 
#{w2 52316}#)))
-                                                                (if (null? 
#{m2 52343}#)
-                                                                  #{m1 52317}#
-                                                                  (append
-                                                                    #{m1 
52317}#
-                                                                    #{m2 
52343}#)))
-                                                              (let ((#{m2 
52351}#
-                                                                      (cdr 
#{w2 52316}#)))
-                                                                (if (null? 
#{m2 52351}#)
-                                                                  #{s1 52318}#
-                                                                  (append
-                                                                    #{s1 
52318}#
-                                                                    #{m2 
52351}#))))))))
-                                                (#{module 52307}#
-                                                  (vector-ref
-                                                    #{value 52252}#
-                                                    3)))
-                                            (vector
-                                              'syntax-object
-                                              #{expression 52305}#
-                                              #{wrap 52306}#
-                                              #{module 52307}#))
-                                          (if (null? #{value 52252}#)
-                                            #{value 52252}#
-                                            (vector
-                                              'syntax-object
-                                              #{value 52252}#
-                                              #{w 52254}#
-                                              #{mod 52256}#)))))
-                                    (#{label 52261}#
-                                      (symbol->string (gensym "i"))))
-                                (let ((#{var 52262}#
-                                        (let ((#{id 52412}#
-                                                (if (if (vector? #{id 52260}#)
-                                                      (if (= (vector-length
-                                                               #{id 52260}#)
-                                                             4)
-                                                        (eq? (vector-ref
-                                                               #{id 52260}#
-                                                               0)
-                                                             'syntax-object)
-                                                        #f)
-                                                      #f)
-                                                  (vector-ref #{id 52260}# 1)
-                                                  #{id 52260}#)))
-                                          (gensym
-                                            (string-append
-                                              (symbol->string #{id 52412}#)
-                                              " ")))))
-                                  (begin
-                                    (begin
-                                      (let ((#{update 52271}#
-                                              (cons (vector-ref #{id 52260}# 1)
-                                                    (vector-ref
-                                                      #{ribcage 51945}#
-                                                      1))))
-                                        (vector-set!
-                                          #{ribcage 51945}#
-                                          1
-                                          #{update 52271}#))
-                                      (let ((#{update 52383}#
-                                              (cons (car (vector-ref
-                                                           #{id 52260}#
-                                                           2))
-                                                    (vector-ref
-                                                      #{ribcage 51945}#
-                                                      2))))
-                                        (vector-set!
-                                          #{ribcage 51945}#
-                                          2
-                                          #{update 52383}#))
-                                      (let ((#{update 52398}#
-                                              (cons #{label 52261}#
-                                                    (vector-ref
-                                                      #{ribcage 51945}#
-                                                      3))))
-                                        (vector-set!
-                                          #{ribcage 51945}#
-                                          3
-                                          #{update 52398}#)))
-                                    (#{parse 51947}#
-                                      (cdr #{body 52055}#)
-                                      (cons #{id 52260}# #{ids 52056}#)
-                                      (cons #{label 52261}# #{labels 52057}#)
-                                      (cons #{id 52260}# #{var-ids 52058}#)
-                                      (cons #{var 52262}# #{vars 52059}#)
-                                      (cons (cons #{er 52063}#
-                                                  (if (if (null? (car #{w 
52254}#))
-                                                        (null? (cdr #{w 
52254}#))
-                                                        #f)
-                                                    #{e 52253}#
-                                                    (if (if (vector?
-                                                              #{e 52253}#)
-                                                          (if (= (vector-length
-                                                                   #{e 52253}#)
-                                                                 4)
-                                                            (eq? (vector-ref
-                                                                   #{e 52253}#
-                                                                   0)
-                                                                 
'syntax-object)
-                                                            #f)
-                                                          #f)
-                                                      (let ((#{expression 
52464}#
-                                                              (vector-ref
-                                                                #{e 52253}#
-                                                                1))
-                                                            (#{wrap 52465}#
-                                                              (let ((#{w2 
52475}#
-                                                                      
(vector-ref
-                                                                        #{e 
52253}#
-                                                                        2)))
-                                                                (let ((#{m1 
52476}#
-                                                                        (car 
#{w 52254}#))
-                                                                      (#{s1 
52477}#
-                                                                        (cdr 
#{w 52254}#)))
-                                                                  (if (null? 
#{m1 52476}#)
-                                                                    (if (null? 
#{s1 52477}#)
-                                                                      #{w2 
52475}#
-                                                                      (cons 
(car #{w2 52475}#)
-                                                                            
(let ((#{m2 52494}#
-                                                                               
     (cdr #{w2 52475}#)))
-                                                                              
(if (null? #{m2 52494}#)
-                                                                               
 #{s1 52477}#
-                                                                               
 (append
-                                                                               
   #{s1 52477}#
-                                                                               
   #{m2 52494}#)))))
-                                                                    (cons (let 
((#{m2 52502}#
-                                                                               
   (car #{w2 52475}#)))
-                                                                            
(if (null? #{m2 52502}#)
-                                                                              
#{m1 52476}#
-                                                                              
(append
-                                                                               
 #{m1 52476}#
-                                                                               
 #{m2 52502}#)))
-                                                                          (let 
((#{m2 52510}#
-                                                                               
   (cdr #{w2 52475}#)))
-                                                                            
(if (null? #{m2 52510}#)
-                                                                              
#{s1 52477}#
-                                                                              
(append
-                                                                               
 #{s1 52477}#
-                                                                               
 #{m2 52510}#))))))))
-                                                            (#{module 52466}#
-                                                              (vector-ref
-                                                                #{e 52253}#
-                                                                3)))
-                                                        (vector
-                                                          'syntax-object
-                                                          #{expression 52464}#
-                                                          #{wrap 52465}#
-                                                          #{module 52466}#))
-                                                      (if (null? #{e 52253}#)
-                                                        #{e 52253}#
-                                                        (vector
-                                                          'syntax-object
-                                                          #{e 52253}#
-                                                          #{w 52254}#
-                                                          #{mod 52256}#)))))
-                                            #{vals 52060}#)
-                                      (cons (cons 'lexical #{var 52262}#)
-                                            #{bindings 52061}#)))))
-                              (if (if (eqv? #{type 52251}# 'define-syntax-form)
-                                    #t
-                                    (eqv? #{type 52251}#
-                                          'define-syntax-parameter-form))
-                                (let ((#{id 52541}#
-                                        (if (if (null? (car #{w 52254}#))
-                                              (null? (cdr #{w 52254}#))
-                                              #f)
-                                          #{value 52252}#
-                                          (if (if (vector? #{value 52252}#)
-                                                (if (= (vector-length
-                                                         #{value 52252}#)
-                                                       4)
-                                                  (eq? (vector-ref
-                                                         #{value 52252}#
-                                                         0)
-                                                       'syntax-object)
-                                                  #f)
-                                                #f)
-                                            (let ((#{expression 52585}#
-                                                    (vector-ref
-                                                      #{value 52252}#
-                                                      1))
-                                                  (#{wrap 52586}#
-                                                    (let ((#{w2 52596}#
-                                                            (vector-ref
-                                                              #{value 52252}#
-                                                              2)))
-                                                      (let ((#{m1 52597}#
-                                                              (car #{w 
52254}#))
-                                                            (#{s1 52598}#
-                                                              (cdr #{w 
52254}#)))
-                                                        (if (null? #{m1 
52597}#)
-                                                          (if (null? #{s1 
52598}#)
-                                                            #{w2 52596}#
-                                                            (cons (car #{w2 
52596}#)
-                                                                  (let ((#{m2 
52615}#
-                                                                          (cdr 
#{w2 52596}#)))
-                                                                    (if (null? 
#{m2 52615}#)
-                                                                      #{s1 
52598}#
-                                                                      (append
-                                                                        #{s1 
52598}#
-                                                                        #{m2 
52615}#)))))
-                                                          (cons (let ((#{m2 
52623}#
-                                                                        (car 
#{w2 52596}#)))
-                                                                  (if (null? 
#{m2 52623}#)
-                                                                    #{m1 
52597}#
-                                                                    (append
-                                                                      #{m1 
52597}#
-                                                                      #{m2 
52623}#)))
-                                                                (let ((#{m2 
52631}#
-                                                                        (cdr 
#{w2 52596}#)))
-                                                                  (if (null? 
#{m2 52631}#)
-                                                                    #{s1 
52598}#
-                                                                    (append
-                                                                      #{s1 
52598}#
-                                                                      #{m2 
52631}#))))))))
-                                                  (#{module 52587}#
-                                                    (vector-ref
-                                                      #{value 52252}#
-                                                      3)))
-                                              (vector
-                                                'syntax-object
-                                                #{expression 52585}#
-                                                #{wrap 52586}#
-                                                #{module 52587}#))
-                                            (if (null? #{value 52252}#)
-                                              #{value 52252}#
-                                              (vector
-                                                'syntax-object
-                                                #{value 52252}#
-                                                #{w 52254}#
-                                                #{mod 52256}#)))))
-                                      (#{label 52542}#
-                                        (symbol->string (gensym "i"))))
-                                  (begin
-                                    (begin
-                                      (let ((#{update 52551}#
-                                              (cons (vector-ref #{id 52541}# 1)
-                                                    (vector-ref
-                                                      #{ribcage 51945}#
-                                                      1))))
-                                        (vector-set!
-                                          #{ribcage 51945}#
-                                          1
-                                          #{update 52551}#))
-                                      (let ((#{update 52663}#
-                                              (cons (car (vector-ref
-                                                           #{id 52541}#
-                                                           2))
-                                                    (vector-ref
-                                                      #{ribcage 51945}#
-                                                      2))))
-                                        (vector-set!
-                                          #{ribcage 51945}#
-                                          2
-                                          #{update 52663}#))
-                                      (let ((#{update 52678}#
-                                              (cons #{label 52542}#
-                                                    (vector-ref
-                                                      #{ribcage 51945}#
-                                                      3))))
-                                        (vector-set!
-                                          #{ribcage 51945}#
-                                          3
-                                          #{update 52678}#)))
-                                    (#{parse 51947}#
-                                      (cdr #{body 52055}#)
-                                      (cons #{id 52541}# #{ids 52056}#)
-                                      (cons #{label 52542}# #{labels 52057}#)
-                                      #{var-ids 52058}#
-                                      #{vars 52059}#
-                                      #{vals 52060}#
-                                      (cons (cons (if (eq? #{type 52251}#
-                                                           
'define-syntax-parameter-form)
-                                                    'syntax-parameter
-                                                    'macro)
-                                                  (cons #{er 52063}#
-                                                        (if (if (null? (car 
#{w 52254}#))
-                                                              (null? (cdr #{w 
52254}#))
-                                                              #f)
-                                                          #{e 52253}#
-                                                          (if (if (vector?
-                                                                    #{e 
52253}#)
-                                                                (if (= 
(vector-length
-                                                                         #{e 
52253}#)
-                                                                       4)
-                                                                  (eq? 
(vector-ref
-                                                                         #{e 
52253}#
-                                                                         0)
-                                                                       
'syntax-object)
-                                                                  #f)
-                                                                #f)
-                                                            (let 
((#{expression 52717}#
-                                                                    (vector-ref
-                                                                      #{e 
52253}#
-                                                                      1))
-                                                                  (#{wrap 
52718}#
-                                                                    (let 
((#{w2 52728}#
-                                                                            
(vector-ref
-                                                                              
#{e 52253}#
-                                                                              
2)))
-                                                                      (let 
((#{m1 52729}#
-                                                                              
(car #{w 52254}#))
-                                                                            
(#{s1 52730}#
-                                                                              
(cdr #{w 52254}#)))
-                                                                        (if 
(null? #{m1 52729}#)
-                                                                          (if 
(null? #{s1 52730}#)
-                                                                            
#{w2 52728}#
-                                                                            
(cons (car #{w2 52728}#)
-                                                                               
   (let ((#{m2 52747}#
-                                                                               
           (cdr #{w2 52728}#)))
-                                                                               
     (if (null? #{m2 52747}#)
-                                                                               
       #{s1 52730}#
-                                                                               
       (append
-                                                                               
         #{s1 52730}#
-                                                                               
         #{m2 52747}#)))))
-                                                                          
(cons (let ((#{m2 52755}#
-                                                                               
         (car #{w2 52728}#)))
-                                                                               
   (if (null? #{m2 52755}#)
-                                                                               
     #{m1 52729}#
-                                                                               
     (append
-                                                                               
       #{m1 52729}#
-                                                                               
       #{m2 52755}#)))
-                                                                               
 (let ((#{m2 52763}#
-                                                                               
         (cdr #{w2 52728}#)))
-                                                                               
   (if (null? #{m2 52763}#)
-                                                                               
     #{s1 52730}#
-                                                                               
     (append
-                                                                               
       #{s1 52730}#
-                                                                               
       #{m2 52763}#))))))))
-                                                                  (#{module 
52719}#
-                                                                    (vector-ref
-                                                                      #{e 
52253}#
-                                                                      3)))
-                                                              (vector
-                                                                'syntax-object
-                                                                #{expression 
52717}#
-                                                                #{wrap 52718}#
-                                                                #{module 
52719}#))
-                                                            (if (null? #{e 
52253}#)
-                                                              #{e 52253}#
-                                                              (vector
-                                                                'syntax-object
-                                                                #{e 52253}#
-                                                                #{w 52254}#
-                                                                #{mod 
52256}#))))))
-                                            #{bindings 52061}#))))
-                                (if (eqv? #{type 52251}# 'begin-form)
-                                  (let ((#{tmp 52790}#
-                                          ($sc-dispatch
-                                            #{e 52253}#
-                                            '(_ . each-any))))
-                                    (if #{tmp 52790}#
-                                      (@apply
-                                        (lambda (#{e1 52794}#)
-                                          (#{parse 51947}#
-                                            (letrec*
-                                              ((#{f 52795}#
-                                                 (lambda (#{forms 52996}#)
-                                                   (if (null? #{forms 52996}#)
-                                                     (cdr #{body 52055}#)
-                                                     (cons (cons #{er 52063}#
-                                                                 (let ((#{x 
53000}#
-                                                                         (car 
#{forms 52996}#)))
-                                                                   (if (if 
(null? (car #{w 52254}#))
-                                                                         
(null? (cdr #{w 52254}#))
-                                                                         #f)
-                                                                     #{x 
53000}#
-                                                                     (if (if 
(vector?
-                                                                               
#{x 53000}#)
-                                                                           (if 
(= (vector-length
-                                                                               
     #{x 53000}#)
-                                                                               
   4)
-                                                                             
(eq? (vector-ref
-                                                                               
     #{x 53000}#
-                                                                               
     0)
-                                                                               
   'syntax-object)
-                                                                             
#f)
-                                                                           #f)
-                                                                       (let 
((#{expression 53018}#
-                                                                               
(vector-ref
-                                                                               
  #{x 53000}#
-                                                                               
  1))
-                                                                             
(#{wrap 53019}#
-                                                                               
(let ((#{w2 53027}#
-                                                                               
        (vector-ref
-                                                                               
          #{x 53000}#
-                                                                               
          2)))
-                                                                               
  (let ((#{m1 53028}#
-                                                                               
          (car #{w 52254}#))
-                                                                               
        (#{s1 53029}#
-                                                                               
          (cdr #{w 52254}#)))
-                                                                               
    (if (null? #{m1 53028}#)
-                                                                               
      (if (null? #{s1 53029}#)
-                                                                               
        #{w2 53027}#
-                                                                               
        (cons (car #{w2 53027}#)
-                                                                               
              (let ((#{m2 53044}#
-                                                                               
                      (cdr #{w2 53027}#)))
-                                                                               
                (if (null? #{m2 53044}#)
-                                                                               
                  #{s1 53029}#
-                                                                               
                  (append
-                                                                               
                    #{s1 53029}#
-                                                                               
                    #{m2 53044}#)))))
-                                                                               
      (cons (let ((#{m2 53052}#
-                                                                               
                    (car #{w2 53027}#)))
-                                                                               
              (if (null? #{m2 53052}#)
-                                                                               
                #{m1 53028}#
-                                                                               
                (append
-                                                                               
                  #{m1 53028}#
-                                                                               
                  #{m2 53052}#)))
-                                                                               
            (let ((#{m2 53060}#
-                                                                               
                    (cdr #{w2 53027}#)))
-                                                                               
              (if (null? #{m2 53060}#)
-                                                                               
                #{s1 53029}#
-                                                                               
                (append
-                                                                               
                  #{s1 53029}#
-                                                                               
                  #{m2 53060}#))))))))
-                                                                             
(#{module 53020}#
-                                                                               
(vector-ref
-                                                                               
  #{x 53000}#
-                                                                               
  3)))
-                                                                         
(vector
-                                                                           
'syntax-object
-                                                                           
#{expression 53018}#
-                                                                           
#{wrap 53019}#
-                                                                           
#{module 53020}#))
-                                                                       (if 
(null? #{x 53000}#)
-                                                                         #{x 
53000}#
-                                                                         
(vector
-                                                                           
'syntax-object
-                                                                           #{x 
53000}#
-                                                                           #{w 
52254}#
-                                                                           
#{mod 52256}#))))))
-                                                           (#{f 52795}#
-                                                             (cdr #{forms 
52996}#)))))))
-                                              (#{f 52795}# #{e1 52794}#))
-                                            #{ids 52056}#
-                                            #{labels 52057}#
-                                            #{var-ids 52058}#
-                                            #{vars 52059}#
-                                            #{vals 52060}#
-                                            #{bindings 52061}#))
-                                        #{tmp 52790}#)
-                                      (syntax-violation
-                                        #f
-                                        "source expression failed to match any 
pattern"
-                                        #{e 52253}#)))
-                                  (if (eqv? #{type 52251}# 'local-syntax-form)
-                                    (#{expand-local-syntax 28276}#
-                                      #{value 52252}#
-                                      #{e 52253}#
-                                      #{er 52063}#
-                                      #{w 52254}#
-                                      #{s 52255}#
-                                      #{mod 52256}#
-                                      (lambda (#{forms 53086}#
-                                               #{er 53087}#
-                                               #{w 53088}#
-                                               #{s 53089}#
-                                               #{mod 53090}#)
-                                        (#{parse 51947}#
-                                          (letrec*
-                                            ((#{f 53091}#
-                                               (lambda (#{forms 53292}#)
-                                                 (if (null? #{forms 53292}#)
-                                                   (cdr #{body 52055}#)
-                                                   (cons (cons #{er 53087}#
-                                                               (let ((#{x 
53296}#
-                                                                       (car 
#{forms 53292}#)))
-                                                                 (if (if 
(null? (car #{w 53088}#))
-                                                                       (null? 
(cdr #{w 53088}#))
-                                                                       #f)
-                                                                   #{x 53296}#
-                                                                   (if (if 
(vector?
-                                                                             
#{x 53296}#)
-                                                                         (if 
(= (vector-length
-                                                                               
   #{x 53296}#)
-                                                                               
 4)
-                                                                           
(eq? (vector-ref
-                                                                               
   #{x 53296}#
-                                                                               
   0)
-                                                                               
 'syntax-object)
-                                                                           #f)
-                                                                         #f)
-                                                                     (let 
((#{expression 53314}#
-                                                                             
(vector-ref
-                                                                               
#{x 53296}#
-                                                                               
1))
-                                                                           
(#{wrap 53315}#
-                                                                             
(let ((#{w2 53323}#
-                                                                               
      (vector-ref
-                                                                               
        #{x 53296}#
-                                                                               
        2)))
-                                                                               
(let ((#{m1 53324}#
-                                                                               
        (car #{w 53088}#))
-                                                                               
      (#{s1 53325}#
-                                                                               
        (cdr #{w 53088}#)))
-                                                                               
  (if (null? #{m1 53324}#)
-                                                                               
    (if (null? #{s1 53325}#)
-                                                                               
      #{w2 53323}#
-                                                                               
      (cons (car #{w2 53323}#)
-                                                                               
            (let ((#{m2 53340}#
-                                                                               
                    (cdr #{w2 53323}#)))
-                                                                               
              (if (null? #{m2 53340}#)
-                                                                               
                #{s1 53325}#
-                                                                               
                (append
-                                                                               
                  #{s1 53325}#
-                                                                               
                  #{m2 53340}#)))))
-                                                                               
    (cons (let ((#{m2 53348}#
-                                                                               
                  (car #{w2 53323}#)))
-                                                                               
            (if (null? #{m2 53348}#)
-                                                                               
              #{m1 53324}#
-                                                                               
              (append
-                                                                               
                #{m1 53324}#
-                                                                               
                #{m2 53348}#)))
-                                                                               
          (let ((#{m2 53356}#
-                                                                               
                  (cdr #{w2 53323}#)))
-                                                                               
            (if (null? #{m2 53356}#)
-                                                                               
              #{s1 53325}#
-                                                                               
              (append
-                                                                               
                #{s1 53325}#
-                                                                               
                #{m2 53356}#))))))))
-                                                                           
(#{module 53316}#
-                                                                             
(vector-ref
-                                                                               
#{x 53296}#
-                                                                               
3)))
-                                                                       (vector
-                                                                         
'syntax-object
-                                                                         
#{expression 53314}#
-                                                                         
#{wrap 53315}#
-                                                                         
#{module 53316}#))
-                                                                     (if 
(null? #{x 53296}#)
-                                                                       #{x 
53296}#
-                                                                       (vector
-                                                                         
'syntax-object
-                                                                         #{x 
53296}#
-                                                                         #{w 
53088}#
-                                                                         #{mod 
53090}#))))))
-                                                         (#{f 53091}#
-                                                           (cdr #{forms 
53292}#)))))))
-                                            (#{f 53091}# #{forms 53086}#))
-                                          #{ids 52056}#
-                                          #{labels 52057}#
-                                          #{var-ids 52058}#
-                                          #{vars 52059}#
-                                          #{vals 52060}#
-                                          #{bindings 52061}#)))
-                                    (if (null? #{ids 52056}#)
-                                      (#{build-sequence 28220}#
-                                        #f
-                                        (map (lambda (#{x 53441}#)
-                                               (#{expand 28271}#
-                                                 (cdr #{x 53441}#)
-                                                 (car #{x 53441}#)
-                                                 '(())
-                                                 #{mod 52256}#))
-                                             (cons (cons #{er 52063}#
-                                                         (let ((#{x 53516}#
-                                                                 (begin
-                                                                   (if (if 
(pair? #{e 52253}#)
-                                                                         #{s 
52255}#
-                                                                         #f)
-                                                                     
(set-source-properties!
-                                                                       #{e 
52253}#
-                                                                       #{s 
52255}#))
-                                                                   #{e 
52253}#)))
-                                                           (if (if (null? (car 
#{w 52254}#))
-                                                                 (null? (cdr 
#{w 52254}#))
+                                                         e-25084
+                                                         (if (if (vector?
+                                                                   e-25084)
+                                                               (if (= 
(vector-length
+                                                                        
e-25084)
+                                                                      4)
+                                                                 (eq? 
(vector-ref
+                                                                        e-25084
+                                                                        0)
+                                                                      
'syntax-object)
                                                                  #f)
-                                                             #{x 53516}#
-                                                             (if (if (vector?
-                                                                       #{x 
53516}#)
-                                                                   (if (= 
(vector-length
-                                                                            
#{x 53516}#)
-                                                                          4)
-                                                                     (eq? 
(vector-ref
-                                                                            
#{x 53516}#
-                                                                            0)
-                                                                          
'syntax-object)
-                                                                     #f)
-                                                                   #f)
-                                                               (let 
((#{expression 53548}#
-                                                                       
(vector-ref
-                                                                         #{x 
53516}#
-                                                                         1))
-                                                                     (#{wrap 
53549}#
-                                                                       (let 
((#{w2 53557}#
-                                                                               
(vector-ref
-                                                                               
  #{x 53516}#
-                                                                               
  2)))
-                                                                         (let 
((#{m1 53558}#
-                                                                               
  (car #{w 52254}#))
-                                                                               
(#{s1 53559}#
-                                                                               
  (cdr #{w 52254}#)))
-                                                                           (if 
(null? #{m1 53558}#)
-                                                                             
(if (null? #{s1 53559}#)
-                                                                               
#{w2 53557}#
-                                                                               
(cons (car #{w2 53557}#)
-                                                                               
      (let ((#{m2 53574}#
-                                                                               
              (cdr #{w2 53557}#)))
-                                                                               
        (if (null? #{m2 53574}#)
-                                                                               
          #{s1 53559}#
-                                                                               
          (append
-                                                                               
            #{s1 53559}#
-                                                                               
            #{m2 53574}#)))))
-                                                                             
(cons (let ((#{m2 53582}#
-                                                                               
            (car #{w2 53557}#)))
-                                                                               
      (if (null? #{m2 53582}#)
-                                                                               
        #{m1 53558}#
-                                                                               
        (append
-                                                                               
          #{m1 53558}#
-                                                                               
          #{m2 53582}#)))
-                                                                               
    (let ((#{m2 53590}#
-                                                                               
            (cdr #{w2 53557}#)))
-                                                                               
      (if (null? #{m2 53590}#)
-                                                                               
        #{s1 53559}#
-                                                                               
        (append
-                                                                               
          #{s1 53559}#
-                                                                               
          #{m2 53590}#))))))))
-                                                                     (#{module 
53550}#
-                                                                       
(vector-ref
-                                                                         #{x 
53516}#
-                                                                         3)))
-                                                                 (vector
-                                                                   
'syntax-object
-                                                                   
#{expression 53548}#
-                                                                   #{wrap 
53549}#
-                                                                   #{module 
53550}#))
-                                                               (if (null? #{x 
53516}#)
-                                                                 #{x 53516}#
-                                                                 (vector
-                                                                   
'syntax-object
-                                                                   #{x 53516}#
-                                                                   #{w 52254}#
-                                                                   #{mod 
52256}#))))))
-                                                   (cdr #{body 52055}#))))
-                                      (begin
-                                        (if (not (#{valid-bound-ids? 28261}#
-                                                   #{ids 52056}#))
-                                          (syntax-violation
-                                            #f
-                                            "invalid or duplicate identifier 
in definition"
-                                            #{outer-form 51940}#))
-                                        (letrec*
-                                          ((#{loop 53689}#
-                                             (lambda (#{bs 53692}#
-                                                      #{er-cache 53693}#
-                                                      #{r-cache 53694}#)
-                                               (if (not (null? #{bs 53692}#))
-                                                 (let ((#{b 53695}#
-                                                         (car #{bs 53692}#)))
-                                                   (if (let ((#{t 53698}#
-                                                               (car #{b 
53695}#)))
-                                                         (if (eq? #{t 53698}#
-                                                                  'macro)
-                                                           #t
-                                                           (eq? #{t 53698}#
-                                                                
'syntax-parameter)))
-                                                     (let ((#{er 53700}#
-                                                             (car (cdr #{b 
53695}#))))
-                                                       (let ((#{r-cache 53701}#
-                                                               (if (eq? #{er 
53700}#
-                                                                        
#{er-cache 53693}#)
-                                                                 #{r-cache 
53694}#
-                                                                 
(#{macros-only-env 28235}#
-                                                                   #{er 
53700}#))))
-                                                         (begin
-                                                           (set-cdr!
-                                                             #{b 53695}#
-                                                             
(#{eval-local-transformer 28277}#
-                                                               (#{expand 
28271}#
-                                                                 (cdr (cdr #{b 
53695}#))
-                                                                 #{r-cache 
53701}#
-                                                                 '(())
-                                                                 #{mod 52256}#)
-                                                               #{mod 52256}#))
-                                                           (if (eq? (car #{b 
53695}#)
-                                                                    
'syntax-parameter)
-                                                             (set-cdr!
-                                                               #{b 53695}#
-                                                               (list (cdr #{b 
53695}#))))
-                                                           (#{loop 53689}#
-                                                             (cdr #{bs 53692}#)
-                                                             #{er 53700}#
-                                                             #{r-cache 
53701}#))))
-                                                     (#{loop 53689}#
-                                                       (cdr #{bs 53692}#)
-                                                       #{er-cache 53693}#
-                                                       #{r-cache 53694}#)))))))
-                                          (#{loop 53689}#
-                                            #{bindings 52061}#
-                                            #f
-                                            #f))
-                                        (set-cdr!
-                                          #{r 51944}#
-                                          (#{extend-env 28233}#
-                                            #{labels 52057}#
-                                            #{bindings 52061}#
-                                            (cdr #{r 51944}#)))
-                                        (#{build-letrec 28223}#
-                                          #f
-                                          #t
-                                          (reverse
-                                            (map syntax->datum
-                                                 #{var-ids 52058}#))
-                                          (reverse #{vars 52059}#)
-                                          (map (lambda (#{x 54121}#)
-                                                 (#{expand 28271}#
-                                                   (cdr #{x 54121}#)
-                                                   (car #{x 54121}#)
-                                                   '(())
-                                                   #{mod 52256}#))
-                                               (reverse #{vals 52060}#))
-                                          (#{build-sequence 28220}#
-                                            #f
-                                            (map (lambda (#{x 54257}#)
-                                                   (#{expand 28271}#
-                                                     (cdr #{x 54257}#)
-                                                     (car #{x 54257}#)
-                                                     '(())
-                                                     #{mod 52256}#))
-                                                 (cons (cons #{er 52063}#
-                                                             (let ((#{x 54332}#
-                                                                     (begin
-                                                                       (if (if 
(pair? #{e 52253}#)
-                                                                             
#{s 52255}#
-                                                                             
#f)
-                                                                         
(set-source-properties!
-                                                                           #{e 
52253}#
-                                                                           #{s 
52255}#))
-                                                                       #{e 
52253}#)))
-                                                               (if (if (null? 
(car #{w 52254}#))
-                                                                     (null? 
(cdr #{w 52254}#))
-                                                                     #f)
-                                                                 #{x 54332}#
-                                                                 (if (if 
(vector?
-                                                                           #{x 
54332}#)
-                                                                       (if (= 
(vector-length
-                                                                               
 #{x 54332}#)
-                                                                              
4)
-                                                                         (eq? 
(vector-ref
-                                                                               
 #{x 54332}#
-                                                                               
 0)
-                                                                              
'syntax-object)
-                                                                         #f)
-                                                                       #f)
-                                                                   (let 
((#{expression 54364}#
-                                                                           
(vector-ref
-                                                                             
#{x 54332}#
-                                                                             
1))
-                                                                         
(#{wrap 54365}#
-                                                                           
(let ((#{w2 54373}#
-                                                                               
    (vector-ref
-                                                                               
      #{x 54332}#
-                                                                               
      2)))
-                                                                             
(let ((#{m1 54374}#
-                                                                               
      (car #{w 52254}#))
-                                                                               
    (#{s1 54375}#
-                                                                               
      (cdr #{w 52254}#)))
-                                                                               
(if (null? #{m1 54374}#)
-                                                                               
  (if (null? #{s1 54375}#)
-                                                                               
    #{w2 54373}#
-                                                                               
    (cons (car #{w2 54373}#)
-                                                                               
          (let ((#{m2 54390}#
-                                                                               
                  (cdr #{w2 54373}#)))
-                                                                               
            (if (null? #{m2 54390}#)
-                                                                               
              #{s1 54375}#
-                                                                               
              (append
-                                                                               
                #{s1 54375}#
-                                                                               
                #{m2 54390}#)))))
-                                                                               
  (cons (let ((#{m2 54398}#
-                                                                               
                (car #{w2 54373}#)))
-                                                                               
          (if (null? #{m2 54398}#)
-                                                                               
            #{m1 54374}#
-                                                                               
            (append
-                                                                               
              #{m1 54374}#
-                                                                               
              #{m2 54398}#)))
-                                                                               
        (let ((#{m2 54406}#
-                                                                               
                (cdr #{w2 54373}#)))
-                                                                               
          (if (null? #{m2 54406}#)
-                                                                               
            #{s1 54375}#
-                                                                               
            (append
-                                                                               
              #{s1 54375}#
-                                                                               
              #{m2 54406}#))))))))
-                                                                         
(#{module 54366}#
+                                                               #f)
+                                                           (let 
((expression-26103
+                                                                   (vector-ref
+                                                                     e-25084
+                                                                     1))
+                                                                 (wrap-26104
+                                                                   (let 
((w2-26114
                                                                            
(vector-ref
-                                                                             
#{x 54332}#
-                                                                             
3)))
-                                                                     (vector
-                                                                       
'syntax-object
-                                                                       
#{expression 54364}#
-                                                                       #{wrap 
54365}#
-                                                                       
#{module 54366}#))
-                                                                   (if (null? 
#{x 54332}#)
-                                                                     #{x 
54332}#
-                                                                     (vector
-                                                                       
'syntax-object
-                                                                       #{x 
54332}#
-                                                                       #{w 
52254}#
-                                                                       #{mod 
52256}#))))))
-                                                       (cdr #{body 
52055}#))))))))))))))))))
-               (#{parse 51947}#
-                 (map (lambda (#{x 51950}#)
-                        (cons #{r 51944}#
-                              (if (if (null? (car #{w 51946}#))
-                                    (null? (cdr #{w 51946}#))
-                                    #f)
-                                #{x 51950}#
-                                (if (if (vector? #{x 51950}#)
-                                      (if (= (vector-length #{x 51950}#) 4)
-                                        (eq? (vector-ref #{x 51950}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (let ((#{expression 51986}#
-                                          (vector-ref #{x 51950}# 1))
-                                        (#{wrap 51987}#
-                                          (let ((#{w2 51997}#
-                                                  (vector-ref #{x 51950}# 2)))
-                                            (let ((#{m1 51998}#
-                                                    (car #{w 51946}#))
-                                                  (#{s1 51999}#
-                                                    (cdr #{w 51946}#)))
-                                              (if (null? #{m1 51998}#)
-                                                (if (null? #{s1 51999}#)
-                                                  #{w2 51997}#
-                                                  (cons (car #{w2 51997}#)
-                                                        (let ((#{m2 52016}#
-                                                                (cdr #{w2 
51997}#)))
-                                                          (if (null? #{m2 
52016}#)
-                                                            #{s1 51999}#
-                                                            (append
-                                                              #{s1 51999}#
-                                                              #{m2 52016}#)))))
-                                                (cons (let ((#{m2 52024}#
-                                                              (car #{w2 
51997}#)))
-                                                        (if (null? #{m2 
52024}#)
-                                                          #{m1 51998}#
-                                                          (append
-                                                            #{m1 51998}#
-                                                            #{m2 52024}#)))
-                                                      (let ((#{m2 52032}#
-                                                              (cdr #{w2 
51997}#)))
-                                                        (if (null? #{m2 
52032}#)
-                                                          #{s1 51999}#
-                                                          (append
-                                                            #{s1 51999}#
-                                                            #{m2 
52032}#))))))))
-                                        (#{module 51988}#
-                                          (vector-ref #{x 51950}# 3)))
-                                    (vector
-                                      'syntax-object
-                                      #{expression 51986}#
-                                      #{wrap 51987}#
-                                      #{module 51988}#))
-                                  (if (null? #{x 51950}#)
-                                    #{x 51950}#
-                                    (vector
-                                      'syntax-object
-                                      #{x 51950}#
-                                      #{w 51946}#
-                                      #{mod 51943}#))))))
-                      #{body 51939}#)
-                 '()
-                 '()
-                 '()
-                 '()
-                 '()
-                 '())))))))
-   (#{expand-local-syntax 28276}#
-     (lambda (#{rec? 54421}#
-              #{e 54422}#
-              #{r 54423}#
-              #{w 54424}#
-              #{s 54425}#
-              #{mod 54426}#
-              #{k 54427}#)
-       (let ((#{tmp 54429}#
-               ($sc-dispatch
-                 #{e 54422}#
-                 '(_ #(each (any any)) any . each-any))))
-         (if #{tmp 54429}#
-           (@apply
-             (lambda (#{id 54433}#
-                      #{val 54434}#
-                      #{e1 54435}#
-                      #{e2 54436}#)
-               (if (not (#{valid-bound-ids? 28261}# #{id 54433}#))
-                 (syntax-violation
-                   #f
-                   "duplicate bound keyword"
-                   #{e 54422}#)
-                 (let ((#{labels 54533}#
-                         (#{gen-labels 28241}# #{id 54433}#)))
-                   (let ((#{new-w 54534}#
-                           (#{make-binding-wrap 28252}#
-                             #{id 54433}#
-                             #{labels 54533}#
-                             #{w 54424}#)))
-                     (#{k 54427}#
-                       (cons #{e1 54435}# #{e2 54436}#)
-                       (#{extend-env 28233}#
-                         #{labels 54533}#
-                         (let ((#{trans-r 54574}#
-                                 (#{macros-only-env 28235}# #{r 54423}#)))
-                           (begin
-                             (if #{rec? 54421}# #{new-w 54534}# #{w 54424}#)
-                             (map (lambda (#{x 54575}#)
-                                    (cons 'macro
-                                          (#{eval-local-transformer 28277}#
-                                            (#{expand 28271}#
-                                              #{x 54575}#
-                                              #{trans-r 54574}#
-                                              (values
-                                                (if #{rec? 54421}#
-                                                  #{new-w 54534}#
-                                                  #{w 54424}#))
-                                              #{mod 54426}#)
-                                            #{mod 54426}#)))
-                                  #{val 54434}#)))
-                         #{r 54423}#)
-                       #{new-w 54534}#
-                       #{s 54425}#
-                       #{mod 54426}#)))))
-             #{tmp 54429}#)
-           (syntax-violation
-             #f
-             "bad local syntax definition"
-             (let ((#{x 54904}#
-                     (begin
-                       (if (if (pair? #{e 54422}#) #{s 54425}# #f)
-                         (set-source-properties! #{e 54422}# #{s 54425}#))
-                       #{e 54422}#)))
-               (if (if (null? (car #{w 54424}#))
-                     (null? (cdr #{w 54424}#))
-                     #f)
-                 #{x 54904}#
-                 (if (if (vector? #{x 54904}#)
-                       (if (= (vector-length #{x 54904}#) 4)
-                         (eq? (vector-ref #{x 54904}# 0) 'syntax-object)
-                         #f)
-                       #f)
-                   (let ((#{expression 54936}# (vector-ref #{x 54904}# 1))
-                         (#{wrap 54937}#
-                           (let ((#{w2 54945}# (vector-ref #{x 54904}# 2)))
-                             (let ((#{m1 54946}# (car #{w 54424}#))
-                                   (#{s1 54947}# (cdr #{w 54424}#)))
-                               (if (null? #{m1 54946}#)
-                                 (if (null? #{s1 54947}#)
-                                   #{w2 54945}#
-                                   (cons (car #{w2 54945}#)
-                                         (let ((#{m2 54962}#
-                                                 (cdr #{w2 54945}#)))
-                                           (if (null? #{m2 54962}#)
-                                             #{s1 54947}#
-                                             (append
-                                               #{s1 54947}#
-                                               #{m2 54962}#)))))
-                                 (cons (let ((#{m2 54970}# (car #{w2 54945}#)))
-                                         (if (null? #{m2 54970}#)
-                                           #{m1 54946}#
-                                           (append #{m1 54946}# #{m2 54970}#)))
-                                       (let ((#{m2 54978}# (cdr #{w2 54945}#)))
-                                         (if (null? #{m2 54978}#)
-                                           #{s1 54947}#
-                                           (append
-                                             #{s1 54947}#
-                                             #{m2 54978}#))))))))
-                         (#{module 54938}# (vector-ref #{x 54904}# 3)))
-                     (vector
-                       'syntax-object
-                       #{expression 54936}#
-                       #{wrap 54937}#
-                       #{module 54938}#))
-                   (if (null? #{x 54904}#)
-                     #{x 54904}#
-                     (vector
-                       'syntax-object
-                       #{x 54904}#
-                       #{w 54424}#
-                       #{mod 54426}#))))))))))
-   (#{eval-local-transformer 28277}#
-     (lambda (#{expanded 54996}# #{mod 54997}#)
-       (let ((#{p 54998}# (primitive-eval #{expanded 54996}#)))
-         (if (procedure? #{p 54998}#)
-           #{p 54998}#
-           (syntax-violation
-             #f
-             "nonprocedure transformer"
-             #{p 54998}#)))))
-   (#{ellipsis? 28279}#
-     (lambda (#{x 29819}#)
-       (if (if (if (vector? #{x 29819}#)
-                 (if (= (vector-length #{x 29819}#) 4)
-                   (eq? (vector-ref #{x 29819}# 0) 'syntax-object)
-                   #f)
-                 #f)
-             (symbol? (vector-ref #{x 29819}# 1))
-             #f)
-         (#{free-id=? 28259}#
-           #{x 29819}#
-           '#(syntax-object
-              ...
-              ((top)
-               #(ribcage () () ())
-               #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i26166"))
-               #(ribcage
-                 (lambda-var-list
-                   gen-var
-                   strip
-                   expand-lambda-case
-                   lambda*-formals
-                   expand-simple-lambda
-                   lambda-formals
-                   ellipsis?
-                   expand-void
-                   eval-local-transformer
-                   expand-local-syntax
-                   expand-body
-                   expand-macro
-                   expand-call
-                   expand-expr
-                   expand
-                   syntax-type
-                   parse-when-list
-                   expand-install-global
-                   expand-top-sequence
-                   expand-sequence
-                   source-wrap
-                   wrap
-                   bound-id-member?
-                   distinct-bound-ids?
-                   valid-bound-ids?
-                   bound-id=?
-                   free-id=?
-                   resolve-identifier
-                   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
-                   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))
-                 ("i24298"
-                  "i24296"
-                  "i24294"
-                  "i24292"
-                  "i24290"
-                  "i24288"
-                  "i24286"
-                  "i24284"
-                  "i24282"
-                  "i24280"
-                  "i24278"
-                  "i24276"
-                  "i24274"
-                  "i24272"
-                  "i24270"
-                  "i24268"
-                  "i24266"
-                  "i24264"
-                  "i24262"
-                  "i24260"
-                  "i24258"
-                  "i24256"
-                  "i24254"
-                  "i24252"
-                  "i24250"
-                  "i24248"
-                  "i24246"
-                  "i24244"
-                  "i24242"
-                  "i24240"
-                  "i24238"
-                  "i24236"
-                  "i24234"
-                  "i24232"
-                  "i24230"
-                  "i24228"
-                  "i24227"
-                  "i24225"
-                  "i24222"
-                  "i24221"
-                  "i24220"
-                  "i24218"
-                  "i24217"
-                  "i24215"
-                  "i24213"
-                  "i24211"
-                  "i24209"
-                  "i24207"
-                  "i24205"
-                  "i24203"
-                  "i24201"
-                  "i24198"
-                  "i24196"
-                  "i24195"
-                  "i24193"
-                  "i24191"
-                  "i24189"
-                  "i24187"
-                  "i24186"
-                  "i24185"
-                  "i24184"
-                  "i24182"
-                  "i24181"
-                  "i24178"
-                  "i24176"
-                  "i24174"
-                  "i24172"
-                  "i24170"
-                  "i24168"
-                  "i24167"
-                  "i24166"
-                  "i24164"
-                  "i24162"
-                  "i24161"
-                  "i24158"
-                  "i24157"
-                  "i24155"
-                  "i24153"
-                  "i24151"
-                  "i24149"
-                  "i24147"
-                  "i24145"
-                  "i24143"
-                  "i24141"
-                  "i24139"
-                  "i24136"
-                  "i24134"
-                  "i24132"
-                  "i24130"
-                  "i24128"
-                  "i24126"
-                  "i24124"
-                  "i24122"
-                  "i24120"
-                  "i24118"
-                  "i24116"
-                  "i24114"
-                  "i24112"
-                  "i24110"
-                  "i24108"
-                  "i24106"
-                  "i24104"
-                  "i24102"
-                  "i24100"
-                  "i24098"
-                  "i24096"
-                  "i24094"
-                  "i24092"
-                  "i24090"
-                  "i24089"
-                  "i24086"
-                  "i24084"
-                  "i24083"
-                  "i24082"
-                  "i24081"
-                  "i24080"
-                  "i24078"
-                  "i24076"
-                  "i24074"
-                  "i24071"
-                  "i24069"
-                  "i24067"
-                  "i24065"
-                  "i24063"
-                  "i24061"
-                  "i24059"
-                  "i24057"
-                  "i24055"
-                  "i24053"
-                  "i24051"
-                  "i24049"
-                  "i24047"
-                  "i24045"
-                  "i24043"
-                  "i24041"
-                  "i24039"
-                  "i24037"
-                  "i24035"))
-               #(ribcage
-                 (define-structure
-                   define-expansion-accessors
-                   define-expansion-constructors)
-                 ((top) (top) (top))
-                 ("i23873" "i23872" "i23871"))
-               #(ribcage () () ()))
-              (hygiene guile)))
-         #f)))
-   (#{lambda-formals 28280}#
-     (lambda (#{orig-args 55003}#)
-       (letrec*
-         ((#{req 55004}#
-            (lambda (#{args 55008}# #{rreq 55009}#)
-              (let ((#{tmp 55011}# ($sc-dispatch #{args 55008}# '())))
-                (if #{tmp 55011}#
-                  (@apply
-                    (lambda ()
-                      (#{check 55005}# (reverse #{rreq 55009}#) #f))
-                    #{tmp 55011}#)
-                  (let ((#{tmp 55127}#
-                          ($sc-dispatch #{args 55008}# '(any . any))))
-                    (if (if #{tmp 55127}#
-                          (@apply
-                            (lambda (#{a 55131}# #{b 55132}#)
-                              (if (symbol? #{a 55131}#)
-                                #t
-                                (if (if (vector? #{a 55131}#)
-                                      (if (= (vector-length #{a 55131}#) 4)
-                                        (eq? (vector-ref #{a 55131}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (symbol? (vector-ref #{a 55131}# 1))
-                                  #f)))
-                            #{tmp 55127}#)
-                          #f)
-                      (@apply
-                        (lambda (#{a 55159}# #{b 55160}#)
-                          (#{req 55004}#
-                            #{b 55160}#
-                            (cons #{a 55159}# #{rreq 55009}#)))
-                        #{tmp 55127}#)
-                      (let ((#{tmp 55161}# (list #{args 55008}#)))
-                        (if (@apply
-                              (lambda (#{r 55163}#)
-                                (if (symbol? #{r 55163}#)
-                                  #t
-                                  (if (if (vector? #{r 55163}#)
-                                        (if (= (vector-length #{r 55163}#) 4)
-                                          (eq? (vector-ref #{r 55163}# 0)
-                                               'syntax-object)
-                                          #f)
-                                        #f)
-                                    (symbol? (vector-ref #{r 55163}# 1))
-                                    #f)))
-                              #{tmp 55161}#)
-                          (@apply
-                            (lambda (#{r 55193}#)
-                              (#{check 55005}#
-                                (reverse #{rreq 55009}#)
-                                #{r 55193}#))
-                            #{tmp 55161}#)
-                          (syntax-violation
-                            'lambda
-                            "invalid argument list"
-                            #{orig-args 55003}#
-                            #{args 55008}#)))))))))
-          (#{check 55005}#
-            (lambda (#{req 55317}# #{rest 55318}#)
-              (if (#{distinct-bound-ids? 28262}#
-                    (if #{rest 55318}#
-                      (cons #{rest 55318}# #{req 55317}#)
-                      #{req 55317}#))
-                (values #{req 55317}# #f #{rest 55318}# #f)
-                (syntax-violation
-                  'lambda
-                  "duplicate identifier in argument list"
-                  #{orig-args 55003}#)))))
-         (#{req 55004}# #{orig-args 55003}# '()))))
-   (#{expand-simple-lambda 28281}#
-     (lambda (#{e 55427}#
-              #{r 55428}#
-              #{w 55429}#
-              #{s 55430}#
-              #{mod 55431}#
-              #{req 55432}#
-              #{rest 55433}#
-              #{meta 55434}#
-              #{body 55435}#)
-       (let ((#{ids 55436}#
-               (if #{rest 55433}#
-                 (append #{req 55432}# (list #{rest 55433}#))
-                 #{req 55432}#)))
-         (let ((#{vars 55437}#
-                 (map #{gen-var 28285}# #{ids 55436}#)))
-           (let ((#{labels 55438}#
-                   (#{gen-labels 28241}# #{ids 55436}#)))
-             (#{build-simple-lambda 28214}#
-               #{s 55430}#
-               (map syntax->datum #{req 55432}#)
-               (if #{rest 55433}#
-                 (syntax->datum #{rest 55433}#)
-                 #f)
-               #{vars 55437}#
-               #{meta 55434}#
-               (#{expand-body 28275}#
-                 #{body 55435}#
-                 (let ((#{x 55627}#
-                         (begin
-                           (if (if (pair? #{e 55427}#) #{s 55430}# #f)
-                             (set-source-properties! #{e 55427}# #{s 55430}#))
-                           #{e 55427}#)))
-                   (if (if (null? (car #{w 55429}#))
-                         (null? (cdr #{w 55429}#))
-                         #f)
-                     #{x 55627}#
-                     (if (if (vector? #{x 55627}#)
-                           (if (= (vector-length #{x 55627}#) 4)
-                             (eq? (vector-ref #{x 55627}# 0) 'syntax-object)
-                             #f)
-                           #f)
-                       (let ((#{expression 55659}# (vector-ref #{x 55627}# 1))
-                             (#{wrap 55660}#
-                               (let ((#{w2 55668}# (vector-ref #{x 55627}# 2)))
-                                 (let ((#{m1 55669}# (car #{w 55429}#))
-                                       (#{s1 55670}# (cdr #{w 55429}#)))
-                                   (if (null? #{m1 55669}#)
-                                     (if (null? #{s1 55670}#)
-                                       #{w2 55668}#
-                                       (cons (car #{w2 55668}#)
-                                             (let ((#{m2 55685}#
-                                                     (cdr #{w2 55668}#)))
-                                               (if (null? #{m2 55685}#)
-                                                 #{s1 55670}#
-                                                 (append
-                                                   #{s1 55670}#
-                                                   #{m2 55685}#)))))
-                                     (cons (let ((#{m2 55693}#
-                                                   (car #{w2 55668}#)))
-                                             (if (null? #{m2 55693}#)
-                                               #{m1 55669}#
-                                               (append
-                                                 #{m1 55669}#
-                                                 #{m2 55693}#)))
-                                           (let ((#{m2 55701}#
-                                                   (cdr #{w2 55668}#)))
-                                             (if (null? #{m2 55701}#)
-                                               #{s1 55670}#
-                                               (append
-                                                 #{s1 55670}#
-                                                 #{m2 55701}#))))))))
-                             (#{module 55661}# (vector-ref #{x 55627}# 3)))
-                         (vector
-                           'syntax-object
-                           #{expression 55659}#
-                           #{wrap 55660}#
-                           #{module 55661}#))
-                       (if (null? #{x 55627}#)
-                         #{x 55627}#
-                         (vector
-                           'syntax-object
-                           #{x 55627}#
-                           #{w 55429}#
-                           #{mod 55431}#)))))
-                 (#{extend-var-env 28234}#
-                   #{labels 55438}#
-                   #{vars 55437}#
-                   #{r 55428}#)
-                 (#{make-binding-wrap 28252}#
-                   #{ids 55436}#
-                   #{labels 55438}#
-                   #{w 55429}#)
-                 #{mod 55431}#)))))))
-   (#{lambda*-formals 28282}#
-     (lambda (#{orig-args 55932}#)
-       (letrec*
-         ((#{req 55933}#
-            (lambda (#{args 55940}# #{rreq 55941}#)
-              (let ((#{tmp 55943}# ($sc-dispatch #{args 55940}# '())))
-                (if #{tmp 55943}#
-                  (@apply
-                    (lambda ()
-                      (#{check 55937}#
-                        (reverse #{rreq 55941}#)
-                        '()
-                        #f
-                        '()))
-                    #{tmp 55943}#)
-                  (let ((#{tmp 56062}#
-                          ($sc-dispatch #{args 55940}# '(any . any))))
-                    (if (if #{tmp 56062}#
-                          (@apply
-                            (lambda (#{a 56066}# #{b 56067}#)
-                              (if (symbol? #{a 56066}#)
-                                #t
-                                (if (if (vector? #{a 56066}#)
-                                      (if (= (vector-length #{a 56066}#) 4)
-                                        (eq? (vector-ref #{a 56066}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (symbol? (vector-ref #{a 56066}# 1))
-                                  #f)))
-                            #{tmp 56062}#)
-                          #f)
-                      (@apply
-                        (lambda (#{a 56094}# #{b 56095}#)
-                          (#{req 55933}#
-                            #{b 56095}#
-                            (cons #{a 56094}# #{rreq 55941}#)))
-                        #{tmp 56062}#)
-                      (let ((#{tmp 56096}#
-                              ($sc-dispatch #{args 55940}# '(any . any))))
-                        (if (if #{tmp 56096}#
-                              (@apply
-                                (lambda (#{a 56100}# #{b 56101}#)
-                                  (eq? (syntax->datum #{a 56100}#) #:optional))
-                                #{tmp 56096}#)
-                              #f)
-                          (@apply
-                            (lambda (#{a 56102}# #{b 56103}#)
-                              (#{opt 55934}#
-                                #{b 56103}#
-                                (reverse #{rreq 55941}#)
-                                '()))
-                            #{tmp 56096}#)
-                          (let ((#{tmp 56106}#
-                                  ($sc-dispatch #{args 55940}# '(any . any))))
-                            (if (if #{tmp 56106}#
-                                  (@apply
-                                    (lambda (#{a 56110}# #{b 56111}#)
-                                      (eq? (syntax->datum #{a 56110}#) #:key))
-                                    #{tmp 56106}#)
-                                  #f)
-                              (@apply
-                                (lambda (#{a 56112}# #{b 56113}#)
-                                  (#{key 55935}#
-                                    #{b 56113}#
-                                    (reverse #{rreq 55941}#)
-                                    '()
-                                    '()))
-                                #{tmp 56106}#)
-                              (let ((#{tmp 56116}#
-                                      ($sc-dispatch
-                                        #{args 55940}#
-                                        '(any any))))
-                                (if (if #{tmp 56116}#
-                                      (@apply
-                                        (lambda (#{a 56120}# #{b 56121}#)
-                                          (eq? (syntax->datum #{a 56120}#)
-                                               #:rest))
-                                        #{tmp 56116}#)
-                                      #f)
-                                  (@apply
-                                    (lambda (#{a 56122}# #{b 56123}#)
-                                      (#{rest 55936}#
-                                        #{b 56123}#
-                                        (reverse #{rreq 55941}#)
-                                        '()
-                                        '()))
-                                    #{tmp 56116}#)
-                                  (let ((#{tmp 56126}# (list #{args 55940}#)))
-                                    (if (@apply
-                                          (lambda (#{r 56128}#)
-                                            (if (symbol? #{r 56128}#)
-                                              #t
-                                              (if (if (vector? #{r 56128}#)
-                                                    (if (= (vector-length
-                                                             #{r 56128}#)
-                                                           4)
-                                                      (eq? (vector-ref
-                                                             #{r 56128}#
-                                                             0)
-                                                           'syntax-object)
-                                                      #f)
-                                                    #f)
-                                                (symbol?
-                                                  (vector-ref #{r 56128}# 1))
-                                                #f)))
-                                          #{tmp 56126}#)
-                                      (@apply
-                                        (lambda (#{r 56158}#)
-                                          (#{rest 55936}#
-                                            #{r 56158}#
-                                            (reverse #{rreq 55941}#)
-                                            '()
-                                            '()))
-                                        #{tmp 56126}#)
-                                      (syntax-violation
-                                        'lambda*
-                                        "invalid argument list"
-                                        #{orig-args 55932}#
-                                        #{args 55940}#)))))))))))))))
-          (#{opt 55934}#
-            (lambda (#{args 56177}# #{req 56178}# #{ropt 56179}#)
-              (let ((#{tmp 56181}# ($sc-dispatch #{args 56177}# '())))
-                (if #{tmp 56181}#
-                  (@apply
-                    (lambda ()
-                      (#{check 55937}#
-                        #{req 56178}#
-                        (reverse #{ropt 56179}#)
-                        #f
-                        '()))
-                    #{tmp 56181}#)
-                  (let ((#{tmp 56302}#
-                          ($sc-dispatch #{args 56177}# '(any . any))))
-                    (if (if #{tmp 56302}#
-                          (@apply
-                            (lambda (#{a 56306}# #{b 56307}#)
-                              (if (symbol? #{a 56306}#)
-                                #t
-                                (if (if (vector? #{a 56306}#)
-                                      (if (= (vector-length #{a 56306}#) 4)
-                                        (eq? (vector-ref #{a 56306}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (symbol? (vector-ref #{a 56306}# 1))
-                                  #f)))
-                            #{tmp 56302}#)
-                          #f)
-                      (@apply
-                        (lambda (#{a 56334}# #{b 56335}#)
-                          (#{opt 55934}#
-                            #{b 56335}#
-                            #{req 56178}#
-                            (cons (cons #{a 56334}#
-                                        '(#(syntax-object
-                                            #f
-                                            ((top)
-                                             #(ribcage
-                                               #(a b)
-                                               #((top) (top))
-                                               #("i26305" "i26306"))
-                                             #(ribcage () () ())
-                                             #(ribcage
-                                               #(args req ropt)
-                                               #((top) (top) (top))
-                                               #("i26295" "i26296" "i26297"))
-                                             #(ribcage
-                                               (check rest key opt req)
-                                               ((top) (top) (top) (top) (top))
-                                               ("i26241"
-                                                "i26239"
-                                                "i26237"
-                                                "i26235"
-                                                "i26233"))
-                                             #(ribcage
-                                               #(orig-args)
-                                               #((top))
-                                               #("i26232"))
-                                             #(ribcage
-                                               (lambda-var-list
-                                                 gen-var
-                                                 strip
-                                                 expand-lambda-case
-                                                 lambda*-formals
-                                                 expand-simple-lambda
-                                                 lambda-formals
-                                                 ellipsis?
-                                                 expand-void
-                                                 eval-local-transformer
-                                                 expand-local-syntax
-                                                 expand-body
-                                                 expand-macro
-                                                 expand-call
-                                                 expand-expr
-                                                 expand
-                                                 syntax-type
-                                                 parse-when-list
-                                                 expand-install-global
-                                                 expand-top-sequence
-                                                 expand-sequence
-                                                 source-wrap
-                                                 wrap
-                                                 bound-id-member?
-                                                 distinct-bound-ids?
-                                                 valid-bound-ids?
-                                                 bound-id=?
-                                                 free-id=?
-                                                 resolve-identifier
-                                                 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
-                                                 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))
-                                               ("i24298"
-                                                "i24296"
-                                                "i24294"
-                                                "i24292"
-                                                "i24290"
-                                                "i24288"
-                                                "i24286"
-                                                "i24284"
-                                                "i24282"
-                                                "i24280"
-                                                "i24278"
-                                                "i24276"
-                                                "i24274"
-                                                "i24272"
-                                                "i24270"
-                                                "i24268"
-                                                "i24266"
-                                                "i24264"
-                                                "i24262"
-                                                "i24260"
-                                                "i24258"
-                                                "i24256"
-                                                "i24254"
-                                                "i24252"
-                                                "i24250"
-                                                "i24248"
-                                                "i24246"
-                                                "i24244"
-                                                "i24242"
-                                                "i24240"
-                                                "i24238"
-                                                "i24236"
-                                                "i24234"
-                                                "i24232"
-                                                "i24230"
-                                                "i24228"
-                                                "i24227"
-                                                "i24225"
-                                                "i24222"
-                                                "i24221"
-                                                "i24220"
-                                                "i24218"
-                                                "i24217"
-                                                "i24215"
-                                                "i24213"
-                                                "i24211"
-                                                "i24209"
-                                                "i24207"
-                                                "i24205"
-                                                "i24203"
-                                                "i24201"
-                                                "i24198"
-                                                "i24196"
-                                                "i24195"
-                                                "i24193"
-                                                "i24191"
-                                                "i24189"
-                                                "i24187"
-                                                "i24186"
-                                                "i24185"
-                                                "i24184"
-                                                "i24182"
-                                                "i24181"
-                                                "i24178"
-                                                "i24176"
-                                                "i24174"
-                                                "i24172"
-                                                "i24170"
-                                                "i24168"
-                                                "i24167"
-                                                "i24166"
-                                                "i24164"
-                                                "i24162"
-                                                "i24161"
-                                                "i24158"
-                                                "i24157"
-                                                "i24155"
-                                                "i24153"
-                                                "i24151"
-                                                "i24149"
-                                                "i24147"
-                                                "i24145"
-                                                "i24143"
-                                                "i24141"
-                                                "i24139"
-                                                "i24136"
-                                                "i24134"
-                                                "i24132"
-                                                "i24130"
-                                                "i24128"
-                                                "i24126"
-                                                "i24124"
-                                                "i24122"
-                                                "i24120"
-                                                "i24118"
-                                                "i24116"
-                                                "i24114"
-                                                "i24112"
-                                                "i24110"
-                                                "i24108"
-                                                "i24106"
-                                                "i24104"
-                                                "i24102"
-                                                "i24100"
-                                                "i24098"
-                                                "i24096"
-                                                "i24094"
-                                                "i24092"
-                                                "i24090"
-                                                "i24089"
-                                                "i24086"
-                                                "i24084"
-                                                "i24083"
-                                                "i24082"
-                                                "i24081"
-                                                "i24080"
-                                                "i24078"
-                                                "i24076"
-                                                "i24074"
-                                                "i24071"
-                                                "i24069"
-                                                "i24067"
-                                                "i24065"
-                                                "i24063"
-                                                "i24061"
-                                                "i24059"
-                                                "i24057"
-                                                "i24055"
-                                                "i24053"
-                                                "i24051"
-                                                "i24049"
-                                                "i24047"
-                                                "i24045"
-                                                "i24043"
-                                                "i24041"
-                                                "i24039"
-                                                "i24037"
-                                                "i24035"))
-                                             #(ribcage
-                                               (define-structure
-                                                 define-expansion-accessors
-                                                 define-expansion-constructors)
-                                               ((top) (top) (top))
-                                               ("i23873" "i23872" "i23871"))
-                                             #(ribcage () () ()))
-                                            (hygiene guile))))
-                                  #{ropt 56179}#)))
-                        #{tmp 56302}#)
-                      (let ((#{tmp 56336}#
-                              ($sc-dispatch
-                                #{args 56177}#
-                                '((any any) . any))))
-                        (if (if #{tmp 56336}#
-                              (@apply
-                                (lambda (#{a 56340}#
-                                         #{init 56341}#
-                                         #{b 56342}#)
-                                  (if (symbol? #{a 56340}#)
-                                    #t
-                                    (if (if (vector? #{a 56340}#)
-                                          (if (= (vector-length #{a 56340}#) 4)
-                                            (eq? (vector-ref #{a 56340}# 0)
-                                                 'syntax-object)
-                                            #f)
-                                          #f)
-                                      (symbol? (vector-ref #{a 56340}# 1))
-                                      #f)))
-                                #{tmp 56336}#)
-                              #f)
-                          (@apply
-                            (lambda (#{a 56369}# #{init 56370}# #{b 56371}#)
-                              (#{opt 55934}#
-                                #{b 56371}#
-                                #{req 56178}#
-                                (cons (list #{a 56369}# #{init 56370}#)
-                                      #{ropt 56179}#)))
-                            #{tmp 56336}#)
-                          (let ((#{tmp 56372}#
-                                  ($sc-dispatch #{args 56177}# '(any . any))))
-                            (if (if #{tmp 56372}#
-                                  (@apply
-                                    (lambda (#{a 56376}# #{b 56377}#)
-                                      (eq? (syntax->datum #{a 56376}#) #:key))
-                                    #{tmp 56372}#)
-                                  #f)
-                              (@apply
-                                (lambda (#{a 56378}# #{b 56379}#)
-                                  (#{key 55935}#
-                                    #{b 56379}#
-                                    #{req 56178}#
-                                    (reverse #{ropt 56179}#)
-                                    '()))
-                                #{tmp 56372}#)
-                              (let ((#{tmp 56382}#
-                                      ($sc-dispatch
-                                        #{args 56177}#
-                                        '(any any))))
-                                (if (if #{tmp 56382}#
-                                      (@apply
-                                        (lambda (#{a 56386}# #{b 56387}#)
-                                          (eq? (syntax->datum #{a 56386}#)
-                                               #:rest))
-                                        #{tmp 56382}#)
-                                      #f)
-                                  (@apply
-                                    (lambda (#{a 56388}# #{b 56389}#)
-                                      (#{rest 55936}#
-                                        #{b 56389}#
-                                        #{req 56178}#
-                                        (reverse #{ropt 56179}#)
-                                        '()))
-                                    #{tmp 56382}#)
-                                  (let ((#{tmp 56392}# (list #{args 56177}#)))
-                                    (if (@apply
-                                          (lambda (#{r 56394}#)
-                                            (if (symbol? #{r 56394}#)
-                                              #t
-                                              (if (if (vector? #{r 56394}#)
-                                                    (if (= (vector-length
-                                                             #{r 56394}#)
-                                                           4)
-                                                      (eq? (vector-ref
-                                                             #{r 56394}#
-                                                             0)
-                                                           'syntax-object)
-                                                      #f)
-                                                    #f)
-                                                (symbol?
-                                                  (vector-ref #{r 56394}# 1))
-                                                #f)))
-                                          #{tmp 56392}#)
-                                      (@apply
-                                        (lambda (#{r 56424}#)
-                                          (#{rest 55936}#
-                                            #{r 56424}#
-                                            #{req 56178}#
-                                            (reverse #{ropt 56179}#)
-                                            '()))
-                                        #{tmp 56392}#)
-                                      (syntax-violation
-                                        'lambda*
-                                        "invalid optional argument list"
-                                        #{orig-args 55932}#
-                                        #{args 56177}#)))))))))))))))
-          (#{key 55935}#
-            (lambda (#{args 56443}#
-                     #{req 56444}#
-                     #{opt 56445}#
-                     #{rkey 56446}#)
-              (let ((#{tmp 56448}# ($sc-dispatch #{args 56443}# '())))
-                (if #{tmp 56448}#
-                  (@apply
-                    (lambda ()
-                      (#{check 55937}#
-                        #{req 56444}#
-                        #{opt 56445}#
-                        #f
-                        (cons #f (reverse #{rkey 56446}#))))
-                    #{tmp 56448}#)
-                  (let ((#{tmp 56570}#
-                          ($sc-dispatch #{args 56443}# '(any . any))))
-                    (if (if #{tmp 56570}#
-                          (@apply
-                            (lambda (#{a 56574}# #{b 56575}#)
-                              (if (symbol? #{a 56574}#)
-                                #t
-                                (if (if (vector? #{a 56574}#)
-                                      (if (= (vector-length #{a 56574}#) 4)
-                                        (eq? (vector-ref #{a 56574}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (symbol? (vector-ref #{a 56574}# 1))
-                                  #f)))
-                            #{tmp 56570}#)
-                          #f)
-                      (@apply
-                        (lambda (#{a 56602}# #{b 56603}#)
-                          (let ((#{tmp 56604}#
-                                  (symbol->keyword
-                                    (syntax->datum #{a 56602}#))))
-                            (#{key 55935}#
-                              #{b 56603}#
-                              #{req 56444}#
-                              #{opt 56445}#
-                              (cons (cons #{tmp 56604}#
-                                          (cons #{a 56602}#
-                                                '(#(syntax-object
-                                                    #f
-                                                    ((top)
-                                                     #(ribcage () () ())
-                                                     #(ribcage
-                                                       #(k)
-                                                       #((top))
-                                                       #("i26368"))
-                                                     #(ribcage
-                                                       #(a b)
-                                                       #((top) (top))
-                                                       #("i26362" "i26363"))
-                                                     #(ribcage () () ())
-                                                     #(ribcage
-                                                       #(args req opt rkey)
-                                                       #((top)
-                                                         (top)
-                                                         (top)
-                                                         (top))
-                                                       #("i26351"
-                                                         "i26352"
-                                                         "i26353"
-                                                         "i26354"))
-                                                     #(ribcage
-                                                       (check rest key opt req)
-                                                       ((top)
-                                                        (top)
-                                                        (top)
-                                                        (top)
-                                                        (top))
-                                                       ("i26241"
-                                                        "i26239"
-                                                        "i26237"
-                                                        "i26235"
-                                                        "i26233"))
-                                                     #(ribcage
-                                                       #(orig-args)
-                                                       #((top))
-                                                       #("i26232"))
-                                                     #(ribcage
-                                                       (lambda-var-list
-                                                         gen-var
-                                                         strip
-                                                         expand-lambda-case
-                                                         lambda*-formals
-                                                         expand-simple-lambda
-                                                         lambda-formals
-                                                         ellipsis?
-                                                         expand-void
-                                                         eval-local-transformer
-                                                         expand-local-syntax
-                                                         expand-body
-                                                         expand-macro
-                                                         expand-call
-                                                         expand-expr
-                                                         expand
-                                                         syntax-type
-                                                         parse-when-list
-                                                         expand-install-global
-                                                         expand-top-sequence
-                                                         expand-sequence
-                                                         source-wrap
-                                                         wrap
-                                                         bound-id-member?
-                                                         distinct-bound-ids?
-                                                         valid-bound-ids?
-                                                         bound-id=?
-                                                         free-id=?
-                                                         resolve-identifier
-                                                         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
-                                                         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))
-                                                       ("i24298"
-                                                        "i24296"
-                                                        "i24294"
-                                                        "i24292"
-                                                        "i24290"
-                                                        "i24288"
-                                                        "i24286"
-                                                        "i24284"
-                                                        "i24282"
-                                                        "i24280"
-                                                        "i24278"
-                                                        "i24276"
-                                                        "i24274"
-                                                        "i24272"
-                                                        "i24270"
-                                                        "i24268"
-                                                        "i24266"
-                                                        "i24264"
-                                                        "i24262"
-                                                        "i24260"
-                                                        "i24258"
-                                                        "i24256"
-                                                        "i24254"
-                                                        "i24252"
-                                                        "i24250"
-                                                        "i24248"
-                                                        "i24246"
-                                                        "i24244"
-                                                        "i24242"
-                                                        "i24240"
-                                                        "i24238"
-                                                        "i24236"
-                                                        "i24234"
-                                                        "i24232"
-                                                        "i24230"
-                                                        "i24228"
-                                                        "i24227"
-                                                        "i24225"
-                                                        "i24222"
-                                                        "i24221"
-                                                        "i24220"
-                                                        "i24218"
-                                                        "i24217"
-                                                        "i24215"
-                                                        "i24213"
-                                                        "i24211"
-                                                        "i24209"
-                                                        "i24207"
-                                                        "i24205"
-                                                        "i24203"
-                                                        "i24201"
-                                                        "i24198"
-                                                        "i24196"
-                                                        "i24195"
-                                                        "i24193"
-                                                        "i24191"
-                                                        "i24189"
-                                                        "i24187"
-                                                        "i24186"
-                                                        "i24185"
-                                                        "i24184"
-                                                        "i24182"
-                                                        "i24181"
-                                                        "i24178"
-                                                        "i24176"
-                                                        "i24174"
-                                                        "i24172"
-                                                        "i24170"
-                                                        "i24168"
-                                                        "i24167"
-                                                        "i24166"
-                                                        "i24164"
-                                                        "i24162"
-                                                        "i24161"
-                                                        "i24158"
-                                                        "i24157"
-                                                        "i24155"
-                                                        "i24153"
-                                                        "i24151"
-                                                        "i24149"
-                                                        "i24147"
-                                                        "i24145"
-                                                        "i24143"
-                                                        "i24141"
-                                                        "i24139"
-                                                        "i24136"
-                                                        "i24134"
-                                                        "i24132"
-                                                        "i24130"
-                                                        "i24128"
-                                                        "i24126"
-                                                        "i24124"
-                                                        "i24122"
-                                                        "i24120"
-                                                        "i24118"
-                                                        "i24116"
-                                                        "i24114"
-                                                        "i24112"
-                                                        "i24110"
-                                                        "i24108"
-                                                        "i24106"
-                                                        "i24104"
-                                                        "i24102"
-                                                        "i24100"
-                                                        "i24098"
-                                                        "i24096"
-                                                        "i24094"
-                                                        "i24092"
-                                                        "i24090"
-                                                        "i24089"
-                                                        "i24086"
-                                                        "i24084"
-                                                        "i24083"
-                                                        "i24082"
-                                                        "i24081"
-                                                        "i24080"
-                                                        "i24078"
-                                                        "i24076"
-                                                        "i24074"
-                                                        "i24071"
-                                                        "i24069"
-                                                        "i24067"
-                                                        "i24065"
-                                                        "i24063"
-                                                        "i24061"
-                                                        "i24059"
-                                                        "i24057"
-                                                        "i24055"
-                                                        "i24053"
-                                                        "i24051"
-                                                        "i24049"
-                                                        "i24047"
-                                                        "i24045"
-                                                        "i24043"
-                                                        "i24041"
-                                                        "i24039"
-                                                        "i24037"
-                                                        "i24035"))
-                                                     #(ribcage
-                                                       (define-structure
-                                                         
define-expansion-accessors
-                                                         
define-expansion-constructors)
-                                                       ((top) (top) (top))
-                                                       ("i23873"
-                                                        "i23872"
-                                                        "i23871"))
-                                                     #(ribcage () () ()))
-                                                    (hygiene guile)))))
-                                    #{rkey 56446}#))))
-                        #{tmp 56570}#)
-                      (let ((#{tmp 56607}#
-                              ($sc-dispatch
-                                #{args 56443}#
-                                '((any any) . any))))
-                        (if (if #{tmp 56607}#
-                              (@apply
-                                (lambda (#{a 56611}#
-                                         #{init 56612}#
-                                         #{b 56613}#)
-                                  (if (symbol? #{a 56611}#)
-                                    #t
-                                    (if (if (vector? #{a 56611}#)
-                                          (if (= (vector-length #{a 56611}#) 4)
-                                            (eq? (vector-ref #{a 56611}# 0)
-                                                 'syntax-object)
-                                            #f)
-                                          #f)
-                                      (symbol? (vector-ref #{a 56611}# 1))
-                                      #f)))
-                                #{tmp 56607}#)
-                              #f)
-                          (@apply
-                            (lambda (#{a 56640}# #{init 56641}# #{b 56642}#)
-                              (let ((#{tmp 56643}#
-                                      (symbol->keyword
-                                        (syntax->datum #{a 56640}#))))
-                                (#{key 55935}#
-                                  #{b 56642}#
-                                  #{req 56444}#
-                                  #{opt 56445}#
-                                  (cons (list #{tmp 56643}#
-                                              #{a 56640}#
-                                              #{init 56641}#)
-                                        #{rkey 56446}#))))
-                            #{tmp 56607}#)
-                          (let ((#{tmp 56646}#
-                                  ($sc-dispatch
-                                    #{args 56443}#
-                                    '((any any any) . any))))
-                            (if (if #{tmp 56646}#
-                                  (@apply
-                                    (lambda (#{a 56650}#
-                                             #{init 56651}#
-                                             #{k 56652}#
-                                             #{b 56653}#)
-                                      (if (if (symbol? #{a 56650}#)
-                                            #t
-                                            (if (if (vector? #{a 56650}#)
-                                                  (if (= (vector-length
-                                                           #{a 56650}#)
-                                                         4)
-                                                    (eq? (vector-ref
-                                                           #{a 56650}#
-                                                           0)
-                                                         'syntax-object)
-                                                    #f)
-                                                  #f)
-                                              (symbol?
-                                                (vector-ref #{a 56650}# 1))
-                                              #f))
-                                        (keyword? (syntax->datum #{k 56652}#))
-                                        #f))
-                                    #{tmp 56646}#)
-                                  #f)
-                              (@apply
-                                (lambda (#{a 56680}#
-                                         #{init 56681}#
-                                         #{k 56682}#
-                                         #{b 56683}#)
-                                  (#{key 55935}#
-                                    #{b 56683}#
-                                    #{req 56444}#
-                                    #{opt 56445}#
-                                    (cons (list #{k 56682}#
-                                                #{a 56680}#
-                                                #{init 56681}#)
-                                          #{rkey 56446}#)))
-                                #{tmp 56646}#)
-                              (let ((#{tmp 56684}#
-                                      ($sc-dispatch #{args 56443}# '(any))))
-                                (if (if #{tmp 56684}#
-                                      (@apply
-                                        (lambda (#{aok 56688}#)
-                                          (eq? (syntax->datum #{aok 56688}#)
-                                               #:allow-other-keys))
-                                        #{tmp 56684}#)
-                                      #f)
-                                  (@apply
-                                    (lambda (#{aok 56689}#)
-                                      (#{check 55937}#
-                                        #{req 56444}#
-                                        #{opt 56445}#
-                                        #f
-                                        (cons #t (reverse #{rkey 56446}#))))
-                                    #{tmp 56684}#)
-                                  (let ((#{tmp 56808}#
-                                          ($sc-dispatch
-                                            #{args 56443}#
-                                            '(any any any))))
-                                    (if (if #{tmp 56808}#
-                                          (@apply
-                                            (lambda (#{aok 56812}#
-                                                     #{a 56813}#
-                                                     #{b 56814}#)
-                                              (if (eq? (syntax->datum
-                                                         #{aok 56812}#)
-                                                       #:allow-other-keys)
-                                                (eq? (syntax->datum
-                                                       #{a 56813}#)
-                                                     #:rest)
-                                                #f))
-                                            #{tmp 56808}#)
-                                          #f)
-                                      (@apply
-                                        (lambda (#{aok 56815}#
-                                                 #{a 56816}#
-                                                 #{b 56817}#)
-                                          (#{rest 55936}#
-                                            #{b 56817}#
-                                            #{req 56444}#
-                                            #{opt 56445}#
-                                            (cons #t
-                                                  (reverse #{rkey 56446}#))))
-                                        #{tmp 56808}#)
-                                      (let ((#{tmp 56820}#
-                                              ($sc-dispatch
-                                                #{args 56443}#
-                                                '(any . any))))
-                                        (if (if #{tmp 56820}#
-                                              (@apply
-                                                (lambda (#{aok 56824}#
-                                                         #{r 56825}#)
-                                                  (if (eq? (syntax->datum
-                                                             #{aok 56824}#)
-                                                           #:allow-other-keys)
-                                                    (if (symbol? #{r 56825}#)
-                                                      #t
-                                                      (if (if (vector?
-                                                                #{r 56825}#)
-                                                            (if (= 
(vector-length
-                                                                     #{r 
56825}#)
-                                                                   4)
-                                                              (eq? (vector-ref
-                                                                     #{r 
56825}#
-                                                                     0)
-                                                                   
'syntax-object)
-                                                              #f)
-                                                            #f)
-                                                        (symbol?
-                                                          (vector-ref
-                                                            #{r 56825}#
-                                                            1))
-                                                        #f))
-                                                    #f))
-                                                #{tmp 56820}#)
-                                              #f)
-                                          (@apply
-                                            (lambda (#{aok 56852}# #{r 56853}#)
-                                              (#{rest 55936}#
-                                                #{r 56853}#
-                                                #{req 56444}#
-                                                #{opt 56445}#
-                                                (cons #t
-                                                      (reverse
-                                                        #{rkey 56446}#))))
-                                            #{tmp 56820}#)
-                                          (let ((#{tmp 56856}#
-                                                  ($sc-dispatch
-                                                    #{args 56443}#
-                                                    '(any any))))
-                                            (if (if #{tmp 56856}#
-                                                  (@apply
-                                                    (lambda (#{a 56860}#
-                                                             #{b 56861}#)
-                                                      (eq? (syntax->datum
-                                                             #{a 56860}#)
-                                                           #:rest))
-                                                    #{tmp 56856}#)
-                                                  #f)
-                                              (@apply
-                                                (lambda (#{a 56862}#
-                                                         #{b 56863}#)
-                                                  (#{rest 55936}#
-                                                    #{b 56863}#
-                                                    #{req 56444}#
-                                                    #{opt 56445}#
-                                                    (cons #f
-                                                          (reverse
-                                                            #{rkey 56446}#))))
-                                                #{tmp 56856}#)
-                                              (let ((#{tmp 56866}#
-                                                      (list #{args 56443}#)))
-                                                (if (@apply
-                                                      (lambda (#{r 56868}#)
-                                                        (if (symbol?
-                                                              #{r 56868}#)
-                                                          #t
-                                                          (if (if (vector?
-                                                                    #{r 
56868}#)
-                                                                (if (= 
(vector-length
-                                                                         #{r 
56868}#)
-                                                                       4)
-                                                                  (eq? 
(vector-ref
-                                                                         #{r 
56868}#
-                                                                         0)
-                                                                       
'syntax-object)
-                                                                  #f)
-                                                                #f)
-                                                            (symbol?
-                                                              (vector-ref
-                                                                #{r 56868}#
-                                                                1))
-                                                            #f)))
-                                                      #{tmp 56866}#)
-                                                  (@apply
-                                                    (lambda (#{r 56898}#)
-                                                      (#{rest 55936}#
-                                                        #{r 56898}#
-                                                        #{req 56444}#
-                                                        #{opt 56445}#
-                                                        (cons #f
-                                                              (reverse
-                                                                #{rkey 
56446}#))))
-                                                    #{tmp 56866}#)
-                                                  (syntax-violation
-                                                    'lambda*
-                                                    "invalid keyword argument 
list"
-                                                    #{orig-args 55932}#
-                                                    #{args 
56443}#)))))))))))))))))))))
-          (#{rest 55936}#
-            (lambda (#{args 56926}#
-                     #{req 56927}#
-                     #{opt 56928}#
-                     #{kw 56929}#)
-              (let ((#{tmp 56931}# (list #{args 56926}#)))
-                (if (@apply
-                      (lambda (#{r 56933}#)
-                        (if (symbol? #{r 56933}#)
-                          #t
-                          (if (if (vector? #{r 56933}#)
-                                (if (= (vector-length #{r 56933}#) 4)
-                                  (eq? (vector-ref #{r 56933}# 0)
-                                       'syntax-object)
-                                  #f)
-                                #f)
-                            (symbol? (vector-ref #{r 56933}# 1))
-                            #f)))
-                      #{tmp 56931}#)
-                  (@apply
-                    (lambda (#{r 56963}#)
-                      (#{check 55937}#
-                        #{req 56927}#
-                        #{opt 56928}#
-                        #{r 56963}#
-                        #{kw 56929}#))
-                    #{tmp 56931}#)
-                  (syntax-violation
-                    'lambda*
-                    "invalid rest argument"
-                    #{orig-args 55932}#
-                    #{args 56926}#)))))
-          (#{check 55937}#
-            (lambda (#{req 57091}#
-                     #{opt 57092}#
-                     #{rest 57093}#
-                     #{kw 57094}#)
-              (if (#{distinct-bound-ids? 28262}#
-                    (append
-                      #{req 57091}#
-                      (map car #{opt 57092}#)
-                      (if #{rest 57093}# (list #{rest 57093}#) '())
-                      (if (pair? #{kw 57094}#)
-                        (map cadr (cdr #{kw 57094}#))
-                        '())))
-                (values
-                  #{req 57091}#
-                  #{opt 57092}#
-                  #{rest 57093}#
-                  #{kw 57094}#)
-                (syntax-violation
-                  'lambda*
-                  "duplicate identifier in argument list"
-                  #{orig-args 55932}#)))))
-         (#{req 55933}# #{orig-args 55932}# '()))))
-   (#{expand-lambda-case 28283}#
-     (lambda (#{e 57203}#
-              #{r 57204}#
-              #{w 57205}#
-              #{s 57206}#
-              #{mod 57207}#
-              #{get-formals 57208}#
-              #{clauses 57209}#)
-       (letrec*
-         ((#{parse-req 57210}#
-            (lambda (#{req 57345}#
-                     #{opt 57346}#
-                     #{rest 57347}#
-                     #{kw 57348}#
-                     #{body 57349}#)
-              (let ((#{vars 57350}#
-                      (map #{gen-var 28285}# #{req 57345}#))
-                    (#{labels 57351}#
-                      (#{gen-labels 28241}# #{req 57345}#)))
-                (let ((#{r* 57352}#
-                        (#{extend-var-env 28234}#
-                          #{labels 57351}#
-                          #{vars 57350}#
-                          #{r 57204}#))
-                      (#{w* 57353}#
-                        (#{make-binding-wrap 28252}#
-                          #{req 57345}#
-                          #{labels 57351}#
-                          #{w 57205}#)))
-                  (#{parse-opt 57211}#
-                    (map syntax->datum #{req 57345}#)
-                    #{opt 57346}#
-                    #{rest 57347}#
-                    #{kw 57348}#
-                    #{body 57349}#
-                    (reverse #{vars 57350}#)
-                    #{r* 57352}#
-                    #{w* 57353}#
-                    '()
-                    '())))))
-          (#{parse-opt 57211}#
-            (lambda (#{req 57587}#
-                     #{opt 57588}#
-                     #{rest 57589}#
-                     #{kw 57590}#
-                     #{body 57591}#
-                     #{vars 57592}#
-                     #{r* 57593}#
-                     #{w* 57594}#
-                     #{out 57595}#
-                     #{inits 57596}#)
-              (if (pair? #{opt 57588}#)
-                (let ((#{tmp 57597}# (car #{opt 57588}#)))
-                  (let ((#{tmp 57598}#
-                          ($sc-dispatch #{tmp 57597}# '(any any))))
-                    (if #{tmp 57598}#
-                      (@apply
-                        (lambda (#{id 57600}# #{i 57601}#)
-                          (let ((#{v 57602}#
-                                  (let ((#{id 57610}#
-                                          (if (if (vector? #{id 57600}#)
-                                                (if (= (vector-length
-                                                         #{id 57600}#)
-                                                       4)
-                                                  (eq? (vector-ref
-                                                         #{id 57600}#
-                                                         0)
-                                                       'syntax-object)
-                                                  #f)
-                                                #f)
-                                            (vector-ref #{id 57600}# 1)
-                                            #{id 57600}#)))
-                                    (gensym
-                                      (string-append
-                                        (symbol->string #{id 57610}#)
-                                        " ")))))
-                            (let ((#{l 57603}#
-                                    (#{gen-labels 28241}# (list #{v 57602}#))))
-                              (let ((#{r** 57604}#
-                                      (#{extend-var-env 28234}#
-                                        #{l 57603}#
-                                        (list #{v 57602}#)
-                                        #{r* 57593}#)))
-                                (let ((#{w** 57605}#
-                                        (#{make-binding-wrap 28252}#
-                                          (list #{id 57600}#)
-                                          #{l 57603}#
-                                          #{w* 57594}#)))
-                                  (#{parse-opt 57211}#
-                                    #{req 57587}#
-                                    (cdr #{opt 57588}#)
-                                    #{rest 57589}#
-                                    #{kw 57590}#
-                                    #{body 57591}#
-                                    (cons #{v 57602}# #{vars 57592}#)
-                                    #{r** 57604}#
-                                    #{w** 57605}#
-                                    (cons (syntax->datum #{id 57600}#)
-                                          #{out 57595}#)
-                                    (cons (#{expand 28271}#
-                                            #{i 57601}#
-                                            #{r* 57593}#
-                                            #{w* 57594}#
-                                            #{mod 57207}#)
-                                          #{inits 57596}#)))))))
-                        #{tmp 57598}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp 57597}#))))
-                (if #{rest 57589}#
-                  (let ((#{v 57904}#
-                          (let ((#{id 57914}#
-                                  (if (if (vector? #{rest 57589}#)
-                                        (if (= (vector-length #{rest 57589}#)
-                                               4)
-                                          (eq? (vector-ref #{rest 57589}# 0)
-                                               'syntax-object)
-                                          #f)
-                                        #f)
-                                    (vector-ref #{rest 57589}# 1)
-                                    #{rest 57589}#)))
-                            (gensym
-                              (string-append
-                                (symbol->string #{id 57914}#)
-                                " ")))))
-                    (let ((#{l 57905}#
-                            (#{gen-labels 28241}# (list #{v 57904}#))))
-                      (let ((#{r* 57906}#
-                              (#{extend-var-env 28234}#
-                                #{l 57905}#
-                                (list #{v 57904}#)
-                                #{r* 57593}#)))
-                        (let ((#{w* 57907}#
-                                (#{make-binding-wrap 28252}#
-                                  (list #{rest 57589}#)
-                                  #{l 57905}#
-                                  #{w* 57594}#)))
-                          (#{parse-kw 57212}#
-                            #{req 57587}#
-                            (if (pair? #{out 57595}#)
-                              (reverse #{out 57595}#)
-                              #f)
-                            (syntax->datum #{rest 57589}#)
-                            (if (pair? #{kw 57590}#)
-                              (cdr #{kw 57590}#)
-                              #{kw 57590}#)
-                            #{body 57591}#
-                            (cons #{v 57904}# #{vars 57592}#)
-                            #{r* 57906}#
-                            #{w* 57907}#
-                            (if (pair? #{kw 57590}#) (car #{kw 57590}#) #f)
-                            '()
-                            #{inits 57596}#)))))
-                  (#{parse-kw 57212}#
-                    #{req 57587}#
-                    (if (pair? #{out 57595}#)
-                      (reverse #{out 57595}#)
-                      #f)
-                    #f
-                    (if (pair? #{kw 57590}#)
-                      (cdr #{kw 57590}#)
-                      #{kw 57590}#)
-                    #{body 57591}#
-                    #{vars 57592}#
-                    #{r* 57593}#
-                    #{w* 57594}#
-                    (if (pair? #{kw 57590}#) (car #{kw 57590}#) #f)
-                    '()
-                    #{inits 57596}#)))))
-          (#{parse-kw 57212}#
-            (lambda (#{req 58133}#
-                     #{opt 58134}#
-                     #{rest 58135}#
-                     #{kw 58136}#
-                     #{body 58137}#
-                     #{vars 58138}#
-                     #{r* 58139}#
-                     #{w* 58140}#
-                     #{aok 58141}#
-                     #{out 58142}#
-                     #{inits 58143}#)
-              (if (pair? #{kw 58136}#)
-                (let ((#{tmp 58144}# (car #{kw 58136}#)))
-                  (let ((#{tmp 58145}#
-                          ($sc-dispatch #{tmp 58144}# '(any any any))))
-                    (if #{tmp 58145}#
-                      (@apply
-                        (lambda (#{k 58147}# #{id 58148}# #{i 58149}#)
-                          (let ((#{v 58150}#
-                                  (let ((#{id 58158}#
-                                          (if (if (vector? #{id 58148}#)
-                                                (if (= (vector-length
-                                                         #{id 58148}#)
-                                                       4)
-                                                  (eq? (vector-ref
-                                                         #{id 58148}#
-                                                         0)
-                                                       'syntax-object)
-                                                  #f)
-                                                #f)
-                                            (vector-ref #{id 58148}# 1)
-                                            #{id 58148}#)))
-                                    (gensym
-                                      (string-append
-                                        (symbol->string #{id 58158}#)
-                                        " ")))))
-                            (let ((#{l 58151}#
-                                    (#{gen-labels 28241}# (list #{v 58150}#))))
-                              (let ((#{r** 58152}#
-                                      (#{extend-var-env 28234}#
-                                        #{l 58151}#
-                                        (list #{v 58150}#)
-                                        #{r* 58139}#)))
-                                (let ((#{w** 58153}#
-                                        (#{make-binding-wrap 28252}#
-                                          (list #{id 58148}#)
-                                          #{l 58151}#
-                                          #{w* 58140}#)))
-                                  (#{parse-kw 57212}#
-                                    #{req 58133}#
-                                    #{opt 58134}#
-                                    #{rest 58135}#
-                                    (cdr #{kw 58136}#)
-                                    #{body 58137}#
-                                    (cons #{v 58150}# #{vars 58138}#)
-                                    #{r** 58152}#
-                                    #{w** 58153}#
-                                    #{aok 58141}#
-                                    (cons (list (syntax->datum #{k 58147}#)
-                                                (syntax->datum #{id 58148}#)
-                                                #{v 58150}#)
-                                          #{out 58142}#)
-                                    (cons (#{expand 28271}#
-                                            #{i 58149}#
-                                            #{r* 58139}#
-                                            #{w* 58140}#
-                                            #{mod 57207}#)
-                                          #{inits 58143}#)))))))
-                        #{tmp 58145}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp 58144}#))))
-                (#{parse-body 57213}#
-                  #{req 58133}#
-                  #{opt 58134}#
-                  #{rest 58135}#
-                  (if (if #{aok 58141}#
-                        #{aok 58141}#
-                        (pair? #{out 58142}#))
-                    (cons #{aok 58141}# (reverse #{out 58142}#))
-                    #f)
-                  #{body 58137}#
-                  (reverse #{vars 58138}#)
-                  #{r* 58139}#
-                  #{w* 58140}#
-                  (reverse #{inits 58143}#)
-                  '()))))
-          (#{parse-body 57213}#
-            (lambda (#{req 58461}#
-                     #{opt 58462}#
-                     #{rest 58463}#
-                     #{kw 58464}#
-                     #{body 58465}#
-                     #{vars 58466}#
-                     #{r* 58467}#
-                     #{w* 58468}#
-                     #{inits 58469}#
-                     #{meta 58470}#)
-              (let ((#{tmp 58472}#
-                      ($sc-dispatch
-                        #{body 58465}#
-                        '(any any . each-any))))
-                (if (if #{tmp 58472}#
-                      (@apply
-                        (lambda (#{docstring 58476}# #{e1 58477}# #{e2 58478}#)
-                          (string? (syntax->datum #{docstring 58476}#)))
-                        #{tmp 58472}#)
-                      #f)
-                  (@apply
-                    (lambda (#{docstring 58479}# #{e1 58480}# #{e2 58481}#)
-                      (#{parse-body 57213}#
-                        #{req 58461}#
-                        #{opt 58462}#
-                        #{rest 58463}#
-                        #{kw 58464}#
-                        (cons #{e1 58480}# #{e2 58481}#)
-                        #{vars 58466}#
-                        #{r* 58467}#
-                        #{w* 58468}#
-                        #{inits 58469}#
-                        (append
-                          #{meta 58470}#
-                          (list (cons 'documentation
-                                      (syntax->datum #{docstring 58479}#))))))
-                    #{tmp 58472}#)
-                  (let ((#{tmp 58482}#
-                          ($sc-dispatch
-                            #{body 58465}#
-                            '(#(vector #(each (any . any))) any . each-any))))
-                    (if #{tmp 58482}#
-                      (@apply
-                        (lambda (#{k 58486}#
-                                 #{v 58487}#
-                                 #{e1 58488}#
-                                 #{e2 58489}#)
-                          (#{parse-body 57213}#
-                            #{req 58461}#
-                            #{opt 58462}#
-                            #{rest 58463}#
-                            #{kw 58464}#
-                            (cons #{e1 58488}# #{e2 58489}#)
-                            #{vars 58466}#
-                            #{r* 58467}#
-                            #{w* 58468}#
-                            #{inits 58469}#
-                            (append
-                              #{meta 58470}#
-                              (syntax->datum
-                                (map cons #{k 58486}# #{v 58487}#)))))
-                        #{tmp 58482}#)
-                      (let ((#{tmp 58490}#
-                              ($sc-dispatch #{body 58465}# '(any . each-any))))
-                        (if #{tmp 58490}#
-                          (@apply
-                            (lambda (#{e1 58494}# #{e2 58495}#)
-                              (values
-                                #{meta 58470}#
-                                #{req 58461}#
-                                #{opt 58462}#
-                                #{rest 58463}#
-                                #{kw 58464}#
-                                #{inits 58469}#
-                                #{vars 58466}#
-                                (#{expand-body 28275}#
-                                  (cons #{e1 58494}# #{e2 58495}#)
-                                  (let ((#{x 58507}#
-                                          (begin
-                                            (if (if (pair? #{e 57203}#)
-                                                  #{s 57206}#
-                                                  #f)
-                                              (set-source-properties!
-                                                #{e 57203}#
-                                                #{s 57206}#))
-                                            #{e 57203}#)))
-                                    (if (if (null? (car #{w 57205}#))
-                                          (null? (cdr #{w 57205}#))
-                                          #f)
-                                      #{x 58507}#
-                                      (if (if (vector? #{x 58507}#)
-                                            (if (= (vector-length #{x 58507}#)
-                                                   4)
-                                              (eq? (vector-ref #{x 58507}# 0)
-                                                   'syntax-object)
-                                              #f)
-                                            #f)
-                                        (let ((#{expression 58539}#
-                                                (vector-ref #{x 58507}# 1))
-                                              (#{wrap 58540}#
-                                                (let ((#{w2 58548}#
-                                                        (vector-ref
-                                                          #{x 58507}#
-                                                          2)))
-                                                  (let ((#{m1 58549}#
-                                                          (car #{w 57205}#))
-                                                        (#{s1 58550}#
-                                                          (cdr #{w 57205}#)))
-                                                    (if (null? #{m1 58549}#)
-                                                      (if (null? #{s1 58550}#)
-                                                        #{w2 58548}#
-                                                        (cons (car #{w2 
58548}#)
-                                                              (let ((#{m2 
58565}#
-                                                                      (cdr 
#{w2 58548}#)))
-                                                                (if (null? 
#{m2 58565}#)
-                                                                  #{s1 58550}#
-                                                                  (append
-                                                                    #{s1 
58550}#
-                                                                    #{m2 
58565}#)))))
-                                                      (cons (let ((#{m2 58573}#
-                                                                    (car #{w2 
58548}#)))
-                                                              (if (null? #{m2 
58573}#)
-                                                                #{m1 58549}#
-                                                                (append
-                                                                  #{m1 58549}#
-                                                                  #{m2 
58573}#)))
-                                                            (let ((#{m2 58581}#
-                                                                    (cdr #{w2 
58548}#)))
-                                                              (if (null? #{m2 
58581}#)
-                                                                #{s1 58550}#
-                                                                (append
-                                                                  #{s1 58550}#
-                                                                  #{m2 
58581}#))))))))
-                                              (#{module 58541}#
-                                                (vector-ref #{x 58507}# 3)))
-                                          (vector
-                                            'syntax-object
-                                            #{expression 58539}#
-                                            #{wrap 58540}#
-                                            #{module 58541}#))
-                                        (if (null? #{x 58507}#)
-                                          #{x 58507}#
-                                          (vector
-                                            'syntax-object
-                                            #{x 58507}#
-                                            #{w 57205}#
-                                            #{mod 57207}#)))))
-                                  #{r* 58467}#
-                                  #{w* 58468}#
-                                  #{mod 57207}#)))
-                            #{tmp 58490}#)
-                          (syntax-violation
-                            #f
-                            "source expression failed to match any pattern"
-                            #{body 58465}#))))))))))
-         (let ((#{tmp 57215}#
-                 ($sc-dispatch #{clauses 57209}# '())))
-           (if #{tmp 57215}#
-             (@apply
-               (lambda () (values '() #f))
-               #{tmp 57215}#)
-             (let ((#{tmp 57219}#
-                     ($sc-dispatch
-                       #{clauses 57209}#
-                       '((any any . each-any)
-                         .
-                         #(each (any any . each-any))))))
-               (if #{tmp 57219}#
-                 (@apply
-                   (lambda (#{args 57223}#
-                            #{e1 57224}#
-                            #{e2 57225}#
-                            #{args* 57226}#
-                            #{e1* 57227}#
-                            #{e2* 57228}#)
-                     (call-with-values
-                       (lambda ()
-                         (#{get-formals 57208}# #{args 57223}#))
-                       (lambda (#{req 57229}#
-                                #{opt 57230}#
-                                #{rest 57231}#
-                                #{kw 57232}#)
-                         (call-with-values
-                           (lambda ()
-                             (#{parse-req 57210}#
-                               #{req 57229}#
-                               #{opt 57230}#
-                               #{rest 57231}#
-                               #{kw 57232}#
-                               (cons #{e1 57224}# #{e2 57225}#)))
-                           (lambda (#{meta 57301}#
-                                    #{req 57302}#
-                                    #{opt 57303}#
-                                    #{rest 57304}#
-                                    #{kw 57305}#
-                                    #{inits 57306}#
-                                    #{vars 57307}#
-                                    #{body 57308}#)
-                             (call-with-values
-                               (lambda ()
-                                 (#{expand-lambda-case 28283}#
-                                   #{e 57203}#
-                                   #{r 57204}#
-                                   #{w 57205}#
-                                   #{s 57206}#
-                                   #{mod 57207}#
-                                   #{get-formals 57208}#
-                                   (map (lambda (#{tmp 26711 57309}#
-                                                 #{tmp 26710 57310}#
-                                                 #{tmp 26709 57311}#)
-                                          (cons #{tmp 26709 57311}#
-                                                (cons #{tmp 26710 57310}#
-                                                      #{tmp 26711 57309}#)))
-                                        #{e2* 57228}#
-                                        #{e1* 57227}#
-                                        #{args* 57226}#)))
-                               (lambda (#{meta* 57312}# #{else* 57313}#)
-                                 (values
-                                   (append #{meta 57301}# #{meta* 57312}#)
-                                   (make-struct/no-tail
-                                     (vector-ref %expanded-vtables 15)
-                                     #{s 57206}#
-                                     #{req 57302}#
-                                     #{opt 57303}#
-                                     #{rest 57304}#
-                                     #{kw 57305}#
-                                     #{inits 57306}#
-                                     #{vars 57307}#
-                                     #{body 57308}#
-                                     #{else* 57313}#)))))))))
-                   #{tmp 57219}#)
-                 (syntax-violation
-                   #f
-                   "source expression failed to match any pattern"
-                   #{clauses 57209}#))))))))
-   (#{strip 28284}#
-     (lambda (#{x 58608}# #{w 58609}#)
-       (if (memq 'top (car #{w 58609}#))
-         #{x 58608}#
-         (letrec*
-           ((#{f 58610}#
-              (lambda (#{x 58613}#)
-                (if (if (vector? #{x 58613}#)
-                      (if (= (vector-length #{x 58613}#) 4)
-                        (eq? (vector-ref #{x 58613}# 0) 'syntax-object)
-                        #f)
-                      #f)
-                  (#{strip 28284}#
-                    (vector-ref #{x 58613}# 1)
-                    (vector-ref #{x 58613}# 2))
-                  (if (pair? #{x 58613}#)
-                    (let ((#{a 58632}# (#{f 58610}# (car #{x 58613}#)))
-                          (#{d 58633}# (#{f 58610}# (cdr #{x 58613}#))))
-                      (if (if (eq? #{a 58632}# (car #{x 58613}#))
-                            (eq? #{d 58633}# (cdr #{x 58613}#))
-                            #f)
-                        #{x 58613}#
-                        (cons #{a 58632}# #{d 58633}#)))
-                    (if (vector? #{x 58613}#)
-                      (let ((#{old 58636}# (vector->list #{x 58613}#)))
-                        (let ((#{new 58637}# (map #{f 58610}# #{old 58636}#)))
-                          (letrec*
-                            ((#{lp 58638}#
-                               (lambda (#{l1 58735}# #{l2 58736}#)
-                                 (if (null? #{l1 58735}#)
-                                   #{x 58613}#
-                                   (if (eq? (car #{l1 58735}#)
-                                            (car #{l2 58736}#))
-                                     (#{lp 58638}#
-                                       (cdr #{l1 58735}#)
-                                       (cdr #{l2 58736}#))
-                                     (list->vector #{new 58637}#))))))
-                            (#{lp 58638}# #{old 58636}# #{new 58637}#))))
-                      #{x 58613}#))))))
-           (#{f 58610}# #{x 58608}#)))))
-   (#{gen-var 28285}#
-     (lambda (#{id 57357}#)
-       (let ((#{id 57358}#
-               (if (if (vector? #{id 57357}#)
-                     (if (= (vector-length #{id 57357}#) 4)
-                       (eq? (vector-ref #{id 57357}# 0) 'syntax-object)
-                       #f)
-                     #f)
-                 (vector-ref #{id 57357}# 1)
-                 #{id 57357}#)))
-         (gensym
-           (string-append (symbol->string #{id 57358}#) " ")))))
-   (#{lambda-var-list 28286}#
-     (lambda (#{vars 58737}#)
-       (letrec*
-         ((#{lvl 58738}#
-            (lambda (#{vars 58741}# #{ls 58742}# #{w 58743}#)
-              (if (pair? #{vars 58741}#)
-                (#{lvl 58738}#
-                  (cdr #{vars 58741}#)
-                  (cons (let ((#{x 58747}# (car #{vars 58741}#)))
-                          (if (if (null? (car #{w 58743}#))
-                                (null? (cdr #{w 58743}#))
-                                #f)
-                            #{x 58747}#
-                            (if (if (vector? #{x 58747}#)
-                                  (if (= (vector-length #{x 58747}#) 4)
-                                    (eq? (vector-ref #{x 58747}# 0)
-                                         'syntax-object)
-                                    #f)
-                                  #f)
-                              (let ((#{expression 58765}#
-                                      (vector-ref #{x 58747}# 1))
-                                    (#{wrap 58766}#
-                                      (let ((#{w2 58774}#
-                                              (vector-ref #{x 58747}# 2)))
-                                        (let ((#{m1 58775}# (car #{w 58743}#))
-                                              (#{s1 58776}# (cdr #{w 58743}#)))
-                                          (if (null? #{m1 58775}#)
-                                            (if (null? #{s1 58776}#)
-                                              #{w2 58774}#
-                                              (cons (car #{w2 58774}#)
-                                                    (let ((#{m2 58791}#
-                                                            (cdr #{w2 
58774}#)))
-                                                      (if (null? #{m2 58791}#)
-                                                        #{s1 58776}#
-                                                        (append
-                                                          #{s1 58776}#
-                                                          #{m2 58791}#)))))
-                                            (cons (let ((#{m2 58799}#
-                                                          (car #{w2 58774}#)))
-                                                    (if (null? #{m2 58799}#)
-                                                      #{m1 58775}#
-                                                      (append
-                                                        #{m1 58775}#
-                                                        #{m2 58799}#)))
-                                                  (let ((#{m2 58807}#
-                                                          (cdr #{w2 58774}#)))
-                                                    (if (null? #{m2 58807}#)
-                                                      #{s1 58776}#
-                                                      (append
-                                                        #{s1 58776}#
-                                                        #{m2 58807}#))))))))
-                                    (#{module 58767}#
-                                      (vector-ref #{x 58747}# 3)))
-                                (vector
-                                  'syntax-object
-                                  #{expression 58765}#
-                                  #{wrap 58766}#
-                                  #{module 58767}#))
-                              (if (null? #{x 58747}#)
-                                #{x 58747}#
-                                (vector
-                                  'syntax-object
-                                  #{x 58747}#
-                                  #{w 58743}#
-                                  #f)))))
-                        #{ls 58742}#)
-                  #{w 58743}#)
-                (if (if (symbol? #{vars 58741}#)
-                      #t
-                      (if (if (vector? #{vars 58741}#)
-                            (if (= (vector-length #{vars 58741}#) 4)
-                              (eq? (vector-ref #{vars 58741}# 0)
-                                   'syntax-object)
-                              #f)
-                            #f)
-                        (symbol? (vector-ref #{vars 58741}# 1))
-                        #f))
-                  (cons (if (if (null? (car #{w 58743}#))
-                              (null? (cdr #{w 58743}#))
-                              #f)
-                          #{vars 58741}#
-                          (if (if (vector? #{vars 58741}#)
-                                (if (= (vector-length #{vars 58741}#) 4)
-                                  (eq? (vector-ref #{vars 58741}# 0)
-                                       'syntax-object)
-                                  #f)
-                                #f)
-                            (let ((#{expression 58877}#
-                                    (vector-ref #{vars 58741}# 1))
-                                  (#{wrap 58878}#
-                                    (let ((#{w2 58888}#
-                                            (vector-ref #{vars 58741}# 2)))
-                                      (let ((#{m1 58889}# (car #{w 58743}#))
-                                            (#{s1 58890}# (cdr #{w 58743}#)))
-                                        (if (null? #{m1 58889}#)
-                                          (if (null? #{s1 58890}#)
-                                            #{w2 58888}#
-                                            (cons (car #{w2 58888}#)
-                                                  (let ((#{m2 58907}#
-                                                          (cdr #{w2 58888}#)))
-                                                    (if (null? #{m2 58907}#)
-                                                      #{s1 58890}#
-                                                      (append
-                                                        #{s1 58890}#
-                                                        #{m2 58907}#)))))
-                                          (cons (let ((#{m2 58915}#
-                                                        (car #{w2 58888}#)))
-                                                  (if (null? #{m2 58915}#)
-                                                    #{m1 58889}#
-                                                    (append
-                                                      #{m1 58889}#
-                                                      #{m2 58915}#)))
-                                                (let ((#{m2 58923}#
-                                                        (cdr #{w2 58888}#)))
-                                                  (if (null? #{m2 58923}#)
-                                                    #{s1 58890}#
-                                                    (append
-                                                      #{s1 58890}#
-                                                      #{m2 58923}#))))))))
-                                  (#{module 58879}#
-                                    (vector-ref #{vars 58741}# 3)))
-                              (vector
-                                'syntax-object
-                                #{expression 58877}#
-                                #{wrap 58878}#
-                                #{module 58879}#))
-                            (if (null? #{vars 58741}#)
-                              #{vars 58741}#
-                              (vector
-                                'syntax-object
-                                #{vars 58741}#
-                                #{w 58743}#
-                                #f))))
-                        #{ls 58742}#)
-                  (if (null? #{vars 58741}#)
-                    #{ls 58742}#
-                    (if (if (vector? #{vars 58741}#)
-                          (if (= (vector-length #{vars 58741}#) 4)
-                            (eq? (vector-ref #{vars 58741}# 0)
-                                 'syntax-object)
-                            #f)
-                          #f)
-                      (#{lvl 58738}#
-                        (vector-ref #{vars 58741}# 1)
-                        #{ls 58742}#
-                        (let ((#{w2 58964}# (vector-ref #{vars 58741}# 2)))
-                          (let ((#{m1 58965}# (car #{w 58743}#))
-                                (#{s1 58966}# (cdr #{w 58743}#)))
-                            (if (null? #{m1 58965}#)
-                              (if (null? #{s1 58966}#)
-                                #{w2 58964}#
-                                (cons (car #{w2 58964}#)
-                                      (let ((#{m2 58977}# (cdr #{w2 58964}#)))
-                                        (if (null? #{m2 58977}#)
-                                          #{s1 58966}#
-                                          (append
-                                            #{s1 58966}#
-                                            #{m2 58977}#)))))
-                              (cons (let ((#{m2 58985}# (car #{w2 58964}#)))
-                                      (if (null? #{m2 58985}#)
-                                        #{m1 58965}#
-                                        (append #{m1 58965}# #{m2 58985}#)))
-                                    (let ((#{m2 58993}# (cdr #{w2 58964}#)))
-                                      (if (null? #{m2 58993}#)
-                                        #{s1 58966}#
-                                        (append
-                                          #{s1 58966}#
-                                          #{m2 58993}#))))))))
-                      (cons #{vars 58741}# #{ls 58742}#))))))))
-         (#{lvl 58738}# #{vars 58737}# '() '(()))))))
-  (begin
-    (module-define!
-      (current-module)
-      'letrec-syntax
-      (make-syntax-transformer
-        'letrec-syntax
-        'local-syntax
-        #t))
-    (module-define!
-      (current-module)
-      'let-syntax
-      (make-syntax-transformer
-        'let-syntax
-        'local-syntax
-        #f))
-    (#{global-extend 28236}#
-      'core
-      'syntax-parameterize
-      (lambda (#{e 28413}#
-               #{r 28414}#
-               #{w 28415}#
-               #{s 28416}#
-               #{mod 28417}#)
-        (let ((#{tmp 28419}#
-                ($sc-dispatch
-                  #{e 28413}#
-                  '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 28419}#
-                (@apply
-                  (lambda (#{var 28423}#
-                           #{val 28424}#
-                           #{e1 28425}#
-                           #{e2 28426}#)
-                    (#{valid-bound-ids? 28261}# #{var 28423}#))
-                  #{tmp 28419}#)
-                #f)
-            (@apply
-              (lambda (#{var 28511}#
-                       #{val 28512}#
-                       #{e1 28513}#
-                       #{e2 28514}#)
-                (let ((#{names 28515}#
-                        (map (lambda (#{x 28855}#)
-                               (call-with-values
-                                 (lambda ()
-                                   (#{resolve-identifier 28258}#
-                                     #{x 28855}#
-                                     #{w 28415}#
-                                     #{r 28414}#
-                                     #{mod 28417}#
-                                     #f))
-                                 (lambda (#{type 28858}#
-                                          #{value 28859}#
-                                          #{mod 28860}#)
-                                   (if (eqv? #{type 28858}# 'displaced-lexical)
-                                     (syntax-violation
-                                       'syntax-parameterize
-                                       "identifier out of context"
-                                       #{e 28413}#
-                                       (let ((#{x 28873}#
-                                               (begin
-                                                 (if (if (pair? #{x 28855}#)
-                                                       #{s 28416}#
-                                                       #f)
-                                                   (set-source-properties!
-                                                     #{x 28855}#
-                                                     #{s 28416}#))
-                                                 #{x 28855}#)))
-                                         (if (if (null? (car #{w 28415}#))
-                                               (null? (cdr #{w 28415}#))
-                                               #f)
-                                           #{x 28873}#
-                                           (if (if (vector? #{x 28873}#)
-                                                 (if (= (vector-length
-                                                          #{x 28873}#)
-                                                        4)
-                                                   (eq? (vector-ref
-                                                          #{x 28873}#
-                                                          0)
-                                                        'syntax-object)
-                                                   #f)
-                                                 #f)
-                                             (let ((#{expression 28905}#
-                                                     (vector-ref
-                                                       #{x 28873}#
-                                                       1))
-                                                   (#{wrap 28906}#
-                                                     (let ((#{w2 28914}#
-                                                             (vector-ref
-                                                               #{x 28873}#
-                                                               2)))
-                                                       (let ((#{m1 28915}#
-                                                               (car #{w 
28415}#))
-                                                             (#{s1 28916}#
-                                                               (cdr #{w 
28415}#)))
-                                                         (if (null? #{m1 
28915}#)
-                                                           (if (null? #{s1 
28916}#)
-                                                             #{w2 28914}#
-                                                             (cons (car #{w2 
28914}#)
-                                                                   (let ((#{m2 
28931}#
-                                                                           
(cdr #{w2 28914}#)))
-                                                                     (if 
(null? #{m2 28931}#)
-                                                                       #{s1 
28916}#
-                                                                       (append
-                                                                         #{s1 
28916}#
-                                                                         #{m2 
28931}#)))))
-                                                           (cons (let ((#{m2 
28939}#
-                                                                         (car 
#{w2 28914}#)))
-                                                                   (if (null? 
#{m2 28939}#)
-                                                                     #{m1 
28915}#
-                                                                     (append
-                                                                       #{m1 
28915}#
-                                                                       #{m2 
28939}#)))
-                                                                 (let ((#{m2 
28947}#
-                                                                         (cdr 
#{w2 28914}#)))
-                                                                   (if (null? 
#{m2 28947}#)
-                                                                     #{s1 
28916}#
-                                                                     (append
-                                                                       #{s1 
28916}#
-                                                                       #{m2 
28947}#))))))))
-                                                   (#{module 28907}#
-                                                     (vector-ref
-                                                       #{x 28873}#
-                                                       3)))
-                                               (vector
-                                                 'syntax-object
-                                                 #{expression 28905}#
-                                                 #{wrap 28906}#
-                                                 #{module 28907}#))
-                                             (if (null? #{x 28873}#)
-                                               #{x 28873}#
-                                               (vector
-                                                 'syntax-object
-                                                 #{x 28873}#
-                                                 #{w 28415}#
-                                                 #{mod 28860}#))))))
-                                     (if (eqv? #{type 28858}#
-                                               'syntax-parameter)
-                                       #{value 28859}#
-                                       (syntax-violation
-                                         'syntax-parameterize
-                                         "invalid syntax parameter"
-                                         #{e 28413}#
-                                         (let ((#{x 28974}#
-                                                 (begin
-                                                   (if (if (pair? #{x 28855}#)
-                                                         #{s 28416}#
-                                                         #f)
-                                                     (set-source-properties!
-                                                       #{x 28855}#
-                                                       #{s 28416}#))
-                                                   #{x 28855}#)))
-                                           (if (if (null? (car #{w 28415}#))
-                                                 (null? (cdr #{w 28415}#))
-                                                 #f)
-                                             #{x 28974}#
-                                             (if (if (vector? #{x 28974}#)
-                                                   (if (= (vector-length
-                                                            #{x 28974}#)
-                                                          4)
-                                                     (eq? (vector-ref
-                                                            #{x 28974}#
-                                                            0)
-                                                          'syntax-object)
-                                                     #f)
-                                                   #f)
-                                               (let ((#{expression 29006}#
-                                                       (vector-ref
-                                                         #{x 28974}#
-                                                         1))
-                                                     (#{wrap 29007}#
-                                                       (let ((#{w2 29015}#
-                                                               (vector-ref
-                                                                 #{x 28974}#
-                                                                 2)))
-                                                         (let ((#{m1 29016}#
-                                                                 (car #{w 
28415}#))
-                                                               (#{s1 29017}#
-                                                                 (cdr #{w 
28415}#)))
-                                                           (if (null? #{m1 
29016}#)
-                                                             (if (null? #{s1 
29017}#)
-                                                               #{w2 29015}#
-                                                               (cons (car #{w2 
29015}#)
-                                                                     (let 
((#{m2 29032}#
-                                                                             
(cdr #{w2 29015}#)))
-                                                                       (if 
(null? #{m2 29032}#)
-                                                                         #{s1 
29017}#
-                                                                         
(append
-                                                                           
#{s1 29017}#
-                                                                           
#{m2 29032}#)))))
-                                                             (cons (let ((#{m2 
29040}#
-                                                                           
(car #{w2 29015}#)))
-                                                                     (if 
(null? #{m2 29040}#)
-                                                                       #{m1 
29016}#
-                                                                       (append
-                                                                         #{m1 
29016}#
-                                                                         #{m2 
29040}#)))
-                                                                   (let ((#{m2 
29048}#
-                                                                           
(cdr #{w2 29015}#)))
-                                                                     (if 
(null? #{m2 29048}#)
-                                                                       #{s1 
29017}#
-                                                                       (append
-                                                                         #{s1 
29017}#
-                                                                         #{m2 
29048}#))))))))
-                                                     (#{module 29008}#
-                                                       (vector-ref
-                                                         #{x 28974}#
-                                                         3)))
-                                                 (vector
-                                                   'syntax-object
-                                                   #{expression 29006}#
-                                                   #{wrap 29007}#
-                                                   #{module 29008}#))
-                                               (if (null? #{x 28974}#)
-                                                 #{x 28974}#
-                                                 (vector
-                                                   'syntax-object
-                                                   #{x 28974}#
-                                                   #{w 28415}#
-                                                   #{mod 28860}#)))))))))))
-                             #{var 28511}#))
-                      (#{bindings 28516}#
-                        (let ((#{trans-r 29063}#
-                                (#{macros-only-env 28235}# #{r 28414}#)))
-                          (map (lambda (#{x 29064}#)
-                                 (cons 'macro
-                                       (#{eval-local-transformer 28277}#
-                                         (#{expand 28271}#
-                                           #{x 29064}#
-                                           #{trans-r 29063}#
-                                           #{w 28415}#
-                                           #{mod 28417}#)
-                                         #{mod 28417}#)))
-                               #{val 28512}#))))
-                  (#{expand-body 28275}#
-                    (cons #{e1 28513}# #{e2 28514}#)
-                    (let ((#{x 28528}#
-                            (begin
-                              (if (if (pair? #{e 28413}#) #{s 28416}# #f)
-                                (set-source-properties!
-                                  #{e 28413}#
-                                  #{s 28416}#))
-                              #{e 28413}#)))
-                      (if (if (null? (car #{w 28415}#))
-                            (null? (cdr #{w 28415}#))
-                            #f)
-                        #{x 28528}#
-                        (if (if (vector? #{x 28528}#)
-                              (if (= (vector-length #{x 28528}#) 4)
-                                (eq? (vector-ref #{x 28528}# 0) 'syntax-object)
-                                #f)
-                              #f)
-                          (let ((#{expression 28560}#
-                                  (vector-ref #{x 28528}# 1))
-                                (#{wrap 28561}#
-                                  (let ((#{w2 28569}#
-                                          (vector-ref #{x 28528}# 2)))
-                                    (let ((#{m1 28570}# (car #{w 28415}#))
-                                          (#{s1 28571}# (cdr #{w 28415}#)))
-                                      (if (null? #{m1 28570}#)
-                                        (if (null? #{s1 28571}#)
-                                          #{w2 28569}#
-                                          (cons (car #{w2 28569}#)
-                                                (let ((#{m2 28586}#
-                                                        (cdr #{w2 28569}#)))
-                                                  (if (null? #{m2 28586}#)
-                                                    #{s1 28571}#
-                                                    (append
-                                                      #{s1 28571}#
-                                                      #{m2 28586}#)))))
-                                        (cons (let ((#{m2 28594}#
-                                                      (car #{w2 28569}#)))
-                                                (if (null? #{m2 28594}#)
-                                                  #{m1 28570}#
-                                                  (append
-                                                    #{m1 28570}#
-                                                    #{m2 28594}#)))
-                                              (let ((#{m2 28602}#
-                                                      (cdr #{w2 28569}#)))
-                                                (if (null? #{m2 28602}#)
-                                                  #{s1 28571}#
-                                                  (append
-                                                    #{s1 28571}#
-                                                    #{m2 28602}#))))))))
-                                (#{module 28562}# (vector-ref #{x 28528}# 3)))
-                            (vector
-                              'syntax-object
-                              #{expression 28560}#
-                              #{wrap 28561}#
-                              #{module 28562}#))
-                          (if (null? #{x 28528}#)
-                            #{x 28528}#
-                            (vector
-                              'syntax-object
-                              #{x 28528}#
-                              #{w 28415}#
-                              #{mod 28417}#)))))
-                    (#{extend-env 28233}#
-                      #{names 28515}#
-                      #{bindings 28516}#
-                      #{r 28414}#)
-                    #{w 28415}#
-                    #{mod 28417}#)))
-              #{tmp 28419}#)
-            (syntax-violation
-              'syntax-parameterize
-              "bad syntax"
-              (let ((#{x 29284}#
-                      (begin
-                        (if (if (pair? #{e 28413}#) #{s 28416}# #f)
-                          (set-source-properties! #{e 28413}# #{s 28416}#))
-                        #{e 28413}#)))
-                (if (if (null? (car #{w 28415}#))
-                      (null? (cdr #{w 28415}#))
-                      #f)
-                  #{x 29284}#
-                  (if (if (vector? #{x 29284}#)
-                        (if (= (vector-length #{x 29284}#) 4)
-                          (eq? (vector-ref #{x 29284}# 0) 'syntax-object)
-                          #f)
-                        #f)
-                    (let ((#{expression 29316}# (vector-ref #{x 29284}# 1))
-                          (#{wrap 29317}#
-                            (let ((#{w2 29325}# (vector-ref #{x 29284}# 2)))
-                              (let ((#{m1 29326}# (car #{w 28415}#))
-                                    (#{s1 29327}# (cdr #{w 28415}#)))
-                                (if (null? #{m1 29326}#)
-                                  (if (null? #{s1 29327}#)
-                                    #{w2 29325}#
-                                    (cons (car #{w2 29325}#)
-                                          (let ((#{m2 29342}#
-                                                  (cdr #{w2 29325}#)))
-                                            (if (null? #{m2 29342}#)
-                                              #{s1 29327}#
-                                              (append
-                                                #{s1 29327}#
-                                                #{m2 29342}#)))))
-                                  (cons (let ((#{m2 29350}#
-                                                (car #{w2 29325}#)))
-                                          (if (null? #{m2 29350}#)
-                                            #{m1 29326}#
-                                            (append
-                                              #{m1 29326}#
-                                              #{m2 29350}#)))
-                                        (let ((#{m2 29358}#
-                                                (cdr #{w2 29325}#)))
-                                          (if (null? #{m2 29358}#)
-                                            #{s1 29327}#
-                                            (append
-                                              #{s1 29327}#
-                                              #{m2 29358}#))))))))
-                          (#{module 29318}# (vector-ref #{x 29284}# 3)))
-                      (vector
-                        'syntax-object
-                        #{expression 29316}#
-                        #{wrap 29317}#
-                        #{module 29318}#))
-                    (if (null? #{x 29284}#)
-                      #{x 29284}#
-                      (vector
-                        'syntax-object
-                        #{x 29284}#
-                        #{w 28415}#
-                        #{mod 28417}#))))))))))
-    (module-define!
-      (current-module)
-      'quote
-      (make-syntax-transformer
-        'quote
-        'core
-        (lambda (#{e 29386}#
-                 #{r 29387}#
-                 #{w 29388}#
-                 #{s 29389}#
-                 #{mod 29390}#)
-          (let ((#{tmp 29392}#
-                  ($sc-dispatch #{e 29386}# '(_ any))))
-            (if #{tmp 29392}#
-              (@apply
-                (lambda (#{e 29395}#)
-                  (let ((#{exp 29399}#
-                          (#{strip 28284}# #{e 29395}# #{w 29388}#)))
-                    (make-struct/no-tail
-                      (vector-ref %expanded-vtables 1)
-                      #{s 29389}#
-                      #{exp 29399}#)))
-                #{tmp 29392}#)
-              (syntax-violation
-                'quote
-                "bad syntax"
-                (let ((#{x 29413}#
-                        (begin
-                          (if (if (pair? #{e 29386}#) #{s 29389}# #f)
-                            (set-source-properties! #{e 29386}# #{s 29389}#))
-                          #{e 29386}#)))
-                  (if (if (null? (car #{w 29388}#))
-                        (null? (cdr #{w 29388}#))
-                        #f)
-                    #{x 29413}#
-                    (if (if (vector? #{x 29413}#)
-                          (if (= (vector-length #{x 29413}#) 4)
-                            (eq? (vector-ref #{x 29413}# 0) 'syntax-object)
-                            #f)
-                          #f)
-                      (let ((#{expression 29445}# (vector-ref #{x 29413}# 1))
-                            (#{wrap 29446}#
-                              (let ((#{w2 29454}# (vector-ref #{x 29413}# 2)))
-                                (let ((#{m1 29455}# (car #{w 29388}#))
-                                      (#{s1 29456}# (cdr #{w 29388}#)))
-                                  (if (null? #{m1 29455}#)
-                                    (if (null? #{s1 29456}#)
-                                      #{w2 29454}#
-                                      (cons (car #{w2 29454}#)
-                                            (let ((#{m2 29471}#
-                                                    (cdr #{w2 29454}#)))
-                                              (if (null? #{m2 29471}#)
-                                                #{s1 29456}#
-                                                (append
-                                                  #{s1 29456}#
-                                                  #{m2 29471}#)))))
-                                    (cons (let ((#{m2 29479}#
-                                                  (car #{w2 29454}#)))
-                                            (if (null? #{m2 29479}#)
-                                              #{m1 29455}#
-                                              (append
-                                                #{m1 29455}#
-                                                #{m2 29479}#)))
-                                          (let ((#{m2 29487}#
-                                                  (cdr #{w2 29454}#)))
-                                            (if (null? #{m2 29487}#)
-                                              #{s1 29456}#
-                                              (append
-                                                #{s1 29456}#
-                                                #{m2 29487}#))))))))
-                            (#{module 29447}# (vector-ref #{x 29413}# 3)))
-                        (vector
-                          'syntax-object
-                          #{expression 29445}#
-                          #{wrap 29446}#
-                          #{module 29447}#))
-                      (if (null? #{x 29413}#)
-                        #{x 29413}#
-                        (vector
-                          'syntax-object
-                          #{x 29413}#
-                          #{w 29388}#
-                          #{mod 29390}#)))))))))))
-    (#{global-extend 28236}#
-      'core
-      'syntax
-      (letrec*
-        ((#{gen-syntax 29705}#
-           (lambda (#{src 30136}#
-                    #{e 30137}#
-                    #{r 30138}#
-                    #{maps 30139}#
-                    #{ellipsis? 30140}#
-                    #{mod 30141}#)
-             (if (if (symbol? #{e 30137}#)
-                   #t
-                   (if (if (vector? #{e 30137}#)
-                         (if (= (vector-length #{e 30137}#) 4)
-                           (eq? (vector-ref #{e 30137}# 0) 'syntax-object)
-                           #f)
-                         #f)
-                     (symbol? (vector-ref #{e 30137}# 1))
-                     #f))
-               (call-with-values
-                 (lambda ()
-                   (#{resolve-identifier 28258}#
-                     #{e 30137}#
-                     '(())
-                     #{r 30138}#
-                     #{mod 30141}#
-                     #f))
-                 (lambda (#{type 30170}# #{value 30171}# #{mod 30172}#)
-                   (if (eqv? #{type 30170}# 'syntax)
-                     (call-with-values
-                       (lambda ()
-                         (#{gen-ref 29706}#
-                           #{src 30136}#
-                           (car #{value 30171}#)
-                           (cdr #{value 30171}#)
-                           #{maps 30139}#))
-                       (lambda (#{var 30178}# #{maps 30179}#)
-                         (values (list 'ref #{var 30178}#) #{maps 30179}#)))
-                     (if (#{ellipsis? 30140}# #{e 30137}#)
-                       (syntax-violation
-                         'syntax
-                         "misplaced ellipsis"
-                         #{src 30136}#)
-                       (values (list 'quote #{e 30137}#) #{maps 30139}#)))))
-               (let ((#{tmp 30181}#
-                       ($sc-dispatch #{e 30137}# '(any any))))
-                 (if (if #{tmp 30181}#
-                       (@apply
-                         (lambda (#{dots 30185}# #{e 30186}#)
-                           (#{ellipsis? 30140}# #{dots 30185}#))
-                         #{tmp 30181}#)
-                       #f)
-                   (@apply
-                     (lambda (#{dots 30187}# #{e 30188}#)
-                       (#{gen-syntax 29705}#
-                         #{src 30136}#
-                         #{e 30188}#
-                         #{r 30138}#
-                         #{maps 30139}#
-                         (lambda (#{x 30189}#) #f)
-                         #{mod 30141}#))
-                     #{tmp 30181}#)
-                   (let ((#{tmp 30190}#
-                           ($sc-dispatch #{e 30137}# '(any any . any))))
-                     (if (if #{tmp 30190}#
-                           (@apply
-                             (lambda (#{x 30194}# #{dots 30195}# #{y 30196}#)
-                               (#{ellipsis? 30140}# #{dots 30195}#))
-                             #{tmp 30190}#)
-                           #f)
-                       (@apply
-                         (lambda (#{x 30197}# #{dots 30198}# #{y 30199}#)
-                           (letrec*
-                             ((#{f 30200}#
-                                (lambda (#{y 30208}# #{k 30209}#)
-                                  (let ((#{tmp 30211}#
-                                          ($sc-dispatch
-                                            #{y 30208}#
-                                            '(any . any))))
-                                    (if (if #{tmp 30211}#
-                                          (@apply
-                                            (lambda (#{dots 30215}#
-                                                     #{y 30216}#)
-                                              (#{ellipsis? 30140}#
-                                                #{dots 30215}#))
-                                            #{tmp 30211}#)
-                                          #f)
-                                      (@apply
-                                        (lambda (#{dots 30217}# #{y 30218}#)
-                                          (#{f 30200}#
-                                            #{y 30218}#
-                                            (lambda (#{maps 30219}#)
-                                              (call-with-values
-                                                (lambda ()
-                                                  (#{k 30209}#
-                                                    (cons '() #{maps 30219}#)))
-                                                (lambda (#{x 30220}#
-                                                         #{maps 30221}#)
-                                                  (if (null? (car #{maps 
30221}#))
-                                                    (syntax-violation
-                                                      'syntax
-                                                      "extra ellipsis"
-                                                      #{src 30136}#)
-                                                    (values
-                                                      (let ((#{map-env 30225}#
-                                                              (car #{maps 
30221}#)))
-                                                        (list 'apply
-                                                              '(primitive
-                                                                 append)
-                                                              (#{gen-map 
29708}#
-                                                                #{x 30220}#
-                                                                #{map-env 
30225}#)))
-                                                      (cdr #{maps 
30221}#))))))))
-                                        #{tmp 30211}#)
-                                      (call-with-values
-                                        (lambda ()
-                                          (#{gen-syntax 29705}#
-                                            #{src 30136}#
-                                            #{y 30208}#
-                                            #{r 30138}#
-                                            #{maps 30139}#
-                                            #{ellipsis? 30140}#
-                                            #{mod 30141}#))
-                                        (lambda (#{y 30228}# #{maps 30229}#)
-                                          (call-with-values
-                                            (lambda ()
-                                              (#{k 30209}# #{maps 30229}#))
-                                            (lambda (#{x 30230}#
-                                                     #{maps 30231}#)
-                                              (values
-                                                (if (equal? #{y 30228}# ''())
-                                                  #{x 30230}#
-                                                  (list 'append
-                                                        #{x 30230}#
-                                                        #{y 30228}#))
-                                                #{maps 30231}#))))))))))
-                             (#{f 30200}#
-                               #{y 30199}#
-                               (lambda (#{maps 30203}#)
-                                 (call-with-values
-                                   (lambda ()
-                                     (#{gen-syntax 29705}#
-                                       #{src 30136}#
-                                       #{x 30197}#
-                                       #{r 30138}#
-                                       (cons '() #{maps 30203}#)
-                                       #{ellipsis? 30140}#
-                                       #{mod 30141}#))
-                                   (lambda (#{x 30204}# #{maps 30205}#)
-                                     (if (null? (car #{maps 30205}#))
-                                       (syntax-violation
-                                         'syntax
-                                         "extra ellipsis"
-                                         #{src 30136}#)
-                                       (values
-                                         (#{gen-map 29708}#
-                                           #{x 30204}#
-                                           (car #{maps 30205}#))
-                                         (cdr #{maps 30205}#)))))))))
-                         #{tmp 30190}#)
-                       (let ((#{tmp 30247}#
-                               ($sc-dispatch #{e 30137}# '(any . any))))
-                         (if #{tmp 30247}#
-                           (@apply
-                             (lambda (#{x 30251}# #{y 30252}#)
-                               (call-with-values
-                                 (lambda ()
-                                   (#{gen-syntax 29705}#
-                                     #{src 30136}#
-                                     #{x 30251}#
-                                     #{r 30138}#
-                                     #{maps 30139}#
-                                     #{ellipsis? 30140}#
-                                     #{mod 30141}#))
-                                 (lambda (#{x 30253}# #{maps 30254}#)
-                                   (call-with-values
-                                     (lambda ()
-                                       (#{gen-syntax 29705}#
-                                         #{src 30136}#
-                                         #{y 30252}#
-                                         #{r 30138}#
-                                         #{maps 30254}#
-                                         #{ellipsis? 30140}#
-                                         #{mod 30141}#))
-                                     (lambda (#{y 30255}# #{maps 30256}#)
-                                       (values
-                                         (let ((#{atom-key 30261}#
-                                                 (car #{y 30255}#)))
-                                           (if (eqv? #{atom-key 30261}# 'quote)
-                                             (if (eq? (car #{x 30253}#) 'quote)
-                                               (list 'quote
-                                                     (cons (car (cdr #{x 
30253}#))
-                                                           (car (cdr #{y 
30255}#))))
-                                               (if (eq? (car (cdr #{y 30255}#))
-                                                        '())
-                                                 (list 'list #{x 30253}#)
-                                                 (list 'cons
-                                                       #{x 30253}#
-                                                       #{y 30255}#)))
-                                             (if (eqv? #{atom-key 30261}#
-                                                       'list)
-                                               (cons 'list
-                                                     (cons #{x 30253}#
-                                                           (cdr #{y 30255}#)))
-                                               (list 'cons
-                                                     #{x 30253}#
-                                                     #{y 30255}#))))
-                                         #{maps 30256}#))))))
-                             #{tmp 30247}#)
-                           (let ((#{tmp 30290}#
-                                   ($sc-dispatch
-                                     #{e 30137}#
-                                     '#(vector (any . each-any)))))
-                             (if #{tmp 30290}#
-                               (@apply
-                                 (lambda (#{e1 30294}# #{e2 30295}#)
-                                   (call-with-values
-                                     (lambda ()
-                                       (#{gen-syntax 29705}#
-                                         #{src 30136}#
-                                         (cons #{e1 30294}# #{e2 30295}#)
-                                         #{r 30138}#
-                                         #{maps 30139}#
-                                         #{ellipsis? 30140}#
-                                         #{mod 30141}#))
-                                     (lambda (#{e 30296}# #{maps 30297}#)
-                                       (values
-                                         (if (eq? (car #{e 30296}#) 'list)
-                                           (cons 'vector (cdr #{e 30296}#))
-                                           (if (eq? (car #{e 30296}#) 'quote)
-                                             (list 'quote
-                                                   (list->vector
-                                                     (car (cdr #{e 30296}#))))
-                                             (list 'list->vector #{e 30296}#)))
-                                         #{maps 30297}#))))
-                                 #{tmp 30290}#)
-                               (values
-                                 (list 'quote #{e 30137}#)
-                                 #{maps 30139}#))))))))))))
-         (#{gen-ref 29706}#
-           (lambda (#{src 30324}#
-                    #{var 30325}#
-                    #{level 30326}#
-                    #{maps 30327}#)
-             (if (= #{level 30326}# 0)
-               (values #{var 30325}# #{maps 30327}#)
-               (if (null? #{maps 30327}#)
-                 (syntax-violation
-                   'syntax
-                   "missing ellipsis"
-                   #{src 30324}#)
-                 (call-with-values
-                   (lambda ()
-                     (#{gen-ref 29706}#
-                       #{src 30324}#
-                       #{var 30325}#
-                       (#{1-}# #{level 30326}#)
-                       (cdr #{maps 30327}#)))
-                   (lambda (#{outer-var 30328}# #{outer-maps 30329}#)
-                     (let ((#{b 30330}#
-                             (assq #{outer-var 30328}# (car #{maps 30327}#))))
-                       (if #{b 30330}#
-                         (values (cdr #{b 30330}#) #{maps 30327}#)
-                         (let ((#{inner-var 30332}#
-                                 (gensym
-                                   (string-append (symbol->string 'tmp) " "))))
-                           (values
-                             #{inner-var 30332}#
-                             (cons (cons (cons #{outer-var 30328}#
-                                               #{inner-var 30332}#)
-                                         (car #{maps 30327}#))
-                                   #{outer-maps 30329}#)))))))))))
-         (#{gen-map 29708}#
-           (lambda (#{e 30346}# #{map-env 30347}#)
-             (let ((#{formals 30348}# (map cdr #{map-env 30347}#))
-                   (#{actuals 30349}#
-                     (map (lambda (#{x 30351}#)
-                            (list 'ref (car #{x 30351}#)))
-                          #{map-env 30347}#)))
-               (if (eq? (car #{e 30346}#) 'ref)
-                 (car #{actuals 30349}#)
-                 (if (and-map
-                       (lambda (#{x 30352}#)
-                         (if (eq? (car #{x 30352}#) 'ref)
-                           (memq (car (cdr #{x 30352}#)) #{formals 30348}#)
-                           #f))
-                       (cdr #{e 30346}#))
-                   (cons 'map
-                         (cons (list 'primitive (car #{e 30346}#))
-                               (map (let ((#{r 30354}#
-                                            (map cons
-                                                 #{formals 30348}#
-                                                 #{actuals 30349}#)))
-                                      (lambda (#{x 30355}#)
-                                        (cdr (assq (car (cdr #{x 30355}#))
-                                                   #{r 30354}#))))
-                                    (cdr #{e 30346}#))))
-                   (cons 'map
-                         (cons (list 'lambda #{formals 30348}# #{e 30346}#)
-                               #{actuals 30349}#)))))))
-         (#{regen 29712}#
-           (lambda (#{x 30357}#)
-             (let ((#{atom-key 30358}# (car #{x 30357}#)))
-               (if (eqv? #{atom-key 30358}# 'ref)
-                 (let ((#{name 30368}# (car (cdr #{x 30357}#)))
-                       (#{var 30369}# (car (cdr #{x 30357}#))))
-                   (make-struct/no-tail
-                     (vector-ref %expanded-vtables 3)
-                     #f
-                     #{name 30368}#
-                     #{var 30369}#))
-                 (if (eqv? #{atom-key 30358}# 'primitive)
-                   (let ((#{name 30380}# (car (cdr #{x 30357}#))))
-                     (make-struct/no-tail
-                       (vector-ref %expanded-vtables 2)
-                       #f
-                       #{name 30380}#))
-                   (if (eqv? #{atom-key 30358}# 'quote)
-                     (let ((#{exp 30391}# (car (cdr #{x 30357}#))))
-                       (make-struct/no-tail
-                         (vector-ref %expanded-vtables 1)
-                         #f
-                         #{exp 30391}#))
-                     (if (eqv? #{atom-key 30358}# 'lambda)
-                       (if (list? (car (cdr #{x 30357}#)))
-                         (let ((#{req 30402}# (car (cdr #{x 30357}#)))
-                               (#{vars 30404}# (car (cdr #{x 30357}#)))
-                               (#{exp 30406}#
-                                 (#{regen 29712}#
-                                   (car (cdr (cdr #{x 30357}#))))))
-                           (let ((#{body 30411}#
-                                   (make-struct/no-tail
-                                     (vector-ref %expanded-vtables 15)
-                                     #f
-                                     #{req 30402}#
-                                     #f
-                                     #f
-                                     #f
-                                     '()
-                                     #{vars 30404}#
-                                     #{exp 30406}#
-                                     #f)))
-                             (make-struct/no-tail
-                               (vector-ref %expanded-vtables 14)
-                               #f
-                               '()
-                               #{body 30411}#)))
-                         (error "how did we get here" #{x 30357}#))
-                       (let ((#{name 30427}# (car #{x 30357}#))
-                             (#{args 30428}#
-                               (map #{regen 29712}# (cdr #{x 30357}#))))
-                         (make-struct/no-tail
-                           (vector-ref %expanded-vtables 12)
-                           #f
-                           #{name 30427}#
-                           #{args 30428}#))))))))))
-        (lambda (#{e 29713}#
-                 #{r 29714}#
-                 #{w 29715}#
-                 #{s 29716}#
-                 #{mod 29717}#)
-          (let ((#{e 29718}#
-                  (let ((#{x 30047}#
-                          (begin
-                            (if (if (pair? #{e 29713}#) #{s 29716}# #f)
-                              (set-source-properties! #{e 29713}# #{s 29716}#))
-                            #{e 29713}#)))
-                    (if (if (null? (car #{w 29715}#))
-                          (null? (cdr #{w 29715}#))
-                          #f)
-                      #{x 30047}#
-                      (if (if (vector? #{x 30047}#)
-                            (if (= (vector-length #{x 30047}#) 4)
-                              (eq? (vector-ref #{x 30047}# 0) 'syntax-object)
-                              #f)
-                            #f)
-                        (let ((#{expression 30079}# (vector-ref #{x 30047}# 1))
-                              (#{wrap 30080}#
-                                (let ((#{w2 30088}#
-                                        (vector-ref #{x 30047}# 2)))
-                                  (let ((#{m1 30089}# (car #{w 29715}#))
-                                        (#{s1 30090}# (cdr #{w 29715}#)))
-                                    (if (null? #{m1 30089}#)
-                                      (if (null? #{s1 30090}#)
-                                        #{w2 30088}#
-                                        (cons (car #{w2 30088}#)
-                                              (let ((#{m2 30105}#
-                                                      (cdr #{w2 30088}#)))
-                                                (if (null? #{m2 30105}#)
-                                                  #{s1 30090}#
-                                                  (append
-                                                    #{s1 30090}#
-                                                    #{m2 30105}#)))))
-                                      (cons (let ((#{m2 30113}#
-                                                    (car #{w2 30088}#)))
-                                              (if (null? #{m2 30113}#)
-                                                #{m1 30089}#
-                                                (append
-                                                  #{m1 30089}#
-                                                  #{m2 30113}#)))
-                                            (let ((#{m2 30121}#
-                                                    (cdr #{w2 30088}#)))
-                                              (if (null? #{m2 30121}#)
-                                                #{s1 30090}#
-                                                (append
-                                                  #{s1 30090}#
-                                                  #{m2 30121}#))))))))
-                              (#{module 30081}# (vector-ref #{x 30047}# 3)))
-                          (vector
-                            'syntax-object
-                            #{expression 30079}#
-                            #{wrap 30080}#
-                            #{module 30081}#))
-                        (if (null? #{x 30047}#)
-                          #{x 30047}#
-                          (vector
-                            'syntax-object
-                            #{x 30047}#
-                            #{w 29715}#
-                            #{mod 29717}#)))))))
-            (let ((#{tmp 29719}# #{e 29718}#))
-              (let ((#{tmp 29720}#
-                      ($sc-dispatch #{tmp 29719}# '(_ any))))
-                (if #{tmp 29720}#
-                  (@apply
-                    (lambda (#{x 29768}#)
-                      (call-with-values
-                        (lambda ()
-                          (#{gen-syntax 29705}#
-                            #{e 29718}#
-                            #{x 29768}#
-                            #{r 29714}#
-                            '()
-                            #{ellipsis? 28279}#
-                            #{mod 29717}#))
-                        (lambda (#{e 29845}# #{maps 29846}#)
-                          (#{regen 29712}# #{e 29845}#))))
-                    #{tmp 29720}#)
-                  (syntax-violation
-                    'syntax
-                    "bad `syntax' form"
-                    #{e 29718}#))))))))
-    (#{global-extend 28236}#
-      'core
-      'lambda
-      (lambda (#{e 30659}#
-               #{r 30660}#
-               #{w 30661}#
-               #{s 30662}#
-               #{mod 30663}#)
-        (let ((#{tmp 30665}#
-                ($sc-dispatch
-                  #{e 30659}#
-                  '(_ any any . each-any))))
-          (if #{tmp 30665}#
-            (@apply
-              (lambda (#{args 30669}# #{e1 30670}# #{e2 30671}#)
-                (call-with-values
-                  (lambda ()
-                    (#{lambda-formals 28280}# #{args 30669}#))
-                  (lambda (#{req 30674}#
-                           #{opt 30675}#
-                           #{rest 30676}#
-                           #{kw 30677}#)
-                    (letrec*
-                      ((#{lp 30678}#
-                         (lambda (#{body 30681}# #{meta 30682}#)
-                           (let ((#{tmp 30684}#
-                                   ($sc-dispatch
-                                     #{body 30681}#
-                                     '(any any . each-any))))
-                             (if (if #{tmp 30684}#
-                                   (@apply
-                                     (lambda (#{docstring 30688}#
-                                              #{e1 30689}#
-                                              #{e2 30690}#)
-                                       (string?
-                                         (syntax->datum #{docstring 30688}#)))
-                                     #{tmp 30684}#)
-                                   #f)
-                               (@apply
-                                 (lambda (#{docstring 30691}#
-                                          #{e1 30692}#
-                                          #{e2 30693}#)
-                                   (#{lp 30678}#
-                                     (cons #{e1 30692}# #{e2 30693}#)
-                                     (append
-                                       #{meta 30682}#
-                                       (list (cons 'documentation
-                                                   (syntax->datum
-                                                     #{docstring 30691}#))))))
-                                 #{tmp 30684}#)
-                               (let ((#{tmp 30694}#
-                                       ($sc-dispatch
-                                         #{body 30681}#
-                                         '(#(vector #(each (any . any)))
-                                           any
-                                           .
-                                           each-any))))
-                                 (if #{tmp 30694}#
-                                   (@apply
-                                     (lambda (#{k 30698}#
-                                              #{v 30699}#
-                                              #{e1 30700}#
-                                              #{e2 30701}#)
-                                       (#{lp 30678}#
-                                         (cons #{e1 30700}# #{e2 30701}#)
-                                         (append
-                                           #{meta 30682}#
-                                           (syntax->datum
-                                             (map cons
-                                                  #{k 30698}#
-                                                  #{v 30699}#)))))
-                                     #{tmp 30694}#)
-                                   (#{expand-simple-lambda 28281}#
-                                     #{e 30659}#
-                                     #{r 30660}#
-                                     #{w 30661}#
-                                     #{s 30662}#
-                                     #{mod 30663}#
-                                     #{req 30674}#
-                                     #{rest 30676}#
-                                     #{meta 30682}#
-                                     #{body 30681}#))))))))
-                      (#{lp 30678}#
-                        (cons #{e1 30670}# #{e2 30671}#)
-                        '())))))
-              #{tmp 30665}#)
-            (syntax-violation
-              'lambda
-              "bad lambda"
-              #{e 30659}#)))))
-    (#{global-extend 28236}#
-      'core
-      'lambda*
-      (lambda (#{e 31081}#
-               #{r 31082}#
-               #{w 31083}#
-               #{s 31084}#
-               #{mod 31085}#)
-        (let ((#{tmp 31087}#
-                ($sc-dispatch
-                  #{e 31081}#
-                  '(_ any any . each-any))))
-          (if #{tmp 31087}#
-            (@apply
-              (lambda (#{args 31091}# #{e1 31092}# #{e2 31093}#)
-                (call-with-values
-                  (lambda ()
-                    (#{expand-lambda-case 28283}#
-                      #{e 31081}#
-                      #{r 31082}#
-                      #{w 31083}#
-                      #{s 31084}#
-                      #{mod 31085}#
-                      #{lambda*-formals 28282}#
-                      (list (cons #{args 31091}#
-                                  (cons #{e1 31092}# #{e2 31093}#)))))
-                  (lambda (#{meta 31096}# #{lcase 31097}#)
-                    (make-struct/no-tail
-                      (vector-ref %expanded-vtables 14)
-                      #{s 31084}#
-                      #{meta 31096}#
-                      #{lcase 31097}#))))
-              #{tmp 31087}#)
-            (syntax-violation
-              'lambda
-              "bad lambda*"
-              #{e 31081}#)))))
-    (#{global-extend 28236}#
-      'core
-      'case-lambda
-      (lambda (#{e 31260}#
-               #{r 31261}#
-               #{w 31262}#
-               #{s 31263}#
-               #{mod 31264}#)
-        (let ((#{tmp 31266}#
-                ($sc-dispatch
-                  #{e 31260}#
-                  '(_ (any any . each-any)
-                      .
-                      #(each (any any . each-any))))))
-          (if #{tmp 31266}#
-            (@apply
-              (lambda (#{args 31270}#
-                       #{e1 31271}#
-                       #{e2 31272}#
-                       #{args* 31273}#
-                       #{e1* 31274}#
-                       #{e2* 31275}#)
-                (call-with-values
-                  (lambda ()
-                    (#{expand-lambda-case 28283}#
-                      #{e 31260}#
-                      #{r 31261}#
-                      #{w 31262}#
-                      #{s 31263}#
-                      #{mod 31264}#
-                      #{lambda-formals 28280}#
-                      (cons (cons #{args 31270}#
-                                  (cons #{e1 31271}# #{e2 31272}#))
-                            (map (lambda (#{tmp 27210 31278}#
-                                          #{tmp 27209 31279}#
-                                          #{tmp 27208 31280}#)
-                                   (cons #{tmp 27208 31280}#
-                                         (cons #{tmp 27209 31279}#
-                                               #{tmp 27210 31278}#)))
-                                 #{e2* 31275}#
-                                 #{e1* 31274}#
-                                 #{args* 31273}#))))
-                  (lambda (#{meta 31281}# #{lcase 31282}#)
-                    (make-struct/no-tail
-                      (vector-ref %expanded-vtables 14)
-                      #{s 31263}#
-                      #{meta 31281}#
-                      #{lcase 31282}#))))
-              #{tmp 31266}#)
-            (syntax-violation
-              'case-lambda
-              "bad case-lambda"
-              #{e 31260}#)))))
-    (#{global-extend 28236}#
-      'core
-      'case-lambda*
-      (lambda (#{e 31451}#
-               #{r 31452}#
-               #{w 31453}#
-               #{s 31454}#
-               #{mod 31455}#)
-        (let ((#{tmp 31457}#
-                ($sc-dispatch
-                  #{e 31451}#
-                  '(_ (any any . each-any)
-                      .
-                      #(each (any any . each-any))))))
-          (if #{tmp 31457}#
-            (@apply
-              (lambda (#{args 31461}#
-                       #{e1 31462}#
-                       #{e2 31463}#
-                       #{args* 31464}#
-                       #{e1* 31465}#
-                       #{e2* 31466}#)
-                (call-with-values
-                  (lambda ()
-                    (#{expand-lambda-case 28283}#
-                      #{e 31451}#
-                      #{r 31452}#
-                      #{w 31453}#
-                      #{s 31454}#
-                      #{mod 31455}#
-                      #{lambda*-formals 28282}#
-                      (cons (cons #{args 31461}#
-                                  (cons #{e1 31462}# #{e2 31463}#))
-                            (map (lambda (#{tmp 27245 31469}#
-                                          #{tmp 27244 31470}#
-                                          #{tmp 27243 31471}#)
-                                   (cons #{tmp 27243 31471}#
-                                         (cons #{tmp 27244 31470}#
-                                               #{tmp 27245 31469}#)))
-                                 #{e2* 31466}#
-                                 #{e1* 31465}#
-                                 #{args* 31464}#))))
-                  (lambda (#{meta 31472}# #{lcase 31473}#)
-                    (make-struct/no-tail
-                      (vector-ref %expanded-vtables 14)
-                      #{s 31454}#
-                      #{meta 31472}#
-                      #{lcase 31473}#))))
-              #{tmp 31457}#)
-            (syntax-violation
-              'case-lambda
-              "bad case-lambda*"
-              #{e 31451}#)))))
-    (#{global-extend 28236}#
-      'core
-      'let
-      (letrec*
-        ((#{expand-let 31681}#
-           (lambda (#{e 31891}#
-                    #{r 31892}#
-                    #{w 31893}#
-                    #{s 31894}#
-                    #{mod 31895}#
-                    #{constructor 31896}#
-                    #{ids 31897}#
-                    #{vals 31898}#
-                    #{exps 31899}#)
-             (if (not (#{valid-bound-ids? 28261}# #{ids 31897}#))
-               (syntax-violation
-                 'let
-                 "duplicate bound variable"
-                 #{e 31891}#)
-               (let ((#{labels 31984}#
-                       (#{gen-labels 28241}# #{ids 31897}#))
-                     (#{new-vars 31985}#
-                       (map #{gen-var 28285}# #{ids 31897}#)))
-                 (let ((#{nw 31986}#
-                         (#{make-binding-wrap 28252}#
-                           #{ids 31897}#
-                           #{labels 31984}#
-                           #{w 31893}#))
-                       (#{nr 31987}#
-                         (#{extend-var-env 28234}#
-                           #{labels 31984}#
-                           #{new-vars 31985}#
-                           #{r 31892}#)))
-                   (#{constructor 31896}#
-                     #{s 31894}#
-                     (map syntax->datum #{ids 31897}#)
-                     #{new-vars 31985}#
-                     (map (lambda (#{x 32004}#)
-                            (#{expand 28271}#
-                              #{x 32004}#
-                              #{r 31892}#
-                              #{w 31893}#
-                              #{mod 31895}#))
-                          #{vals 31898}#)
-                     (#{expand-body 28275}#
-                       #{exps 31899}#
-                       (#{source-wrap 28265}#
-                         #{e 31891}#
-                         #{nw 31986}#
-                         #{s 31894}#
-                         #{mod 31895}#)
-                       #{nr 31987}#
-                       #{nw 31986}#
-                       #{mod 31895}#))))))))
-        (lambda (#{e 31682}#
-                 #{r 31683}#
-                 #{w 31684}#
-                 #{s 31685}#
-                 #{mod 31686}#)
-          (let ((#{tmp 31688}#
-                  ($sc-dispatch
-                    #{e 31682}#
-                    '(_ #(each (any any)) any . each-any))))
-            (if (if #{tmp 31688}#
-                  (@apply
-                    (lambda (#{id 31692}#
-                             #{val 31693}#
-                             #{e1 31694}#
-                             #{e2 31695}#)
-                      (and-map #{id? 28238}# #{id 31692}#))
-                    #{tmp 31688}#)
-                  #f)
-              (@apply
-                (lambda (#{id 31711}#
-                         #{val 31712}#
-                         #{e1 31713}#
-                         #{e2 31714}#)
-                  (#{expand-let 31681}#
-                    #{e 31682}#
-                    #{r 31683}#
-                    #{w 31684}#
-                    #{s 31685}#
-                    #{mod 31686}#
-                    (lambda (#{src 31718}#
-                             #{ids 31719}#
-                             #{vars 31720}#
-                             #{val-exps 31721}#
-                             #{body-exp 31722}#)
-                      (begin
-                        (for-each
-                          #{maybe-name-value! 28203}#
-                          #{ids 31719}#
-                          #{val-exps 31721}#)
-                        (if (null? #{vars 31720}#)
-                          #{body-exp 31722}#
-                          (make-struct/no-tail
-                            (vector-ref %expanded-vtables 16)
-                            #{src 31718}#
-                            #{ids 31719}#
-                            #{vars 31720}#
-                            #{val-exps 31721}#
-                            #{body-exp 31722}#))))
-                    #{id 31711}#
-                    #{val 31712}#
-                    (cons #{e1 31713}# #{e2 31714}#)))
-                #{tmp 31688}#)
-              (let ((#{tmp 31729}#
-                      ($sc-dispatch
-                        #{e 31682}#
-                        '(_ any #(each (any any)) any . each-any))))
-                (if (if #{tmp 31729}#
-                      (@apply
-                        (lambda (#{f 31733}#
-                                 #{id 31734}#
-                                 #{val 31735}#
-                                 #{e1 31736}#
-                                 #{e2 31737}#)
-                          (if (if (symbol? #{f 31733}#)
-                                #t
-                                (if (if (vector? #{f 31733}#)
-                                      (if (= (vector-length #{f 31733}#) 4)
-                                        (eq? (vector-ref #{f 31733}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (symbol? (vector-ref #{f 31733}# 1))
-                                  #f))
-                            (and-map #{id? 28238}# #{id 31734}#)
-                            #f))
-                        #{tmp 31729}#)
-                      #f)
-                  (@apply
-                    (lambda (#{f 31779}#
-                             #{id 31780}#
-                             #{val 31781}#
-                             #{e1 31782}#
-                             #{e2 31783}#)
-                      (#{expand-let 31681}#
-                        #{e 31682}#
-                        #{r 31683}#
-                        #{w 31684}#
-                        #{s 31685}#
-                        #{mod 31686}#
-                        #{build-named-let 28222}#
-                        (cons #{f 31779}# #{id 31780}#)
-                        #{val 31781}#
-                        (cons #{e1 31782}# #{e2 31783}#)))
-                    #{tmp 31729}#)
-                  (syntax-violation
-                    'let
-                    "bad let"
-                    (let ((#{x 31796}#
-                            (begin
-                              (if (if (pair? #{e 31682}#) #{s 31685}# #f)
-                                (set-source-properties!
-                                  #{e 31682}#
-                                  #{s 31685}#))
-                              #{e 31682}#)))
-                      (if (if (null? (car #{w 31684}#))
-                            (null? (cdr #{w 31684}#))
-                            #f)
-                        #{x 31796}#
-                        (if (if (vector? #{x 31796}#)
-                              (if (= (vector-length #{x 31796}#) 4)
-                                (eq? (vector-ref #{x 31796}# 0) 'syntax-object)
-                                #f)
-                              #f)
-                          (let ((#{expression 31828}#
-                                  (vector-ref #{x 31796}# 1))
-                                (#{wrap 31829}#
-                                  (let ((#{w2 31837}#
-                                          (vector-ref #{x 31796}# 2)))
-                                    (let ((#{m1 31838}# (car #{w 31684}#))
-                                          (#{s1 31839}# (cdr #{w 31684}#)))
-                                      (if (null? #{m1 31838}#)
-                                        (if (null? #{s1 31839}#)
-                                          #{w2 31837}#
-                                          (cons (car #{w2 31837}#)
-                                                (let ((#{m2 31854}#
-                                                        (cdr #{w2 31837}#)))
-                                                  (if (null? #{m2 31854}#)
-                                                    #{s1 31839}#
-                                                    (append
-                                                      #{s1 31839}#
-                                                      #{m2 31854}#)))))
-                                        (cons (let ((#{m2 31862}#
-                                                      (car #{w2 31837}#)))
-                                                (if (null? #{m2 31862}#)
-                                                  #{m1 31838}#
-                                                  (append
-                                                    #{m1 31838}#
-                                                    #{m2 31862}#)))
-                                              (let ((#{m2 31870}#
-                                                      (cdr #{w2 31837}#)))
-                                                (if (null? #{m2 31870}#)
-                                                  #{s1 31839}#
-                                                  (append
-                                                    #{s1 31839}#
-                                                    #{m2 31870}#))))))))
-                                (#{module 31830}# (vector-ref #{x 31796}# 3)))
-                            (vector
-                              'syntax-object
-                              #{expression 31828}#
-                              #{wrap 31829}#
-                              #{module 31830}#))
-                          (if (null? #{x 31796}#)
-                            #{x 31796}#
-                            (vector
-                              'syntax-object
-                              #{x 31796}#
-                              #{w 31684}#
-                              #{mod 31686}#)))))))))))))
-    (#{global-extend 28236}#
-      'core
-      'letrec
-      (lambda (#{e 32475}#
-               #{r 32476}#
-               #{w 32477}#
-               #{s 32478}#
-               #{mod 32479}#)
-        (let ((#{tmp 32481}#
-                ($sc-dispatch
-                  #{e 32475}#
-                  '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 32481}#
-                (@apply
-                  (lambda (#{id 32485}#
-                           #{val 32486}#
-                           #{e1 32487}#
-                           #{e2 32488}#)
-                    (and-map #{id? 28238}# #{id 32485}#))
-                  #{tmp 32481}#)
-                #f)
-            (@apply
-              (lambda (#{id 32504}#
-                       #{val 32505}#
-                       #{e1 32506}#
-                       #{e2 32507}#)
-                (if (not (#{valid-bound-ids? 28261}# #{id 32504}#))
-                  (syntax-violation
-                    'letrec
-                    "duplicate bound variable"
-                    #{e 32475}#)
-                  (let ((#{labels 32604}#
-                          (#{gen-labels 28241}# #{id 32504}#))
-                        (#{new-vars 32605}#
-                          (map #{gen-var 28285}# #{id 32504}#)))
-                    (let ((#{w 32606}#
-                            (#{make-binding-wrap 28252}#
-                              #{id 32504}#
-                              #{labels 32604}#
-                              #{w 32477}#))
-                          (#{r 32607}#
-                            (#{extend-var-env 28234}#
-                              #{labels 32604}#
-                              #{new-vars 32605}#
-                              #{r 32476}#)))
-                      (#{build-letrec 28223}#
-                        #{s 32478}#
-                        #f
-                        (map syntax->datum #{id 32504}#)
-                        #{new-vars 32605}#
-                        (map (lambda (#{x 32686}#)
-                               (#{expand 28271}#
-                                 #{x 32686}#
-                                 #{r 32607}#
-                                 #{w 32606}#
-                                 #{mod 32479}#))
-                             #{val 32505}#)
-                        (#{expand-body 28275}#
-                          (cons #{e1 32506}# #{e2 32507}#)
-                          (let ((#{x 32748}#
-                                  (begin
-                                    (if (if (pair? #{e 32475}#) #{s 32478}# #f)
-                                      (set-source-properties!
-                                        #{e 32475}#
-                                        #{s 32478}#))
-                                    #{e 32475}#)))
-                            (if (if (null? (car #{w 32606}#))
-                                  (null? (cdr #{w 32606}#))
-                                  #f)
-                              #{x 32748}#
-                              (if (if (vector? #{x 32748}#)
-                                    (if (= (vector-length #{x 32748}#) 4)
-                                      (eq? (vector-ref #{x 32748}# 0)
-                                           'syntax-object)
-                                      #f)
-                                    #f)
-                                (let ((#{expression 32780}#
-                                        (vector-ref #{x 32748}# 1))
-                                      (#{wrap 32781}#
-                                        (let ((#{w2 32789}#
-                                                (vector-ref #{x 32748}# 2)))
-                                          (let ((#{m1 32790}#
-                                                  (car #{w 32606}#))
-                                                (#{s1 32791}#
-                                                  (cdr #{w 32606}#)))
-                                            (if (null? #{m1 32790}#)
-                                              (if (null? #{s1 32791}#)
-                                                #{w2 32789}#
-                                                (cons (car #{w2 32789}#)
-                                                      (let ((#{m2 32806}#
-                                                              (cdr #{w2 
32789}#)))
-                                                        (if (null? #{m2 
32806}#)
-                                                          #{s1 32791}#
-                                                          (append
-                                                            #{s1 32791}#
-                                                            #{m2 32806}#)))))
-                                              (cons (let ((#{m2 32814}#
-                                                            (car #{w2 
32789}#)))
-                                                      (if (null? #{m2 32814}#)
-                                                        #{m1 32790}#
-                                                        (append
-                                                          #{m1 32790}#
-                                                          #{m2 32814}#)))
-                                                    (let ((#{m2 32822}#
-                                                            (cdr #{w2 
32789}#)))
-                                                      (if (null? #{m2 32822}#)
-                                                        #{s1 32791}#
-                                                        (append
-                                                          #{s1 32791}#
-                                                          #{m2 32822}#))))))))
-                                      (#{module 32782}#
-                                        (vector-ref #{x 32748}# 3)))
-                                  (vector
-                                    'syntax-object
-                                    #{expression 32780}#
-                                    #{wrap 32781}#
-                                    #{module 32782}#))
-                                (if (null? #{x 32748}#)
-                                  #{x 32748}#
-                                  (vector
-                                    'syntax-object
-                                    #{x 32748}#
-                                    #{w 32606}#
-                                    #{mod 32479}#)))))
-                          #{r 32607}#
-                          #{w 32606}#
-                          #{mod 32479}#))))))
-              #{tmp 32481}#)
-            (syntax-violation
-              'letrec
-              "bad letrec"
-              (let ((#{x 33061}#
-                      (begin
-                        (if (if (pair? #{e 32475}#) #{s 32478}# #f)
-                          (set-source-properties! #{e 32475}# #{s 32478}#))
-                        #{e 32475}#)))
-                (if (if (null? (car #{w 32477}#))
-                      (null? (cdr #{w 32477}#))
-                      #f)
-                  #{x 33061}#
-                  (if (if (vector? #{x 33061}#)
-                        (if (= (vector-length #{x 33061}#) 4)
-                          (eq? (vector-ref #{x 33061}# 0) 'syntax-object)
-                          #f)
-                        #f)
-                    (let ((#{expression 33093}# (vector-ref #{x 33061}# 1))
-                          (#{wrap 33094}#
-                            (let ((#{w2 33102}# (vector-ref #{x 33061}# 2)))
-                              (let ((#{m1 33103}# (car #{w 32477}#))
-                                    (#{s1 33104}# (cdr #{w 32477}#)))
-                                (if (null? #{m1 33103}#)
-                                  (if (null? #{s1 33104}#)
-                                    #{w2 33102}#
-                                    (cons (car #{w2 33102}#)
-                                          (let ((#{m2 33119}#
-                                                  (cdr #{w2 33102}#)))
-                                            (if (null? #{m2 33119}#)
-                                              #{s1 33104}#
-                                              (append
-                                                #{s1 33104}#
-                                                #{m2 33119}#)))))
-                                  (cons (let ((#{m2 33127}#
-                                                (car #{w2 33102}#)))
-                                          (if (null? #{m2 33127}#)
-                                            #{m1 33103}#
-                                            (append
-                                              #{m1 33103}#
-                                              #{m2 33127}#)))
-                                        (let ((#{m2 33135}#
-                                                (cdr #{w2 33102}#)))
-                                          (if (null? #{m2 33135}#)
-                                            #{s1 33104}#
-                                            (append
-                                              #{s1 33104}#
-                                              #{m2 33135}#))))))))
-                          (#{module 33095}# (vector-ref #{x 33061}# 3)))
-                      (vector
-                        'syntax-object
-                        #{expression 33093}#
-                        #{wrap 33094}#
-                        #{module 33095}#))
-                    (if (null? #{x 33061}#)
-                      #{x 33061}#
-                      (vector
-                        'syntax-object
-                        #{x 33061}#
-                        #{w 32477}#
-                        #{mod 32479}#))))))))))
-    (#{global-extend 28236}#
-      'core
-      'letrec*
-      (lambda (#{e 33286}#
-               #{r 33287}#
-               #{w 33288}#
-               #{s 33289}#
-               #{mod 33290}#)
-        (let ((#{tmp 33292}#
-                ($sc-dispatch
-                  #{e 33286}#
-                  '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 33292}#
-                (@apply
-                  (lambda (#{id 33296}#
-                           #{val 33297}#
-                           #{e1 33298}#
-                           #{e2 33299}#)
-                    (and-map #{id? 28238}# #{id 33296}#))
-                  #{tmp 33292}#)
-                #f)
-            (@apply
-              (lambda (#{id 33315}#
-                       #{val 33316}#
-                       #{e1 33317}#
-                       #{e2 33318}#)
-                (if (not (#{valid-bound-ids? 28261}# #{id 33315}#))
-                  (syntax-violation
-                    'letrec*
-                    "duplicate bound variable"
-                    #{e 33286}#)
-                  (let ((#{labels 33415}#
-                          (#{gen-labels 28241}# #{id 33315}#))
-                        (#{new-vars 33416}#
-                          (map #{gen-var 28285}# #{id 33315}#)))
-                    (let ((#{w 33417}#
-                            (#{make-binding-wrap 28252}#
-                              #{id 33315}#
-                              #{labels 33415}#
-                              #{w 33288}#))
-                          (#{r 33418}#
-                            (#{extend-var-env 28234}#
-                              #{labels 33415}#
-                              #{new-vars 33416}#
-                              #{r 33287}#)))
-                      (#{build-letrec 28223}#
-                        #{s 33289}#
-                        #t
-                        (map syntax->datum #{id 33315}#)
-                        #{new-vars 33416}#
-                        (map (lambda (#{x 33497}#)
-                               (#{expand 28271}#
-                                 #{x 33497}#
-                                 #{r 33418}#
-                                 #{w 33417}#
-                                 #{mod 33290}#))
-                             #{val 33316}#)
-                        (#{expand-body 28275}#
-                          (cons #{e1 33317}# #{e2 33318}#)
-                          (let ((#{x 33559}#
-                                  (begin
-                                    (if (if (pair? #{e 33286}#) #{s 33289}# #f)
-                                      (set-source-properties!
-                                        #{e 33286}#
-                                        #{s 33289}#))
-                                    #{e 33286}#)))
-                            (if (if (null? (car #{w 33417}#))
-                                  (null? (cdr #{w 33417}#))
-                                  #f)
-                              #{x 33559}#
-                              (if (if (vector? #{x 33559}#)
-                                    (if (= (vector-length #{x 33559}#) 4)
-                                      (eq? (vector-ref #{x 33559}# 0)
-                                           'syntax-object)
-                                      #f)
-                                    #f)
-                                (let ((#{expression 33591}#
-                                        (vector-ref #{x 33559}# 1))
-                                      (#{wrap 33592}#
-                                        (let ((#{w2 33600}#
-                                                (vector-ref #{x 33559}# 2)))
-                                          (let ((#{m1 33601}#
-                                                  (car #{w 33417}#))
-                                                (#{s1 33602}#
-                                                  (cdr #{w 33417}#)))
-                                            (if (null? #{m1 33601}#)
-                                              (if (null? #{s1 33602}#)
-                                                #{w2 33600}#
-                                                (cons (car #{w2 33600}#)
-                                                      (let ((#{m2 33617}#
-                                                              (cdr #{w2 
33600}#)))
-                                                        (if (null? #{m2 
33617}#)
-                                                          #{s1 33602}#
-                                                          (append
-                                                            #{s1 33602}#
-                                                            #{m2 33617}#)))))
-                                              (cons (let ((#{m2 33625}#
-                                                            (car #{w2 
33600}#)))
-                                                      (if (null? #{m2 33625}#)
-                                                        #{m1 33601}#
-                                                        (append
-                                                          #{m1 33601}#
-                                                          #{m2 33625}#)))
-                                                    (let ((#{m2 33633}#
-                                                            (cdr #{w2 
33600}#)))
-                                                      (if (null? #{m2 33633}#)
-                                                        #{s1 33602}#
-                                                        (append
-                                                          #{s1 33602}#
-                                                          #{m2 33633}#))))))))
-                                      (#{module 33593}#
-                                        (vector-ref #{x 33559}# 3)))
-                                  (vector
-                                    'syntax-object
-                                    #{expression 33591}#
-                                    #{wrap 33592}#
-                                    #{module 33593}#))
-                                (if (null? #{x 33559}#)
-                                  #{x 33559}#
-                                  (vector
-                                    'syntax-object
-                                    #{x 33559}#
-                                    #{w 33417}#
-                                    #{mod 33290}#)))))
-                          #{r 33418}#
-                          #{w 33417}#
-                          #{mod 33290}#))))))
-              #{tmp 33292}#)
-            (syntax-violation
-              'letrec*
-              "bad letrec*"
-              (let ((#{x 33872}#
-                      (begin
-                        (if (if (pair? #{e 33286}#) #{s 33289}# #f)
-                          (set-source-properties! #{e 33286}# #{s 33289}#))
-                        #{e 33286}#)))
-                (if (if (null? (car #{w 33288}#))
-                      (null? (cdr #{w 33288}#))
-                      #f)
-                  #{x 33872}#
-                  (if (if (vector? #{x 33872}#)
-                        (if (= (vector-length #{x 33872}#) 4)
-                          (eq? (vector-ref #{x 33872}# 0) 'syntax-object)
-                          #f)
-                        #f)
-                    (let ((#{expression 33904}# (vector-ref #{x 33872}# 1))
-                          (#{wrap 33905}#
-                            (let ((#{w2 33913}# (vector-ref #{x 33872}# 2)))
-                              (let ((#{m1 33914}# (car #{w 33288}#))
-                                    (#{s1 33915}# (cdr #{w 33288}#)))
-                                (if (null? #{m1 33914}#)
-                                  (if (null? #{s1 33915}#)
-                                    #{w2 33913}#
-                                    (cons (car #{w2 33913}#)
-                                          (let ((#{m2 33930}#
-                                                  (cdr #{w2 33913}#)))
-                                            (if (null? #{m2 33930}#)
-                                              #{s1 33915}#
-                                              (append
-                                                #{s1 33915}#
-                                                #{m2 33930}#)))))
-                                  (cons (let ((#{m2 33938}#
-                                                (car #{w2 33913}#)))
-                                          (if (null? #{m2 33938}#)
-                                            #{m1 33914}#
-                                            (append
-                                              #{m1 33914}#
-                                              #{m2 33938}#)))
-                                        (let ((#{m2 33946}#
-                                                (cdr #{w2 33913}#)))
-                                          (if (null? #{m2 33946}#)
-                                            #{s1 33915}#
-                                            (append
-                                              #{s1 33915}#
-                                              #{m2 33946}#))))))))
-                          (#{module 33906}# (vector-ref #{x 33872}# 3)))
-                      (vector
-                        'syntax-object
-                        #{expression 33904}#
-                        #{wrap 33905}#
-                        #{module 33906}#))
-                    (if (null? #{x 33872}#)
-                      #{x 33872}#
-                      (vector
-                        'syntax-object
-                        #{x 33872}#
-                        #{w 33288}#
-                        #{mod 33290}#))))))))))
-    (#{global-extend 28236}#
-      'core
-      'set!
-      (lambda (#{e 34105}#
-               #{r 34106}#
-               #{w 34107}#
-               #{s 34108}#
-               #{mod 34109}#)
-        (let ((#{tmp 34111}#
-                ($sc-dispatch #{e 34105}# '(_ any any))))
-          (if (if #{tmp 34111}#
-                (@apply
-                  (lambda (#{id 34115}# #{val 34116}#)
-                    (if (symbol? #{id 34115}#)
-                      #t
-                      (if (if (vector? #{id 34115}#)
-                            (if (= (vector-length #{id 34115}#) 4)
-                              (eq? (vector-ref #{id 34115}# 0) 'syntax-object)
-                              #f)
-                            #f)
-                        (symbol? (vector-ref #{id 34115}# 1))
-                        #f)))
-                  #{tmp 34111}#)
-                #f)
-            (@apply
-              (lambda (#{id 34143}# #{val 34144}#)
-                (call-with-values
-                  (lambda ()
-                    (#{resolve-identifier 28258}#
-                      #{id 34143}#
-                      #{w 34107}#
-                      #{r 34106}#
-                      #{mod 34109}#
-                      #t))
-                  (lambda (#{type 34147}# #{value 34148}# #{id-mod 34149}#)
-                    (if (eqv? #{type 34147}# 'lexical)
-                      (#{build-lexical-assignment 28209}#
-                        #{s 34108}#
-                        (syntax->datum #{id 34143}#)
-                        #{value 34148}#
-                        (#{expand 28271}#
-                          #{val 34144}#
-                          #{r 34106}#
-                          #{w 34107}#
-                          #{mod 34109}#))
-                      (if (eqv? #{type 34147}# 'global)
-                        (#{build-global-assignment 28212}#
-                          #{s 34108}#
-                          #{value 34148}#
-                          (#{expand 28271}#
-                            #{val 34144}#
-                            #{r 34106}#
-                            #{w 34107}#
-                            #{mod 34109}#)
-                          #{id-mod 34149}#)
-                        (if (eqv? #{type 34147}# 'macro)
-                          (if (procedure-property
-                                #{value 34148}#
-                                'variable-transformer)
-                            (#{expand 28271}#
-                              (#{expand-macro 28274}#
-                                #{value 34148}#
-                                #{e 34105}#
-                                #{r 34106}#
-                                #{w 34107}#
-                                #{s 34108}#
-                                #f
-                                #{mod 34109}#)
-                              #{r 34106}#
-                              '(())
-                              #{mod 34109}#)
-                            (syntax-violation
-                              'set!
-                              "not a variable transformer"
-                              (if (if (null? (car #{w 34107}#))
-                                    (null? (cdr #{w 34107}#))
-                                    #f)
-                                #{e 34105}#
-                                (if (if (vector? #{e 34105}#)
-                                      (if (= (vector-length #{e 34105}#) 4)
-                                        (eq? (vector-ref #{e 34105}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (let ((#{expression 34589}#
-                                          (vector-ref #{e 34105}# 1))
-                                        (#{wrap 34590}#
-                                          (let ((#{w2 34600}#
-                                                  (vector-ref #{e 34105}# 2)))
-                                            (let ((#{m1 34601}#
-                                                    (car #{w 34107}#))
-                                                  (#{s1 34602}#
-                                                    (cdr #{w 34107}#)))
-                                              (if (null? #{m1 34601}#)
-                                                (if (null? #{s1 34602}#)
-                                                  #{w2 34600}#
-                                                  (cons (car #{w2 34600}#)
-                                                        (let ((#{m2 34619}#
-                                                                (cdr #{w2 
34600}#)))
-                                                          (if (null? #{m2 
34619}#)
-                                                            #{s1 34602}#
-                                                            (append
-                                                              #{s1 34602}#
-                                                              #{m2 34619}#)))))
-                                                (cons (let ((#{m2 34627}#
-                                                              (car #{w2 
34600}#)))
-                                                        (if (null? #{m2 
34627}#)
-                                                          #{m1 34601}#
-                                                          (append
-                                                            #{m1 34601}#
-                                                            #{m2 34627}#)))
-                                                      (let ((#{m2 34635}#
-                                                              (cdr #{w2 
34600}#)))
-                                                        (if (null? #{m2 
34635}#)
-                                                          #{s1 34602}#
-                                                          (append
-                                                            #{s1 34602}#
-                                                            #{m2 
34635}#))))))))
-                                        (#{module 34591}#
-                                          (vector-ref #{e 34105}# 3)))
-                                    (vector
-                                      'syntax-object
-                                      #{expression 34589}#
-                                      #{wrap 34590}#
-                                      #{module 34591}#))
-                                  (if (null? #{e 34105}#)
-                                    #{e 34105}#
-                                    (vector
-                                      'syntax-object
-                                      #{e 34105}#
-                                      #{w 34107}#
-                                      #{mod 34109}#))))
-                              (if (if (null? (car #{w 34107}#))
-                                    (null? (cdr #{w 34107}#))
-                                    #f)
-                                #{id 34143}#
-                                (if (if (vector? #{id 34143}#)
-                                      (if (= (vector-length #{id 34143}#) 4)
-                                        (eq? (vector-ref #{id 34143}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (let ((#{expression 34687}#
-                                          (vector-ref #{id 34143}# 1))
-                                        (#{wrap 34688}#
-                                          (let ((#{w2 34698}#
-                                                  (vector-ref #{id 34143}# 2)))
-                                            (let ((#{m1 34699}#
-                                                    (car #{w 34107}#))
-                                                  (#{s1 34700}#
-                                                    (cdr #{w 34107}#)))
-                                              (if (null? #{m1 34699}#)
-                                                (if (null? #{s1 34700}#)
-                                                  #{w2 34698}#
-                                                  (cons (car #{w2 34698}#)
-                                                        (let ((#{m2 34717}#
-                                                                (cdr #{w2 
34698}#)))
-                                                          (if (null? #{m2 
34717}#)
-                                                            #{s1 34700}#
-                                                            (append
-                                                              #{s1 34700}#
-                                                              #{m2 34717}#)))))
-                                                (cons (let ((#{m2 34725}#
-                                                              (car #{w2 
34698}#)))
-                                                        (if (null? #{m2 
34725}#)
-                                                          #{m1 34699}#
-                                                          (append
-                                                            #{m1 34699}#
-                                                            #{m2 34725}#)))
-                                                      (let ((#{m2 34733}#
-                                                              (cdr #{w2 
34698}#)))
-                                                        (if (null? #{m2 
34733}#)
-                                                          #{s1 34700}#
-                                                          (append
-                                                            #{s1 34700}#
-                                                            #{m2 
34733}#))))))))
-                                        (#{module 34689}#
-                                          (vector-ref #{id 34143}# 3)))
-                                    (vector
-                                      'syntax-object
-                                      #{expression 34687}#
-                                      #{wrap 34688}#
-                                      #{module 34689}#))
-                                  (if (null? #{id 34143}#)
-                                    #{id 34143}#
-                                    (vector
-                                      'syntax-object
-                                      #{id 34143}#
-                                      #{w 34107}#
-                                      #{id-mod 34149}#))))))
-                          (if (eqv? #{type 34147}# 'displaced-lexical)
-                            (syntax-violation
-                              'set!
-                              "identifier out of context"
-                              (if (if (null? (car #{w 34107}#))
-                                    (null? (cdr #{w 34107}#))
-                                    #f)
-                                #{id 34143}#
-                                (if (if (vector? #{id 34143}#)
-                                      (if (= (vector-length #{id 34143}#) 4)
-                                        (eq? (vector-ref #{id 34143}# 0)
-                                             'syntax-object)
-                                        #f)
-                                      #f)
-                                  (let ((#{expression 34788}#
-                                          (vector-ref #{id 34143}# 1))
-                                        (#{wrap 34789}#
-                                          (let ((#{w2 34799}#
-                                                  (vector-ref #{id 34143}# 2)))
-                                            (let ((#{m1 34800}#
-                                                    (car #{w 34107}#))
-                                                  (#{s1 34801}#
-                                                    (cdr #{w 34107}#)))
-                                              (if (null? #{m1 34800}#)
-                                                (if (null? #{s1 34801}#)
-                                                  #{w2 34799}#
-                                                  (cons (car #{w2 34799}#)
-                                                        (let ((#{m2 34818}#
-                                                                (cdr #{w2 
34799}#)))
-                                                          (if (null? #{m2 
34818}#)
-                                                            #{s1 34801}#
-                                                            (append
-                                                              #{s1 34801}#
-                                                              #{m2 34818}#)))))
-                                                (cons (let ((#{m2 34826}#
-                                                              (car #{w2 
34799}#)))
-                                                        (if (null? #{m2 
34826}#)
-                                                          #{m1 34800}#
-                                                          (append
-                                                            #{m1 34800}#
-                                                            #{m2 34826}#)))
-                                                      (let ((#{m2 34834}#
-                                                              (cdr #{w2 
34799}#)))
-                                                        (if (null? #{m2 
34834}#)
-                                                          #{s1 34801}#
-                                                          (append
-                                                            #{s1 34801}#
-                                                            #{m2 
34834}#))))))))
-                                        (#{module 34790}#
-                                          (vector-ref #{id 34143}# 3)))
-                                    (vector
-                                      'syntax-object
-                                      #{expression 34788}#
-                                      #{wrap 34789}#
-                                      #{module 34790}#))
-                                  (if (null? #{id 34143}#)
-                                    #{id 34143}#
-                                    (vector
-                                      'syntax-object
-                                      #{id 34143}#
-                                      #{w 34107}#
-                                      #{mod 34109}#)))))
-                            (syntax-violation
-                              'set!
-                              "bad set!"
-                              (let ((#{x 34866}#
-                                      (begin
-                                        (if (if (pair? #{e 34105}#)
-                                              #{s 34108}#
-                                              #f)
-                                          (set-source-properties!
-                                            #{e 34105}#
-                                            #{s 34108}#))
-                                        #{e 34105}#)))
-                                (if (if (null? (car #{w 34107}#))
-                                      (null? (cdr #{w 34107}#))
-                                      #f)
-                                  #{x 34866}#
-                                  (if (if (vector? #{x 34866}#)
-                                        (if (= (vector-length #{x 34866}#) 4)
-                                          (eq? (vector-ref #{x 34866}# 0)
-                                               'syntax-object)
-                                          #f)
-                                        #f)
-                                    (let ((#{expression 34898}#
-                                            (vector-ref #{x 34866}# 1))
-                                          (#{wrap 34899}#
-                                            (let ((#{w2 34907}#
-                                                    (vector-ref
-                                                      #{x 34866}#
-                                                      2)))
-                                              (let ((#{m1 34908}#
-                                                      (car #{w 34107}#))
-                                                    (#{s1 34909}#
-                                                      (cdr #{w 34107}#)))
-                                                (if (null? #{m1 34908}#)
-                                                  (if (null? #{s1 34909}#)
-                                                    #{w2 34907}#
-                                                    (cons (car #{w2 34907}#)
-                                                          (let ((#{m2 34924}#
-                                                                  (cdr #{w2 
34907}#)))
-                                                            (if (null? #{m2 
34924}#)
-                                                              #{s1 34909}#
-                                                              (append
-                                                                #{s1 34909}#
-                                                                #{m2 
34924}#)))))
-                                                  (cons (let ((#{m2 34932}#
-                                                                (car #{w2 
34907}#)))
-                                                          (if (null? #{m2 
34932}#)
-                                                            #{m1 34908}#
-                                                            (append
-                                                              #{m1 34908}#
-                                                              #{m2 34932}#)))
-                                                        (let ((#{m2 34940}#
-                                                                (cdr #{w2 
34907}#)))
-                                                          (if (null? #{m2 
34940}#)
-                                                            #{s1 34909}#
-                                                            (append
-                                                              #{s1 34909}#
-                                                              #{m2 
34940}#))))))))
-                                          (#{module 34900}#
-                                            (vector-ref #{x 34866}# 3)))
-                                      (vector
-                                        'syntax-object
-                                        #{expression 34898}#
-                                        #{wrap 34899}#
-                                        #{module 34900}#))
-                                    (if (null? #{x 34866}#)
-                                      #{x 34866}#
-                                      (vector
-                                        'syntax-object
-                                        #{x 34866}#
-                                        #{w 34107}#
-                                        #{mod 34109}#)))))))))))))
-              #{tmp 34111}#)
-            (let ((#{tmp 34955}#
-                    ($sc-dispatch
-                      #{e 34105}#
-                      '(_ (any . each-any) any))))
-              (if #{tmp 34955}#
-                (@apply
-                  (lambda (#{head 34959}# #{tail 34960}# #{val 34961}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{syntax-type 28270}#
-                          #{head 34959}#
-                          #{r 34106}#
-                          '(())
-                          #f
-                          #f
-                          #{mod 34109}#
-                          #t))
-                      (lambda (#{type 34964}#
-                               #{value 34965}#
-                               #{ee 34966}#
-                               #{ww 34967}#
-                               #{ss 34968}#
-                               #{modmod 34969}#)
-                        (if (eqv? #{type 34964}# 'module-ref)
-                          (let ((#{val 34973}#
-                                  (#{expand 28271}#
-                                    #{val 34961}#
-                                    #{r 34106}#
-                                    #{w 34107}#
-                                    #{mod 34109}#)))
-                            (call-with-values
-                              (lambda ()
-                                (#{value 34965}#
-                                  (cons #{head 34959}# #{tail 34960}#)
-                                  #{r 34106}#
-                                  #{w 34107}#))
-                              (lambda (#{e 34974}#
-                                       #{r 34975}#
-                                       #{w 34976}#
-                                       #{s* 34977}#
-                                       #{mod 34978}#)
-                                (let ((#{tmp 34980}# (list #{e 34974}#)))
-                                  (if (@apply
-                                        (lambda (#{e 34982}#)
-                                          (if (symbol? #{e 34982}#)
-                                            #t
-                                            (if (if (vector? #{e 34982}#)
-                                                  (if (= (vector-length
-                                                           #{e 34982}#)
-                                                         4)
-                                                    (eq? (vector-ref
-                                                           #{e 34982}#
-                                                           0)
-                                                         'syntax-object)
-                                                    #f)
-                                                  #f)
-                                              (symbol?
-                                                (vector-ref #{e 34982}# 1))
-                                              #f)))
-                                        #{tmp 34980}#)
-                                    (@apply
-                                      (lambda (#{e 35012}#)
-                                        (#{build-global-assignment 28212}#
-                                          #{s 34108}#
-                                          (syntax->datum #{e 35012}#)
-                                          #{val 34973}#
-                                          #{mod 34978}#))
-                                      #{tmp 34980}#)
-                                    (syntax-violation
-                                      #f
-                                      "source expression failed to match any 
pattern"
-                                      #{e 34974}#))))))
-                          (#{build-call 28205}#
-                            #{s 34108}#
-                            (#{expand 28271}#
-                              (list '#(syntax-object
-                                       setter
-                                       ((top)
-                                        #(ribcage () () ())
-                                        #(ribcage () () ())
-                                        #(ribcage
-                                          #(type value ee ww ss modmod)
-                                          #((top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top)
-                                            (top))
-                                          #("i27483"
-                                            "i27484"
-                                            "i27485"
-                                            "i27486"
-                                            "i27487"
-                                            "i27488"))
-                                        #(ribcage
-                                          #(head tail val)
-                                          #((top) (top) (top))
-                                          #("i27469" "i27470" "i27471"))
-                                        #(ribcage () () ())
-                                        #(ribcage
-                                          #(e r w s mod)
-                                          #((top) (top) (top) (top) (top))
-                                          #("i27441"
-                                            "i27442"
-                                            "i27443"
-                                            "i27444"
-                                            "i27445"))
-                                        #(ribcage
-                                          (lambda-var-list
-                                            gen-var
-                                            strip
-                                            expand-lambda-case
-                                            lambda*-formals
-                                            expand-simple-lambda
-                                            lambda-formals
-                                            ellipsis?
-                                            expand-void
-                                            eval-local-transformer
-                                            expand-local-syntax
-                                            expand-body
-                                            expand-macro
-                                            expand-call
-                                            expand-expr
-                                            expand
-                                            syntax-type
-                                            parse-when-list
-                                            expand-install-global
-                                            expand-top-sequence
-                                            expand-sequence
-                                            source-wrap
-                                            wrap
-                                            bound-id-member?
-                                            distinct-bound-ids?
-                                            valid-bound-ids?
-                                            bound-id=?
-                                            free-id=?
-                                            resolve-identifier
-                                            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
-                                            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))
-                                          ("i24298"
-                                           "i24296"
-                                           "i24294"
-                                           "i24292"
-                                           "i24290"
-                                           "i24288"
-                                           "i24286"
-                                           "i24284"
-                                           "i24282"
-                                           "i24280"
-                                           "i24278"
-                                           "i24276"
-                                           "i24274"
-                                           "i24272"
-                                           "i24270"
-                                           "i24268"
-                                           "i24266"
-                                           "i24264"
-                                           "i24262"
-                                           "i24260"
-                                           "i24258"
-                                           "i24256"
-                                           "i24254"
-                                           "i24252"
-                                           "i24250"
-                                           "i24248"
-                                           "i24246"
-                                           "i24244"
-                                           "i24242"
-                                           "i24240"
-                                           "i24238"
-                                           "i24236"
-                                           "i24234"
-                                           "i24232"
-                                           "i24230"
-                                           "i24228"
-                                           "i24227"
-                                           "i24225"
-                                           "i24222"
-                                           "i24221"
-                                           "i24220"
-                                           "i24218"
-                                           "i24217"
-                                           "i24215"
-                                           "i24213"
-                                           "i24211"
-                                           "i24209"
-                                           "i24207"
-                                           "i24205"
-                                           "i24203"
-                                           "i24201"
-                                           "i24198"
-                                           "i24196"
-                                           "i24195"
-                                           "i24193"
-                                           "i24191"
-                                           "i24189"
-                                           "i24187"
-                                           "i24186"
-                                           "i24185"
-                                           "i24184"
-                                           "i24182"
-                                           "i24181"
-                                           "i24178"
-                                           "i24176"
-                                           "i24174"
-                                           "i24172"
-                                           "i24170"
-                                           "i24168"
-                                           "i24167"
-                                           "i24166"
-                                           "i24164"
-                                           "i24162"
-                                           "i24161"
-                                           "i24158"
-                                           "i24157"
-                                           "i24155"
-                                           "i24153"
-                                           "i24151"
-                                           "i24149"
-                                           "i24147"
-                                           "i24145"
-                                           "i24143"
-                                           "i24141"
-                                           "i24139"
-                                           "i24136"
-                                           "i24134"
-                                           "i24132"
-                                           "i24130"
-                                           "i24128"
-                                           "i24126"
-                                           "i24124"
-                                           "i24122"
-                                           "i24120"
-                                           "i24118"
-                                           "i24116"
-                                           "i24114"
-                                           "i24112"
-                                           "i24110"
-                                           "i24108"
-                                           "i24106"
-                                           "i24104"
-                                           "i24102"
-                                           "i24100"
-                                           "i24098"
-                                           "i24096"
-                                           "i24094"
-                                           "i24092"
-                                           "i24090"
-                                           "i24089"
-                                           "i24086"
-                                           "i24084"
-                                           "i24083"
-                                           "i24082"
-                                           "i24081"
-                                           "i24080"
-                                           "i24078"
-                                           "i24076"
-                                           "i24074"
-                                           "i24071"
-                                           "i24069"
-                                           "i24067"
-                                           "i24065"
-                                           "i24063"
-                                           "i24061"
-                                           "i24059"
-                                           "i24057"
-                                           "i24055"
-                                           "i24053"
-                                           "i24051"
-                                           "i24049"
-                                           "i24047"
-                                           "i24045"
-                                           "i24043"
-                                           "i24041"
-                                           "i24039"
-                                           "i24037"
-                                           "i24035"))
-                                        #(ribcage
-                                          (define-structure
-                                            define-expansion-accessors
-                                            define-expansion-constructors)
-                                          ((top) (top) (top))
-                                          ("i23873" "i23872" "i23871"))
-                                        #(ribcage () () ()))
-                                       (hygiene guile))
-                                    #{head 34959}#)
-                              #{r 34106}#
-                              #{w 34107}#
-                              #{mod 34109}#)
-                            (map (lambda (#{e 35325}#)
-                                   (#{expand 28271}#
-                                     #{e 35325}#
-                                     #{r 34106}#
-                                     #{w 34107}#
-                                     #{mod 34109}#))
-                                 (append
-                                   #{tail 34960}#
-                                   (list #{val 34961}#))))))))
-                  #{tmp 34955}#)
-                (syntax-violation
-                  'set!
-                  "bad set!"
-                  (let ((#{x 35413}#
-                          (begin
-                            (if (if (pair? #{e 34105}#) #{s 34108}# #f)
-                              (set-source-properties! #{e 34105}# #{s 34108}#))
-                            #{e 34105}#)))
-                    (if (if (null? (car #{w 34107}#))
-                          (null? (cdr #{w 34107}#))
-                          #f)
-                      #{x 35413}#
-                      (if (if (vector? #{x 35413}#)
-                            (if (= (vector-length #{x 35413}#) 4)
-                              (eq? (vector-ref #{x 35413}# 0) 'syntax-object)
-                              #f)
-                            #f)
-                        (let ((#{expression 35445}# (vector-ref #{x 35413}# 1))
-                              (#{wrap 35446}#
-                                (let ((#{w2 35454}#
-                                        (vector-ref #{x 35413}# 2)))
-                                  (let ((#{m1 35455}# (car #{w 34107}#))
-                                        (#{s1 35456}# (cdr #{w 34107}#)))
-                                    (if (null? #{m1 35455}#)
-                                      (if (null? #{s1 35456}#)
-                                        #{w2 35454}#
-                                        (cons (car #{w2 35454}#)
-                                              (let ((#{m2 35471}#
-                                                      (cdr #{w2 35454}#)))
-                                                (if (null? #{m2 35471}#)
-                                                  #{s1 35456}#
-                                                  (append
-                                                    #{s1 35456}#
-                                                    #{m2 35471}#)))))
-                                      (cons (let ((#{m2 35479}#
-                                                    (car #{w2 35454}#)))
-                                              (if (null? #{m2 35479}#)
-                                                #{m1 35455}#
-                                                (append
-                                                  #{m1 35455}#
-                                                  #{m2 35479}#)))
-                                            (let ((#{m2 35487}#
-                                                    (cdr #{w2 35454}#)))
-                                              (if (null? #{m2 35487}#)
-                                                #{s1 35456}#
-                                                (append
-                                                  #{s1 35456}#
-                                                  #{m2 35487}#))))))))
-                              (#{module 35447}# (vector-ref #{x 35413}# 3)))
-                          (vector
-                            'syntax-object
-                            #{expression 35445}#
-                            #{wrap 35446}#
-                            #{module 35447}#))
-                        (if (null? #{x 35413}#)
-                          #{x 35413}#
-                          (vector
-                            'syntax-object
-                            #{x 35413}#
-                            #{w 34107}#
-                            #{mod 34109}#))))))))))))
-    (module-define!
-      (current-module)
-      '@
-      (make-syntax-transformer
-        '@
-        'module-ref
-        (lambda (#{e 35518}# #{r 35519}# #{w 35520}#)
-          (let ((#{tmp 35522}#
-                  ($sc-dispatch #{e 35518}# '(_ each-any any))))
-            (if (if #{tmp 35522}#
-                  (@apply
-                    (lambda (#{mod 35525}# #{id 35526}#)
-                      (if (and-map #{id? 28238}# #{mod 35525}#)
-                        (if (symbol? #{id 35526}#)
-                          #t
-                          (if (if (vector? #{id 35526}#)
-                                (if (= (vector-length #{id 35526}#) 4)
-                                  (eq? (vector-ref #{id 35526}# 0)
-                                       'syntax-object)
-                                  #f)
-                                #f)
-                            (symbol? (vector-ref #{id 35526}# 1))
-                            #f))
-                        #f))
-                    #{tmp 35522}#)
-                  #f)
-              (@apply
-                (lambda (#{mod 35566}# #{id 35567}#)
-                  (values
-                    (syntax->datum #{id 35567}#)
-                    #{r 35519}#
-                    #{w 35520}#
-                    #f
-                    (syntax->datum
-                      (cons '#(syntax-object
-                               public
-                               ((top)
-                                #(ribcage
-                                  #(mod id)
-                                  #((top) (top))
-                                  #("i27530" "i27531"))
-                                #(ribcage () () ())
-                                #(ribcage
-                                  #(e r w)
-                                  #((top) (top) (top))
-                                  #("i27518" "i27519" "i27520"))
-                                #(ribcage
-                                  (lambda-var-list
-                                    gen-var
-                                    strip
-                                    expand-lambda-case
-                                    lambda*-formals
-                                    expand-simple-lambda
-                                    lambda-formals
-                                    ellipsis?
-                                    expand-void
-                                    eval-local-transformer
-                                    expand-local-syntax
-                                    expand-body
-                                    expand-macro
-                                    expand-call
-                                    expand-expr
-                                    expand
-                                    syntax-type
-                                    parse-when-list
-                                    expand-install-global
-                                    expand-top-sequence
-                                    expand-sequence
-                                    source-wrap
-                                    wrap
-                                    bound-id-member?
-                                    distinct-bound-ids?
-                                    valid-bound-ids?
-                                    bound-id=?
-                                    free-id=?
-                                    resolve-identifier
-                                    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
-                                    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))
-                                  ("i24298"
-                                   "i24296"
-                                   "i24294"
-                                   "i24292"
-                                   "i24290"
-                                   "i24288"
-                                   "i24286"
-                                   "i24284"
-                                   "i24282"
-                                   "i24280"
-                                   "i24278"
-                                   "i24276"
-                                   "i24274"
-                                   "i24272"
-                                   "i24270"
-                                   "i24268"
-                                   "i24266"
-                                   "i24264"
-                                   "i24262"
-                                   "i24260"
-                                   "i24258"
-                                   "i24256"
-                                   "i24254"
-                                   "i24252"
-                                   "i24250"
-                                   "i24248"
-                                   "i24246"
-                                   "i24244"
-                                   "i24242"
-                                   "i24240"
-                                   "i24238"
-                                   "i24236"
-                                   "i24234"
-                                   "i24232"
-                                   "i24230"
-                                   "i24228"
-                                   "i24227"
-                                   "i24225"
-                                   "i24222"
-                                   "i24221"
-                                   "i24220"
-                                   "i24218"
-                                   "i24217"
-                                   "i24215"
-                                   "i24213"
-                                   "i24211"
-                                   "i24209"
-                                   "i24207"
-                                   "i24205"
-                                   "i24203"
-                                   "i24201"
-                                   "i24198"
-                                   "i24196"
-                                   "i24195"
-                                   "i24193"
-                                   "i24191"
-                                   "i24189"
-                                   "i24187"
-                                   "i24186"
-                                   "i24185"
-                                   "i24184"
-                                   "i24182"
-                                   "i24181"
-                                   "i24178"
-                                   "i24176"
-                                   "i24174"
-                                   "i24172"
-                                   "i24170"
-                                   "i24168"
-                                   "i24167"
-                                   "i24166"
-                                   "i24164"
-                                   "i24162"
-                                   "i24161"
-                                   "i24158"
-                                   "i24157"
-                                   "i24155"
-                                   "i24153"
-                                   "i24151"
-                                   "i24149"
-                                   "i24147"
-                                   "i24145"
-                                   "i24143"
-                                   "i24141"
-                                   "i24139"
-                                   "i24136"
-                                   "i24134"
-                                   "i24132"
-                                   "i24130"
-                                   "i24128"
-                                   "i24126"
-                                   "i24124"
-                                   "i24122"
-                                   "i24120"
-                                   "i24118"
-                                   "i24116"
-                                   "i24114"
-                                   "i24112"
-                                   "i24110"
-                                   "i24108"
-                                   "i24106"
-                                   "i24104"
-                                   "i24102"
-                                   "i24100"
-                                   "i24098"
-                                   "i24096"
-                                   "i24094"
-                                   "i24092"
-                                   "i24090"
-                                   "i24089"
-                                   "i24086"
-                                   "i24084"
-                                   "i24083"
-                                   "i24082"
-                                   "i24081"
-                                   "i24080"
-                                   "i24078"
-                                   "i24076"
-                                   "i24074"
-                                   "i24071"
-                                   "i24069"
-                                   "i24067"
-                                   "i24065"
-                                   "i24063"
-                                   "i24061"
-                                   "i24059"
-                                   "i24057"
-                                   "i24055"
-                                   "i24053"
-                                   "i24051"
-                                   "i24049"
-                                   "i24047"
-                                   "i24045"
-                                   "i24043"
-                                   "i24041"
-                                   "i24039"
-                                   "i24037"
-                                   "i24035"))
-                                #(ribcage
-                                  (define-structure
-                                    define-expansion-accessors
-                                    define-expansion-constructors)
-                                  ((top) (top) (top))
-                                  ("i23873" "i23872" "i23871"))
-                                #(ribcage () () ()))
-                               (hygiene guile))
-                            #{mod 35566}#))))
-                #{tmp 35522}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{e 35518}#))))))
-    (#{global-extend 28236}#
-      'module-ref
-      '@@
-      (lambda (#{e 35667}# #{r 35668}# #{w 35669}#)
-        (letrec*
-          ((#{remodulate 35670}#
-             (lambda (#{x 35888}# #{mod 35889}#)
-               (if (pair? #{x 35888}#)
-                 (cons (#{remodulate 35670}#
-                         (car #{x 35888}#)
-                         #{mod 35889}#)
-                       (#{remodulate 35670}#
-                         (cdr #{x 35888}#)
-                         #{mod 35889}#))
-                 (if (if (vector? #{x 35888}#)
-                       (if (= (vector-length #{x 35888}#) 4)
-                         (eq? (vector-ref #{x 35888}# 0) 'syntax-object)
-                         #f)
-                       #f)
-                   (let ((#{expression 35903}#
-                           (#{remodulate 35670}#
-                             (vector-ref #{x 35888}# 1)
-                             #{mod 35889}#))
-                         (#{wrap 35904}# (vector-ref #{x 35888}# 2)))
-                     (vector
-                       'syntax-object
-                       #{expression 35903}#
-                       #{wrap 35904}#
-                       #{mod 35889}#))
-                   (if (vector? #{x 35888}#)
-                     (let ((#{n 35912}# (vector-length #{x 35888}#)))
-                       (let ((#{v 35913}# (make-vector #{n 35912}#)))
-                         (letrec*
-                           ((#{loop 35914}#
-                              (lambda (#{i 35969}#)
-                                (if (= #{i 35969}# #{n 35912}#)
-                                  #{v 35913}#
-                                  (begin
-                                    (vector-set!
-                                      #{v 35913}#
-                                      #{i 35969}#
-                                      (#{remodulate 35670}#
-                                        (vector-ref #{x 35888}# #{i 35969}#)
-                                        #{mod 35889}#))
-                                    (#{loop 35914}# (#{1+}# #{i 35969}#)))))))
-                           (#{loop 35914}# 0))))
-                     #{x 35888}#))))))
-          (let ((#{tmp 35672}#
-                  ($sc-dispatch #{e 35667}# '(_ each-any any))))
-            (if (if #{tmp 35672}#
-                  (@apply
-                    (lambda (#{mod 35676}# #{exp 35677}#)
-                      (and-map #{id? 28238}# #{mod 35676}#))
-                    #{tmp 35672}#)
-                  #f)
-              (@apply
-                (lambda (#{mod 35693}# #{exp 35694}#)
-                  (let ((#{mod 35695}#
-                          (syntax->datum
-                            (cons '#(syntax-object
-                                     private
-                                     ((top)
-                                      #(ribcage
-                                        #(mod exp)
-                                        #((top) (top))
-                                        #("i27574" "i27575"))
-                                      #(ribcage
-                                        (remodulate)
-                                        ((top))
-                                        ("i27541"))
-                                      #(ribcage
-                                        #(e r w)
-                                        #((top) (top) (top))
-                                        #("i27538" "i27539" "i27540"))
-                                      #(ribcage
-                                        (lambda-var-list
-                                          gen-var
-                                          strip
-                                          expand-lambda-case
-                                          lambda*-formals
-                                          expand-simple-lambda
-                                          lambda-formals
-                                          ellipsis?
-                                          expand-void
-                                          eval-local-transformer
-                                          expand-local-syntax
-                                          expand-body
-                                          expand-macro
-                                          expand-call
-                                          expand-expr
-                                          expand
-                                          syntax-type
-                                          parse-when-list
-                                          expand-install-global
-                                          expand-top-sequence
-                                          expand-sequence
-                                          source-wrap
-                                          wrap
-                                          bound-id-member?
-                                          distinct-bound-ids?
-                                          valid-bound-ids?
-                                          bound-id=?
-                                          free-id=?
-                                          resolve-identifier
-                                          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
-                                          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))
-                                        ("i24298"
-                                         "i24296"
-                                         "i24294"
-                                         "i24292"
-                                         "i24290"
-                                         "i24288"
-                                         "i24286"
-                                         "i24284"
-                                         "i24282"
-                                         "i24280"
-                                         "i24278"
-                                         "i24276"
-                                         "i24274"
-                                         "i24272"
-                                         "i24270"
-                                         "i24268"
-                                         "i24266"
-                                         "i24264"
-                                         "i24262"
-                                         "i24260"
-                                         "i24258"
-                                         "i24256"
-                                         "i24254"
-                                         "i24252"
-                                         "i24250"
-                                         "i24248"
-                                         "i24246"
-                                         "i24244"
-                                         "i24242"
-                                         "i24240"
-                                         "i24238"
-                                         "i24236"
-                                         "i24234"
-                                         "i24232"
-                                         "i24230"
-                                         "i24228"
-                                         "i24227"
-                                         "i24225"
-                                         "i24222"
-                                         "i24221"
-                                         "i24220"
-                                         "i24218"
-                                         "i24217"
-                                         "i24215"
-                                         "i24213"
-                                         "i24211"
-                                         "i24209"
-                                         "i24207"
-                                         "i24205"
-                                         "i24203"
-                                         "i24201"
-                                         "i24198"
-                                         "i24196"
-                                         "i24195"
-                                         "i24193"
-                                         "i24191"
-                                         "i24189"
-                                         "i24187"
-                                         "i24186"
-                                         "i24185"
-                                         "i24184"
-                                         "i24182"
-                                         "i24181"
-                                         "i24178"
-                                         "i24176"
-                                         "i24174"
-                                         "i24172"
-                                         "i24170"
-                                         "i24168"
-                                         "i24167"
-                                         "i24166"
-                                         "i24164"
-                                         "i24162"
-                                         "i24161"
-                                         "i24158"
-                                         "i24157"
-                                         "i24155"
-                                         "i24153"
-                                         "i24151"
-                                         "i24149"
-                                         "i24147"
-                                         "i24145"
-                                         "i24143"
-                                         "i24141"
-                                         "i24139"
-                                         "i24136"
-                                         "i24134"
-                                         "i24132"
-                                         "i24130"
-                                         "i24128"
-                                         "i24126"
-                                         "i24124"
-                                         "i24122"
-                                         "i24120"
-                                         "i24118"
-                                         "i24116"
-                                         "i24114"
-                                         "i24112"
-                                         "i24110"
-                                         "i24108"
-                                         "i24106"
-                                         "i24104"
-                                         "i24102"
-                                         "i24100"
-                                         "i24098"
-                                         "i24096"
-                                         "i24094"
-                                         "i24092"
-                                         "i24090"
-                                         "i24089"
-                                         "i24086"
-                                         "i24084"
-                                         "i24083"
-                                         "i24082"
-                                         "i24081"
-                                         "i24080"
-                                         "i24078"
-                                         "i24076"
-                                         "i24074"
-                                         "i24071"
-                                         "i24069"
-                                         "i24067"
-                                         "i24065"
-                                         "i24063"
-                                         "i24061"
-                                         "i24059"
-                                         "i24057"
-                                         "i24055"
-                                         "i24053"
-                                         "i24051"
-                                         "i24049"
-                                         "i24047"
-                                         "i24045"
-                                         "i24043"
-                                         "i24041"
-                                         "i24039"
-                                         "i24037"
-                                         "i24035"))
-                                      #(ribcage
-                                        (define-structure
-                                          define-expansion-accessors
-                                          define-expansion-constructors)
-                                        ((top) (top) (top))
-                                        ("i23873" "i23872" "i23871"))
-                                      #(ribcage () () ()))
-                                     (hygiene guile))
-                                  #{mod 35693}#))))
-                    (values
-                      (#{remodulate 35670}#
-                        #{exp 35694}#
-                        #{mod 35695}#)
-                      #{r 35668}#
-                      #{w 35669}#
-                      (#{source-annotation 28232}# #{exp 35694}#)
-                      #{mod 35695}#)))
-                #{tmp 35672}#)
-              (syntax-violation
-                #f
-                "source expression failed to match any pattern"
-                #{e 35667}#))))))
-    (#{global-extend 28236}#
-      'core
-      'if
-      (lambda (#{e 36078}#
-               #{r 36079}#
-               #{w 36080}#
-               #{s 36081}#
-               #{mod 36082}#)
-        (let ((#{tmp 36084}#
-                ($sc-dispatch #{e 36078}# '(_ any any))))
-          (if #{tmp 36084}#
-            (@apply
-              (lambda (#{test 36088}# #{then 36089}#)
-                (#{build-conditional 28206}#
-                  #{s 36081}#
-                  (#{expand 28271}#
-                    #{test 36088}#
-                    #{r 36079}#
-                    #{w 36080}#
-                    #{mod 36082}#)
-                  (#{expand 28271}#
-                    #{then 36089}#
-                    #{r 36079}#
-                    #{w 36080}#
-                    #{mod 36082}#)
-                  (make-struct/no-tail
-                    (vector-ref %expanded-vtables 0)
-                    #f)))
-              #{tmp 36084}#)
-            (let ((#{tmp 36338}#
-                    ($sc-dispatch #{e 36078}# '(_ any any any))))
-              (if #{tmp 36338}#
-                (@apply
-                  (lambda (#{test 36342}# #{then 36343}# #{else 36344}#)
-                    (#{build-conditional 28206}#
-                      #{s 36081}#
-                      (#{expand 28271}#
-                        #{test 36342}#
-                        #{r 36079}#
-                        #{w 36080}#
-                        #{mod 36082}#)
-                      (#{expand 28271}#
-                        #{then 36343}#
-                        #{r 36079}#
-                        #{w 36080}#
-                        #{mod 36082}#)
-                      (#{expand 28271}#
-                        #{else 36344}#
-                        #{r 36079}#
-                        #{w 36080}#
-                        #{mod 36082}#)))
-                  #{tmp 36338}#)
-                (syntax-violation
-                  #f
-                  "source expression failed to match any pattern"
-                  #{e 36078}#)))))))
-    (#{global-extend 28236}#
-      'core
-      'with-fluids
-      (lambda (#{e 36783}#
-               #{r 36784}#
-               #{w 36785}#
-               #{s 36786}#
-               #{mod 36787}#)
-        (let ((#{tmp 36789}#
-                ($sc-dispatch
-                  #{e 36783}#
-                  '(_ #(each (any any)) any . each-any))))
-          (if #{tmp 36789}#
-            (@apply
-              (lambda (#{fluid 36793}#
-                       #{val 36794}#
-                       #{b 36795}#
-                       #{b* 36796}#)
-                (#{build-dynlet 28207}#
-                  #{s 36786}#
-                  (map (lambda (#{x 36885}#)
-                         (#{expand 28271}#
-                           #{x 36885}#
-                           #{r 36784}#
-                           #{w 36785}#
-                           #{mod 36787}#))
-                       #{fluid 36793}#)
-                  (map (lambda (#{x 36963}#)
-                         (#{expand 28271}#
-                           #{x 36963}#
-                           #{r 36784}#
-                           #{w 36785}#
-                           #{mod 36787}#))
-                       #{val 36794}#)
-                  (#{expand-body 28275}#
-                    (cons #{b 36795}# #{b* 36796}#)
-                    (let ((#{x 37052}#
-                            (begin
-                              (if (if (pair? #{e 36783}#) #{s 36786}# #f)
-                                (set-source-properties!
-                                  #{e 36783}#
-                                  #{s 36786}#))
-                              #{e 36783}#)))
-                      (if (if (null? (car #{w 36785}#))
-                            (null? (cdr #{w 36785}#))
-                            #f)
-                        #{x 37052}#
-                        (if (if (vector? #{x 37052}#)
-                              (if (= (vector-length #{x 37052}#) 4)
-                                (eq? (vector-ref #{x 37052}# 0) 'syntax-object)
-                                #f)
-                              #f)
-                          (let ((#{expression 37084}#
-                                  (vector-ref #{x 37052}# 1))
-                                (#{wrap 37085}#
-                                  (let ((#{w2 37093}#
-                                          (vector-ref #{x 37052}# 2)))
-                                    (let ((#{m1 37094}# (car #{w 36785}#))
-                                          (#{s1 37095}# (cdr #{w 36785}#)))
-                                      (if (null? #{m1 37094}#)
-                                        (if (null? #{s1 37095}#)
-                                          #{w2 37093}#
-                                          (cons (car #{w2 37093}#)
-                                                (let ((#{m2 37110}#
-                                                        (cdr #{w2 37093}#)))
-                                                  (if (null? #{m2 37110}#)
-                                                    #{s1 37095}#
-                                                    (append
-                                                      #{s1 37095}#
-                                                      #{m2 37110}#)))))
-                                        (cons (let ((#{m2 37118}#
-                                                      (car #{w2 37093}#)))
-                                                (if (null? #{m2 37118}#)
-                                                  #{m1 37094}#
-                                                  (append
-                                                    #{m1 37094}#
-                                                    #{m2 37118}#)))
-                                              (let ((#{m2 37126}#
-                                                      (cdr #{w2 37093}#)))
-                                                (if (null? #{m2 37126}#)
-                                                  #{s1 37095}#
-                                                  (append
-                                                    #{s1 37095}#
-                                                    #{m2 37126}#))))))))
-                                (#{module 37086}# (vector-ref #{x 37052}# 3)))
-                            (vector
-                              'syntax-object
-                              #{expression 37084}#
-                              #{wrap 37085}#
-                              #{module 37086}#))
-                          (if (null? #{x 37052}#)
-                            #{x 37052}#
-                            (vector
-                              'syntax-object
-                              #{x 37052}#
-                              #{w 36785}#
-                              #{mod 36787}#)))))
-                    #{r 36784}#
-                    #{w 36785}#
-                    #{mod 36787}#)))
-              #{tmp 36789}#)
-            (syntax-violation
-              #f
-              "source expression failed to match any pattern"
-              #{e 36783}#)))))
-    (module-define!
-      (current-module)
-      'begin
-      (make-syntax-transformer 'begin 'begin '()))
-    (module-define!
-      (current-module)
-      'define
-      (make-syntax-transformer 'define 'define '()))
-    (module-define!
-      (current-module)
-      'define-syntax
-      (make-syntax-transformer
-        'define-syntax
-        'define-syntax
-        '()))
-    (module-define!
-      (current-module)
-      'define-syntax-parameter
-      (make-syntax-transformer
-        'define-syntax-parameter
-        'define-syntax-parameter
-        '()))
-    (module-define!
-      (current-module)
-      'eval-when
-      (make-syntax-transformer
-        'eval-when
-        'eval-when
-        '()))
-    (#{global-extend 28236}#
-      'core
-      'syntax-case
-      (letrec*
-        ((#{convert-pattern 37426}#
-           (lambda (#{pattern 39048}# #{keys 39049}#)
-             (letrec*
-               ((#{cvt* 39050}#
-                  (lambda (#{p* 39849}# #{n 39850}# #{ids 39851}#)
-                    (if (not (pair? #{p* 39849}#))
-                      (#{cvt 39052}#
-                        #{p* 39849}#
-                        #{n 39850}#
-                        #{ids 39851}#)
-                      (call-with-values
-                        (lambda ()
-                          (#{cvt* 39050}#
-                            (cdr #{p* 39849}#)
-                            #{n 39850}#
-                            #{ids 39851}#))
-                        (lambda (#{y 39854}# #{ids 39855}#)
-                          (call-with-values
-                            (lambda ()
-                              (#{cvt 39052}#
-                                (car #{p* 39849}#)
-                                #{n 39850}#
-                                #{ids 39855}#))
-                            (lambda (#{x 39858}# #{ids 39859}#)
-                              (values
-                                (cons #{x 39858}# #{y 39854}#)
-                                #{ids 39859}#))))))))
-                (#{v-reverse 39051}#
-                  (lambda (#{x 39860}#)
-                    (letrec*
-                      ((#{loop 39861}#
-                         (lambda (#{r 39962}# #{x 39963}#)
-                           (if (not (pair? #{x 39963}#))
-                             (values #{r 39962}# #{x 39963}#)
-                             (#{loop 39861}#
-                               (cons (car #{x 39963}#) #{r 39962}#)
-                               (cdr #{x 39963}#))))))
-                      (#{loop 39861}# '() #{x 39860}#))))
-                (#{cvt 39052}#
-                  (lambda (#{p 39055}# #{n 39056}# #{ids 39057}#)
-                    (if (if (symbol? #{p 39055}#)
-                          #t
-                          (if (if (vector? #{p 39055}#)
-                                (if (= (vector-length #{p 39055}#) 4)
-                                  (eq? (vector-ref #{p 39055}# 0)
-                                       'syntax-object)
-                                  #f)
-                                #f)
-                            (symbol? (vector-ref #{p 39055}# 1))
-                            #f))
-                      (if (#{bound-id-member? 28263}#
-                            #{p 39055}#
-                            #{keys 39049}#)
-                        (values
-                          (vector 'free-id #{p 39055}#)
-                          #{ids 39057}#)
-                        (if (#{free-id=? 28259}#
-                              #{p 39055}#
-                              '#(syntax-object
-                                 _
-                                 ((top)
-                                  #(ribcage () () ())
-                                  #(ribcage
-                                    #(p n ids)
-                                    #((top) (top) (top))
-                                    #("i27675" "i27676" "i27677"))
-                                  #(ribcage
-                                    (cvt v-reverse cvt*)
-                                    ((top) (top) (top))
-                                    ("i27648" "i27646" "i27644"))
-                                  #(ribcage
-                                    #(pattern keys)
-                                    #((top) (top))
-                                    #("i27642" "i27643"))
-                                  #(ribcage
-                                    (gen-syntax-case
-                                      gen-clause
-                                      build-dispatch-call
-                                      convert-pattern)
-                                    ((top) (top) (top) (top))
-                                    ("i27638" "i27636" "i27634" "i27632"))
-                                  #(ribcage
-                                    (lambda-var-list
-                                      gen-var
-                                      strip
-                                      expand-lambda-case
-                                      lambda*-formals
-                                      expand-simple-lambda
-                                      lambda-formals
-                                      ellipsis?
-                                      expand-void
-                                      eval-local-transformer
-                                      expand-local-syntax
-                                      expand-body
-                                      expand-macro
-                                      expand-call
-                                      expand-expr
-                                      expand
-                                      syntax-type
-                                      parse-when-list
-                                      expand-install-global
-                                      expand-top-sequence
-                                      expand-sequence
-                                      source-wrap
-                                      wrap
-                                      bound-id-member?
-                                      distinct-bound-ids?
-                                      valid-bound-ids?
-                                      bound-id=?
-                                      free-id=?
-                                      resolve-identifier
-                                      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
-                                      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))
-                                    ("i24298"
-                                     "i24296"
-                                     "i24294"
-                                     "i24292"
-                                     "i24290"
-                                     "i24288"
-                                     "i24286"
-                                     "i24284"
-                                     "i24282"
-                                     "i24280"
-                                     "i24278"
-                                     "i24276"
-                                     "i24274"
-                                     "i24272"
-                                     "i24270"
-                                     "i24268"
-                                     "i24266"
-                                     "i24264"
-                                     "i24262"
-                                     "i24260"
-                                     "i24258"
-                                     "i24256"
-                                     "i24254"
-                                     "i24252"
-                                     "i24250"
-                                     "i24248"
-                                     "i24246"
-                                     "i24244"
-                                     "i24242"
-                                     "i24240"
-                                     "i24238"
-                                     "i24236"
-                                     "i24234"
-                                     "i24232"
-                                     "i24230"
-                                     "i24228"
-                                     "i24227"
-                                     "i24225"
-                                     "i24222"
-                                     "i24221"
-                                     "i24220"
-                                     "i24218"
-                                     "i24217"
-                                     "i24215"
-                                     "i24213"
-                                     "i24211"
-                                     "i24209"
-                                     "i24207"
-                                     "i24205"
-                                     "i24203"
-                                     "i24201"
-                                     "i24198"
-                                     "i24196"
-                                     "i24195"
-                                     "i24193"
-                                     "i24191"
-                                     "i24189"
-                                     "i24187"
-                                     "i24186"
-                                     "i24185"
-                                     "i24184"
-                                     "i24182"
-                                     "i24181"
-                                     "i24178"
-                                     "i24176"
-                                     "i24174"
-                                     "i24172"
-                                     "i24170"
-                                     "i24168"
-                                     "i24167"
-                                     "i24166"
-                                     "i24164"
-                                     "i24162"
-                                     "i24161"
-                                     "i24158"
-                                     "i24157"
-                                     "i24155"
-                                     "i24153"
-                                     "i24151"
-                                     "i24149"
-                                     "i24147"
-                                     "i24145"
-                                     "i24143"
-                                     "i24141"
-                                     "i24139"
-                                     "i24136"
-                                     "i24134"
-                                     "i24132"
-                                     "i24130"
-                                     "i24128"
-                                     "i24126"
-                                     "i24124"
-                                     "i24122"
-                                     "i24120"
-                                     "i24118"
-                                     "i24116"
-                                     "i24114"
-                                     "i24112"
-                                     "i24110"
-                                     "i24108"
-                                     "i24106"
-                                     "i24104"
-                                     "i24102"
-                                     "i24100"
-                                     "i24098"
-                                     "i24096"
-                                     "i24094"
-                                     "i24092"
-                                     "i24090"
-                                     "i24089"
-                                     "i24086"
-                                     "i24084"
-                                     "i24083"
-                                     "i24082"
-                                     "i24081"
-                                     "i24080"
-                                     "i24078"
-                                     "i24076"
-                                     "i24074"
-                                     "i24071"
-                                     "i24069"
-                                     "i24067"
-                                     "i24065"
-                                     "i24063"
-                                     "i24061"
-                                     "i24059"
-                                     "i24057"
-                                     "i24055"
-                                     "i24053"
-                                     "i24051"
-                                     "i24049"
-                                     "i24047"
-                                     "i24045"
-                                     "i24043"
-                                     "i24041"
-                                     "i24039"
-                                     "i24037"
-                                     "i24035"))
-                                  #(ribcage
-                                    (define-structure
-                                      define-expansion-accessors
-                                      define-expansion-constructors)
-                                    ((top) (top) (top))
-                                    ("i23873" "i23872" "i23871"))
-                                  #(ribcage () () ()))
-                                 (hygiene guile)))
-                          (values '_ #{ids 39057}#)
-                          (values
-                            'any
-                            (cons (cons #{p 39055}# #{n 39056}#)
-                                  #{ids 39057}#))))
-                      (let ((#{tmp 39189}#
-                              ($sc-dispatch #{p 39055}# '(any any))))
-                        (if (if #{tmp 39189}#
-                              (@apply
-                                (lambda (#{x 39193}# #{dots 39194}#)
-                                  (if (if (if (vector? #{dots 39194}#)
-                                            (if (= (vector-length
-                                                     #{dots 39194}#)
-                                                   4)
-                                              (eq? (vector-ref
-                                                     #{dots 39194}#
-                                                     0)
-                                                   'syntax-object)
-                                              #f)
-                                            #f)
-                                        (symbol? (vector-ref #{dots 39194}# 1))
-                                        #f)
-                                    (#{free-id=? 28259}#
-                                      #{dots 39194}#
-                                      '#(syntax-object
-                                         ...
-                                         ((top)
-                                          #(ribcage () () ())
-                                          #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i26166"))
-                                          #(ribcage
-                                            (lambda-var-list
-                                              gen-var
-                                              strip
-                                              expand-lambda-case
-                                              lambda*-formals
-                                              expand-simple-lambda
-                                              lambda-formals
-                                              ellipsis?
-                                              expand-void
-                                              eval-local-transformer
-                                              expand-local-syntax
-                                              expand-body
-                                              expand-macro
-                                              expand-call
-                                              expand-expr
-                                              expand
-                                              syntax-type
-                                              parse-when-list
-                                              expand-install-global
-                                              expand-top-sequence
-                                              expand-sequence
-                                              source-wrap
-                                              wrap
-                                              bound-id-member?
-                                              distinct-bound-ids?
-                                              valid-bound-ids?
-                                              bound-id=?
-                                              free-id=?
-                                              resolve-identifier
-                                              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
-                                              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))
-                                            ("i24298"
-                                             "i24296"
-                                             "i24294"
-                                             "i24292"
-                                             "i24290"
-                                             "i24288"
-                                             "i24286"
-                                             "i24284"
-                                             "i24282"
-                                             "i24280"
-                                             "i24278"
-                                             "i24276"
-                                             "i24274"
-                                             "i24272"
-                                             "i24270"
-                                             "i24268"
-                                             "i24266"
-                                             "i24264"
-                                             "i24262"
-                                             "i24260"
-                                             "i24258"
-                                             "i24256"
-                                             "i24254"
-                                             "i24252"
-                                             "i24250"
-                                             "i24248"
-                                             "i24246"
-                                             "i24244"
-                                             "i24242"
-                                             "i24240"
-                                             "i24238"
-                                             "i24236"
-                                             "i24234"
-                                             "i24232"
-                                             "i24230"
-                                             "i24228"
-                                             "i24227"
-                                             "i24225"
-                                             "i24222"
-                                             "i24221"
-                                             "i24220"
-                                             "i24218"
-                                             "i24217"
-                                             "i24215"
-                                             "i24213"
-                                             "i24211"
-                                             "i24209"
-                                             "i24207"
-                                             "i24205"
-                                             "i24203"
-                                             "i24201"
-                                             "i24198"
-                                             "i24196"
-                                             "i24195"
-                                             "i24193"
-                                             "i24191"
-                                             "i24189"
-                                             "i24187"
-                                             "i24186"
-                                             "i24185"
-                                             "i24184"
-                                             "i24182"
-                                             "i24181"
-                                             "i24178"
-                                             "i24176"
-                                             "i24174"
-                                             "i24172"
-                                             "i24170"
-                                             "i24168"
-                                             "i24167"
-                                             "i24166"
-                                             "i24164"
-                                             "i24162"
-                                             "i24161"
-                                             "i24158"
-                                             "i24157"
-                                             "i24155"
-                                             "i24153"
-                                             "i24151"
-                                             "i24149"
-                                             "i24147"
-                                             "i24145"
-                                             "i24143"
-                                             "i24141"
-                                             "i24139"
-                                             "i24136"
-                                             "i24134"
-                                             "i24132"
-                                             "i24130"
-                                             "i24128"
-                                             "i24126"
-                                             "i24124"
-                                             "i24122"
-                                             "i24120"
-                                             "i24118"
-                                             "i24116"
-                                             "i24114"
-                                             "i24112"
-                                             "i24110"
-                                             "i24108"
-                                             "i24106"
-                                             "i24104"
-                                             "i24102"
-                                             "i24100"
-                                             "i24098"
-                                             "i24096"
-                                             "i24094"
-                                             "i24092"
-                                             "i24090"
-                                             "i24089"
-                                             "i24086"
-                                             "i24084"
-                                             "i24083"
-                                             "i24082"
-                                             "i24081"
-                                             "i24080"
-                                             "i24078"
-                                             "i24076"
-                                             "i24074"
-                                             "i24071"
-                                             "i24069"
-                                             "i24067"
-                                             "i24065"
-                                             "i24063"
-                                             "i24061"
-                                             "i24059"
-                                             "i24057"
-                                             "i24055"
-                                             "i24053"
-                                             "i24051"
-                                             "i24049"
-                                             "i24047"
-                                             "i24045"
-                                             "i24043"
-                                             "i24041"
-                                             "i24039"
-                                             "i24037"
-                                             "i24035"))
-                                          #(ribcage
-                                            (define-structure
-                                              define-expansion-accessors
-                                              define-expansion-constructors)
-                                            ((top) (top) (top))
-                                            ("i23873" "i23872" "i23871"))
-                                          #(ribcage () () ()))
-                                         (hygiene guile)))
-                                    #f))
-                                #{tmp 39189}#)
-                              #f)
-                          (@apply
-                            (lambda (#{x 39233}# #{dots 39234}#)
-                              (call-with-values
-                                (lambda ()
-                                  (#{cvt 39052}#
-                                    #{x 39233}#
-                                    (#{1+}# #{n 39056}#)
-                                    #{ids 39057}#))
-                                (lambda (#{p 39235}# #{ids 39236}#)
-                                  (values
-                                    (if (eq? #{p 39235}# 'any)
-                                      'each-any
-                                      (vector 'each #{p 39235}#))
-                                    #{ids 39236}#))))
-                            #{tmp 39189}#)
-                          (let ((#{tmp 39237}#
-                                  ($sc-dispatch #{p 39055}# '(any any . any))))
-                            (if (if #{tmp 39237}#
-                                  (@apply
-                                    (lambda (#{x 39241}#
-                                             #{dots 39242}#
-                                             #{ys 39243}#)
-                                      (if (if (if (vector? #{dots 39242}#)
-                                                (if (= (vector-length
-                                                         #{dots 39242}#)
-                                                       4)
-                                                  (eq? (vector-ref
-                                                         #{dots 39242}#
-                                                         0)
-                                                       'syntax-object)
-                                                  #f)
-                                                #f)
-                                            (symbol?
-                                              (vector-ref #{dots 39242}# 1))
-                                            #f)
-                                        (#{free-id=? 28259}#
-                                          #{dots 39242}#
-                                          '#(syntax-object
-                                             ...
-                                             ((top)
-                                              #(ribcage () () ())
-                                              #(ribcage () () ())
-                                              #(ribcage
-                                                #(x)
-                                                #((top))
-                                                #("i26166"))
-                                              #(ribcage
-                                                (lambda-var-list
-                                                  gen-var
-                                                  strip
-                                                  expand-lambda-case
-                                                  lambda*-formals
-                                                  expand-simple-lambda
-                                                  lambda-formals
-                                                  ellipsis?
-                                                  expand-void
-                                                  eval-local-transformer
-                                                  expand-local-syntax
-                                                  expand-body
-                                                  expand-macro
-                                                  expand-call
-                                                  expand-expr
-                                                  expand
-                                                  syntax-type
-                                                  parse-when-list
-                                                  expand-install-global
-                                                  expand-top-sequence
-                                                  expand-sequence
-                                                  source-wrap
-                                                  wrap
-                                                  bound-id-member?
-                                                  distinct-bound-ids?
-                                                  valid-bound-ids?
-                                                  bound-id=?
-                                                  free-id=?
-                                                  resolve-identifier
-                                                  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
-                                                  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))
-                                                ("i24298"
-                                                 "i24296"
-                                                 "i24294"
-                                                 "i24292"
-                                                 "i24290"
-                                                 "i24288"
-                                                 "i24286"
-                                                 "i24284"
-                                                 "i24282"
-                                                 "i24280"
-                                                 "i24278"
-                                                 "i24276"
-                                                 "i24274"
-                                                 "i24272"
-                                                 "i24270"
-                                                 "i24268"
-                                                 "i24266"
-                                                 "i24264"
-                                                 "i24262"
-                                                 "i24260"
-                                                 "i24258"
-                                                 "i24256"
-                                                 "i24254"
-                                                 "i24252"
-                                                 "i24250"
-                                                 "i24248"
-                                                 "i24246"
-                                                 "i24244"
-                                                 "i24242"
-                                                 "i24240"
-                                                 "i24238"
-                                                 "i24236"
-                                                 "i24234"
-                                                 "i24232"
-                                                 "i24230"
-                                                 "i24228"
-                                                 "i24227"
-                                                 "i24225"
-                                                 "i24222"
-                                                 "i24221"
-                                                 "i24220"
-                                                 "i24218"
-                                                 "i24217"
-                                                 "i24215"
-                                                 "i24213"
-                                                 "i24211"
-                                                 "i24209"
-                                                 "i24207"
-                                                 "i24205"
-                                                 "i24203"
-                                                 "i24201"
-                                                 "i24198"
-                                                 "i24196"
-                                                 "i24195"
-                                                 "i24193"
-                                                 "i24191"
-                                                 "i24189"
-                                                 "i24187"
-                                                 "i24186"
-                                                 "i24185"
-                                                 "i24184"
-                                                 "i24182"
-                                                 "i24181"
-                                                 "i24178"
-                                                 "i24176"
-                                                 "i24174"
-                                                 "i24172"
-                                                 "i24170"
-                                                 "i24168"
-                                                 "i24167"
-                                                 "i24166"
-                                                 "i24164"
-                                                 "i24162"
-                                                 "i24161"
-                                                 "i24158"
-                                                 "i24157"
-                                                 "i24155"
-                                                 "i24153"
-                                                 "i24151"
-                                                 "i24149"
-                                                 "i24147"
-                                                 "i24145"
-                                                 "i24143"
-                                                 "i24141"
-                                                 "i24139"
-                                                 "i24136"
-                                                 "i24134"
-                                                 "i24132"
-                                                 "i24130"
-                                                 "i24128"
-                                                 "i24126"
-                                                 "i24124"
-                                                 "i24122"
-                                                 "i24120"
-                                                 "i24118"
-                                                 "i24116"
-                                                 "i24114"
-                                                 "i24112"
-                                                 "i24110"
-                                                 "i24108"
-                                                 "i24106"
-                                                 "i24104"
-                                                 "i24102"
-                                                 "i24100"
-                                                 "i24098"
-                                                 "i24096"
-                                                 "i24094"
-                                                 "i24092"
-                                                 "i24090"
-                                                 "i24089"
-                                                 "i24086"
-                                                 "i24084"
-                                                 "i24083"
-                                                 "i24082"
-                                                 "i24081"
-                                                 "i24080"
-                                                 "i24078"
-                                                 "i24076"
-                                                 "i24074"
-                                                 "i24071"
-                                                 "i24069"
-                                                 "i24067"
-                                                 "i24065"
-                                                 "i24063"
-                                                 "i24061"
-                                                 "i24059"
-                                                 "i24057"
-                                                 "i24055"
-                                                 "i24053"
-                                                 "i24051"
-                                                 "i24049"
-                                                 "i24047"
-                                                 "i24045"
-                                                 "i24043"
-                                                 "i24041"
-                                                 "i24039"
-                                                 "i24037"
-                                                 "i24035"))
-                                              #(ribcage
-                                                (define-structure
-                                                  define-expansion-accessors
-                                                  
define-expansion-constructors)
-                                                ((top) (top) (top))
-                                                ("i23873" "i23872" "i23871"))
-                                              #(ribcage () () ()))
-                                             (hygiene guile)))
-                                        #f))
-                                    #{tmp 39237}#)
-                                  #f)
-                              (@apply
-                                (lambda (#{x 39282}#
-                                         #{dots 39283}#
-                                         #{ys 39284}#)
-                                  (call-with-values
-                                    (lambda ()
-                                      (#{cvt* 39050}#
-                                        #{ys 39284}#
-                                        #{n 39056}#
-                                        #{ids 39057}#))
-                                    (lambda (#{ys 39769}# #{ids 39770}#)
-                                      (call-with-values
-                                        (lambda ()
-                                          (#{cvt 39052}#
-                                            #{x 39282}#
-                                            (#{1+}# #{n 39056}#)
-                                            #{ids 39770}#))
-                                        (lambda (#{x 39771}# #{ids 39772}#)
-                                          (call-with-values
-                                            (lambda ()
-                                              (#{v-reverse 39051}#
-                                                #{ys 39769}#))
-                                            (lambda (#{ys 39808}# #{e 39809}#)
-                                              (values
+                                                                             
e-25084
+                                                                             
2)))
+                                                                     (let 
((m1-26115
+                                                                             
(car w-25086))
+                                                                           
(s1-26116
+                                                                             
(cdr w-25086)))
+                                                                       (if 
(null? m1-26115)
+                                                                         (if 
(null? s1-26116)
+                                                                           
w2-26114
+                                                                           
(cons (car w2-26114)
+                                                                               
  (let ((m2-26133
+                                                                               
          (cdr w2-26114)))
+                                                                               
    (if (null? m2-26133)
+                                                                               
      s1-26116
+                                                                               
      (append
+                                                                               
        s1-26116
+                                                                               
        m2-26133)))))
+                                                                         (cons 
(let ((m2-26141
+                                                                               
        (car w2-26114)))
+                                                                               
  (if (null? m2-26141)
+                                                                               
    m1-26115
+                                                                               
    (append
+                                                                               
      m1-26115
+                                                                               
      m2-26141)))
+                                                                               
(let ((m2-26149
+                                                                               
        (cdr w2-26114)))
+                                                                               
  (if (null? m2-26149)
+                                                                               
    s1-26116
+                                                                               
    (append
+                                                                               
      s1-26116
+                                                                               
      m2-26149))))))))
+                                                                 (module-26105
+                                                                   (vector-ref
+                                                                     e-25084
+                                                                     3)))
+                                                             (vector
+                                                               'syntax-object
+                                                               expression-26103
+                                                               wrap-26104
+                                                               module-26105))
+                                                           (if (null? e-25084)
+                                                             e-25084
+                                                             (vector
+                                                               'syntax-object
+                                                               e-25084
+                                                               w-25086
+                                                               mod-25089))))
+                                                       '(#(syntax-object
+                                                           if
+                                                           ((top)
+                                                            #(ribcage
+                                                              #(name)
+                                                              #((top))
+                                                              #("l-*-2034"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(ftype
+                                                                fval
+                                                                fform
+                                                                fe
+                                                                fw
+                                                                fs
+                                                                fmod)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("l-*-1973"
+                                                                "l-*-1974"
+                                                                "l-*-1975"
+                                                                "l-*-1976"
+                                                                "l-*-1977"
+                                                                "l-*-1978"
+                                                                "l-*-1979"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(first)
+                                                              #((top))
+                                                              #("l-*-1964"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(e
+                                                                r
+                                                                w
+                                                                s
+                                                                rib
+                                                                mod
+                                                                for-car?)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("l-*-1943"
+                                                                "l-*-1944"
+                                                                "l-*-1945"
+                                                                "l-*-1946"
+                                                                "l-*-1947"
+                                                                "l-*-1948"
+                                                                "l-*-1949"))
+                                                            #(ribcage
+                                                              (lambda-var-list
+                                                                gen-var
+                                                                strip
+                                                                
expand-lambda-case
+                                                                lambda*-formals
+                                                                
expand-simple-lambda
+                                                                lambda-formals
+                                                                ellipsis?
+                                                                expand-void
+                                                                
eval-local-transformer
+                                                                
expand-local-syntax
+                                                                expand-body
+                                                                expand-macro
+                                                                expand-call
+                                                                expand-expr
+                                                                expand
+                                                                syntax-type
+                                                                parse-when-list
+                                                                
expand-install-global
+                                                                
expand-top-sequence
+                                                                expand-sequence
+                                                                source-wrap
+                                                                wrap
+                                                                
bound-id-member?
+                                                                
distinct-bound-ids?
+                                                                
valid-bound-ids?
+                                                                bound-id=?
+                                                                free-id=?
+                                                                
with-transformer-environment
+                                                                
transformer-environment
+                                                                
resolve-identifier
+                                                                
locally-bound-identifiers
+                                                                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
+                                                                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
+                                                                session-id
+                                                                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)
+                                                               (top)
+                                                               (top)
+                                                               (top))
+                                                              ("l-*-478"
+                                                               "l-*-476"
+                                                               "l-*-474"
+                                                               "l-*-472"
+                                                               "l-*-470"
+                                                               "l-*-468"
+                                                               "l-*-466"
+                                                               "l-*-464"
+                                                               "l-*-462"
+                                                               "l-*-460"
+                                                               "l-*-458"
+                                                               "l-*-456"
+                                                               "l-*-454"
+                                                               "l-*-452"
+                                                               "l-*-450"
+                                                               "l-*-448"
+                                                               "l-*-446"
+                                                               "l-*-444"
+                                                               "l-*-442"
+                                                               "l-*-440"
+                                                               "l-*-438"
+                                                               "l-*-436"
+                                                               "l-*-434"
+                                                               "l-*-432"
+                                                               "l-*-430"
+                                                               "l-*-428"
+                                                               "l-*-426"
+                                                               "l-*-424"
+                                                               "l-*-422"
+                                                               "l-*-420"
+                                                               "l-*-418"
+                                                               "l-*-416"
+                                                               "l-*-414"
+                                                               "l-*-412"
+                                                               "l-*-410"
+                                                               "l-*-408"
+                                                               "l-*-406"
+                                                               "l-*-404"
+                                                               "l-*-402"
+                                                               "l-*-401"
+                                                               "l-*-399"
+                                                               "l-*-396"
+                                                               "l-*-395"
+                                                               "l-*-394"
+                                                               "l-*-392"
+                                                               "l-*-391"
+                                                               "l-*-389"
+                                                               "l-*-387"
+                                                               "l-*-385"
+                                                               "l-*-383"
+                                                               "l-*-381"
+                                                               "l-*-379"
+                                                               "l-*-377"
+                                                               "l-*-375"
+                                                               "l-*-372"
+                                                               "l-*-370"
+                                                               "l-*-369"
+                                                               "l-*-367"
+                                                               "l-*-365"
+                                                               "l-*-363"
+                                                               "l-*-361"
+                                                               "l-*-360"
+                                                               "l-*-359"
+                                                               "l-*-358"
+                                                               "l-*-356"
+                                                               "l-*-355"
+                                                               "l-*-352"
+                                                               "l-*-350"
+                                                               "l-*-348"
+                                                               "l-*-346"
+                                                               "l-*-344"
+                                                               "l-*-342"
+                                                               "l-*-341"
+                                                               "l-*-340"
+                                                               "l-*-338"
+                                                               "l-*-336"
+                                                               "l-*-335"
+                                                               "l-*-332"
+                                                               "l-*-331"
+                                                               "l-*-329"
+                                                               "l-*-327"
+                                                               "l-*-325"
+                                                               "l-*-323"
+                                                               "l-*-321"
+                                                               "l-*-319"
+                                                               "l-*-317"
+                                                               "l-*-315"
+                                                               "l-*-313"
+                                                               "l-*-310"
+                                                               "l-*-308"
+                                                               "l-*-306"
+                                                               "l-*-304"
+                                                               "l-*-302"
+                                                               "l-*-300"
+                                                               "l-*-298"
+                                                               "l-*-296"
+                                                               "l-*-294"
+                                                               "l-*-292"
+                                                               "l-*-290"
+                                                               "l-*-288"
+                                                               "l-*-286"
+                                                               "l-*-284"
+                                                               "l-*-282"
+                                                               "l-*-280"
+                                                               "l-*-278"
+                                                               "l-*-276"
+                                                               "l-*-274"
+                                                               "l-*-272"
+                                                               "l-*-270"
+                                                               "l-*-268"
+                                                               "l-*-266"
+                                                               "l-*-264"
+                                                               "l-*-262"
+                                                               "l-*-260"
+                                                               "l-*-258"
+                                                               "l-*-257"
+                                                               "l-*-256"
+                                                               "l-*-255"
+                                                               "l-*-254"
+                                                               "l-*-252"
+                                                               "l-*-250"
+                                                               "l-*-248"
+                                                               "l-*-245"
+                                                               "l-*-243"
+                                                               "l-*-241"
+                                                               "l-*-239"
+                                                               "l-*-237"
+                                                               "l-*-235"
+                                                               "l-*-233"
+                                                               "l-*-231"
+                                                               "l-*-229"
+                                                               "l-*-227"
+                                                               "l-*-225"
+                                                               "l-*-223"
+                                                               "l-*-221"
+                                                               "l-*-219"
+                                                               "l-*-217"
+                                                               "l-*-215"
+                                                               "l-*-213"
+                                                               "l-*-211"
+                                                               "l-*-209"))
+                                                            #(ribcage
+                                                              (define-structure
+                                                                
define-expansion-accessors
+                                                                
define-expansion-constructors)
+                                                              ((top)
+                                                               (top)
+                                                               (top))
+                                                              ("l-*-47"
+                                                               "l-*-46"
+                                                               "l-*-45"))
+                                                            #(ribcage
+                                                              ()
+                                                              ()
+                                                              ()))
+                                                           (hygiene guile))
+                                                         #(syntax-object
+                                                           #f
+                                                           ((top)
+                                                            #(ribcage
+                                                              #(name)
+                                                              #((top))
+                                                              #("l-*-2034"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(ftype
+                                                                fval
+                                                                fform
+                                                                fe
+                                                                fw
+                                                                fs
+                                                                fmod)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("l-*-1973"
+                                                                "l-*-1974"
+                                                                "l-*-1975"
+                                                                "l-*-1976"
+                                                                "l-*-1977"
+                                                                "l-*-1978"
+                                                                "l-*-1979"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(first)
+                                                              #((top))
+                                                              #("l-*-1964"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(e
+                                                                r
+                                                                w
+                                                                s
+                                                                rib
+                                                                mod
+                                                                for-car?)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("l-*-1943"
+                                                                "l-*-1944"
+                                                                "l-*-1945"
+                                                                "l-*-1946"
+                                                                "l-*-1947"
+                                                                "l-*-1948"
+                                                                "l-*-1949"))
+                                                            #(ribcage
+                                                              (lambda-var-list
+                                                                gen-var
+                                                                strip
+                                                                
expand-lambda-case
+                                                                lambda*-formals
+                                                                
expand-simple-lambda
+                                                                lambda-formals
+                                                                ellipsis?
+                                                                expand-void
+                                                                
eval-local-transformer
+                                                                
expand-local-syntax
+                                                                expand-body
+                                                                expand-macro
+                                                                expand-call
+                                                                expand-expr
+                                                                expand
+                                                                syntax-type
+                                                                parse-when-list
+                                                                
expand-install-global
+                                                                
expand-top-sequence
+                                                                expand-sequence
+                                                                source-wrap
+                                                                wrap
+                                                                
bound-id-member?
+                                                                
distinct-bound-ids?
+                                                                
valid-bound-ids?
+                                                                bound-id=?
+                                                                free-id=?
+                                                                
with-transformer-environment
+                                                                
transformer-environment
+                                                                
resolve-identifier
+                                                                
locally-bound-identifiers
+                                                                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
+                                                                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
+                                                                session-id
+                                                                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)
+                                                               (top)
+                                                               (top)
+                                                               (top))
+                                                              ("l-*-478"
+                                                               "l-*-476"
+                                                               "l-*-474"
+                                                               "l-*-472"
+                                                               "l-*-470"
+                                                               "l-*-468"
+                                                               "l-*-466"
+                                                               "l-*-464"
+                                                               "l-*-462"
+                                                               "l-*-460"
+                                                               "l-*-458"
+                                                               "l-*-456"
+                                                               "l-*-454"
+                                                               "l-*-452"
+                                                               "l-*-450"
+                                                               "l-*-448"
+                                                               "l-*-446"
+                                                               "l-*-444"
+                                                               "l-*-442"
+                                                               "l-*-440"
+                                                               "l-*-438"
+                                                               "l-*-436"
+                                                               "l-*-434"
+                                                               "l-*-432"
+                                                               "l-*-430"
+                                                               "l-*-428"
+                                                               "l-*-426"
+                                                               "l-*-424"
+                                                               "l-*-422"
+                                                               "l-*-420"
+                                                               "l-*-418"
+                                                               "l-*-416"
+                                                               "l-*-414"
+                                                               "l-*-412"
+                                                               "l-*-410"
+                                                               "l-*-408"
+                                                               "l-*-406"
+                                                               "l-*-404"
+                                                               "l-*-402"
+                                                               "l-*-401"
+                                                               "l-*-399"
+                                                               "l-*-396"
+                                                               "l-*-395"
+                                                               "l-*-394"
+                                                               "l-*-392"
+                                                               "l-*-391"
+                                                               "l-*-389"
+                                                               "l-*-387"
+                                                               "l-*-385"
+                                                               "l-*-383"
+                                                               "l-*-381"
+                                                               "l-*-379"
+                                                               "l-*-377"
+                                                               "l-*-375"
+                                                               "l-*-372"
+                                                               "l-*-370"
+                                                               "l-*-369"
+                                                               "l-*-367"
+                                                               "l-*-365"
+                                                               "l-*-363"
+                                                               "l-*-361"
+                                                               "l-*-360"
+                                                               "l-*-359"
+                                                               "l-*-358"
+                                                               "l-*-356"
+                                                               "l-*-355"
+                                                               "l-*-352"
+                                                               "l-*-350"
+                                                               "l-*-348"
+                                                               "l-*-346"
+                                                               "l-*-344"
+                                                               "l-*-342"
+                                                               "l-*-341"
+                                                               "l-*-340"
+                                                               "l-*-338"
+                                                               "l-*-336"
+                                                               "l-*-335"
+                                                               "l-*-332"
+                                                               "l-*-331"
+                                                               "l-*-329"
+                                                               "l-*-327"
+                                                               "l-*-325"
+                                                               "l-*-323"
+                                                               "l-*-321"
+                                                               "l-*-319"
+                                                               "l-*-317"
+                                                               "l-*-315"
+                                                               "l-*-313"
+                                                               "l-*-310"
+                                                               "l-*-308"
+                                                               "l-*-306"
+                                                               "l-*-304"
+                                                               "l-*-302"
+                                                               "l-*-300"
+                                                               "l-*-298"
+                                                               "l-*-296"
+                                                               "l-*-294"
+                                                               "l-*-292"
+                                                               "l-*-290"
+                                                               "l-*-288"
+                                                               "l-*-286"
+                                                               "l-*-284"
+                                                               "l-*-282"
+                                                               "l-*-280"
+                                                               "l-*-278"
+                                                               "l-*-276"
+                                                               "l-*-274"
+                                                               "l-*-272"
+                                                               "l-*-270"
+                                                               "l-*-268"
+                                                               "l-*-266"
+                                                               "l-*-264"
+                                                               "l-*-262"
+                                                               "l-*-260"
+                                                               "l-*-258"
+                                                               "l-*-257"
+                                                               "l-*-256"
+                                                               "l-*-255"
+                                                               "l-*-254"
+                                                               "l-*-252"
+                                                               "l-*-250"
+                                                               "l-*-248"
+                                                               "l-*-245"
+                                                               "l-*-243"
+                                                               "l-*-241"
+                                                               "l-*-239"
+                                                               "l-*-237"
+                                                               "l-*-235"
+                                                               "l-*-233"
+                                                               "l-*-231"
+                                                               "l-*-229"
+                                                               "l-*-227"
+                                                               "l-*-225"
+                                                               "l-*-223"
+                                                               "l-*-221"
+                                                               "l-*-219"
+                                                               "l-*-217"
+                                                               "l-*-215"
+                                                               "l-*-213"
+                                                               "l-*-211"
+                                                               "l-*-209"))
+                                                            #(ribcage
+                                                              (define-structure
+                                                                
define-expansion-accessors
+                                                                
define-expansion-constructors)
+                                                              ((top)
+                                                               (top)
+                                                               (top))
+                                                              ("l-*-47"
+                                                               "l-*-46"
+                                                               "l-*-45"))
+                                                            #(ribcage
+                                                              ()
+                                                              ()
+                                                              ()))
+                                                           (hygiene guile))
+                                                         #(syntax-object
+                                                           #f
+                                                           ((top)
+                                                            #(ribcage
+                                                              #(name)
+                                                              #((top))
+                                                              #("l-*-2034"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(ftype
+                                                                fval
+                                                                fform
+                                                                fe
+                                                                fw
+                                                                fs
+                                                                fmod)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("l-*-1973"
+                                                                "l-*-1974"
+                                                                "l-*-1975"
+                                                                "l-*-1976"
+                                                                "l-*-1977"
+                                                                "l-*-1978"
+                                                                "l-*-1979"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(first)
+                                                              #((top))
+                                                              #("l-*-1964"))
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage () () ())
+                                                            #(ribcage
+                                                              #(e
+                                                                r
+                                                                w
+                                                                s
+                                                                rib
+                                                                mod
+                                                                for-car?)
+                                                              #((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                              #("l-*-1943"
+                                                                "l-*-1944"
+                                                                "l-*-1945"
+                                                                "l-*-1946"
+                                                                "l-*-1947"
+                                                                "l-*-1948"
+                                                                "l-*-1949"))
+                                                            #(ribcage
+                                                              (lambda-var-list
+                                                                gen-var
+                                                                strip
+                                                                
expand-lambda-case
+                                                                lambda*-formals
+                                                                
expand-simple-lambda
+                                                                lambda-formals
+                                                                ellipsis?
+                                                                expand-void
+                                                                
eval-local-transformer
+                                                                
expand-local-syntax
+                                                                expand-body
+                                                                expand-macro
+                                                                expand-call
+                                                                expand-expr
+                                                                expand
+                                                                syntax-type
+                                                                parse-when-list
+                                                                
expand-install-global
+                                                                
expand-top-sequence
+                                                                expand-sequence
+                                                                source-wrap
+                                                                wrap
+                                                                
bound-id-member?
+                                                                
distinct-bound-ids?
+                                                                
valid-bound-ids?
+                                                                bound-id=?
+                                                                free-id=?
+                                                                
with-transformer-environment
+                                                                
transformer-environment
+                                                                
resolve-identifier
+                                                                
locally-bound-identifiers
+                                                                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
+                                                                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
+                                                                session-id
+                                                                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)
+                                                               (top)
+                                                               (top)
+                                                               (top))
+                                                              ("l-*-478"
+                                                               "l-*-476"
+                                                               "l-*-474"
+                                                               "l-*-472"
+                                                               "l-*-470"
+                                                               "l-*-468"
+                                                               "l-*-466"
+                                                               "l-*-464"
+                                                               "l-*-462"
+                                                               "l-*-460"
+                                                               "l-*-458"
+                                                               "l-*-456"
+                                                               "l-*-454"
+                                                               "l-*-452"
+                                                               "l-*-450"
+                                                               "l-*-448"
+                                                               "l-*-446"
+                                                               "l-*-444"
+                                                               "l-*-442"
+                                                               "l-*-440"
+                                                               "l-*-438"
+                                                               "l-*-436"
+                                                               "l-*-434"
+                                                               "l-*-432"
+                                                               "l-*-430"
+                                                               "l-*-428"
+                                                               "l-*-426"
+                                                               "l-*-424"
+                                                               "l-*-422"
+                                                               "l-*-420"
+                                                               "l-*-418"
+                                                               "l-*-416"
+                                                               "l-*-414"
+                                                               "l-*-412"
+                                                               "l-*-410"
+                                                               "l-*-408"
+                                                               "l-*-406"
+                                                               "l-*-404"
+                                                               "l-*-402"
+                                                               "l-*-401"
+                                                               "l-*-399"
+                                                               "l-*-396"
+                                                               "l-*-395"
+                                                               "l-*-394"
+                                                               "l-*-392"
+                                                               "l-*-391"
+                                                               "l-*-389"
+                                                               "l-*-387"
+                                                               "l-*-385"
+                                                               "l-*-383"
+                                                               "l-*-381"
+                                                               "l-*-379"
+                                                               "l-*-377"
+                                                               "l-*-375"
+                                                               "l-*-372"
+                                                               "l-*-370"
+                                                               "l-*-369"
+                                                               "l-*-367"
+                                                               "l-*-365"
+                                                               "l-*-363"
+                                                               "l-*-361"
+                                                               "l-*-360"
+                                                               "l-*-359"
+                                                               "l-*-358"
+                                                               "l-*-356"
+                                                               "l-*-355"
+                                                               "l-*-352"
+                                                               "l-*-350"
+                                                               "l-*-348"
+                                                               "l-*-346"
+                                                               "l-*-344"
+                                                               "l-*-342"
+                                                               "l-*-341"
+                                                               "l-*-340"
+                                                               "l-*-338"
+                                                               "l-*-336"
+                                                               "l-*-335"
+                                                               "l-*-332"
+                                                               "l-*-331"
+                                                               "l-*-329"
+                                                               "l-*-327"
+                                                               "l-*-325"
+                                                               "l-*-323"
+                                                               "l-*-321"
+                                                               "l-*-319"
+                                                               "l-*-317"
+                                                               "l-*-315"
+                                                               "l-*-313"
+                                                               "l-*-310"
+                                                               "l-*-308"
+                                                               "l-*-306"
+                                                               "l-*-304"
+                                                               "l-*-302"
+                                                               "l-*-300"
+                                                               "l-*-298"
+                                                               "l-*-296"
+                                                               "l-*-294"
+                                                               "l-*-292"
+                                                               "l-*-290"
+                                                               "l-*-288"
+                                                               "l-*-286"
+                                                               "l-*-284"
+                                                               "l-*-282"
+                                                               "l-*-280"
+                                                               "l-*-278"
+                                                               "l-*-276"
+                                                               "l-*-274"
+                                                               "l-*-272"
+                                                               "l-*-270"
+                                                               "l-*-268"
+                                                               "l-*-266"
+                                                               "l-*-264"
+                                                               "l-*-262"
+                                                               "l-*-260"
+                                                               "l-*-258"
+                                                               "l-*-257"
+                                                               "l-*-256"
+                                                               "l-*-255"
+                                                               "l-*-254"
+                                                               "l-*-252"
+                                                               "l-*-250"
+                                                               "l-*-248"
+                                                               "l-*-245"
+                                                               "l-*-243"
+                                                               "l-*-241"
+                                                               "l-*-239"
+                                                               "l-*-237"
+                                                               "l-*-235"
+                                                               "l-*-233"
+                                                               "l-*-231"
+                                                               "l-*-229"
+                                                               "l-*-227"
+                                                               "l-*-225"
+                                                               "l-*-223"
+                                                               "l-*-221"
+                                                               "l-*-219"
+                                                               "l-*-217"
+                                                               "l-*-215"
+                                                               "l-*-213"
+                                                               "l-*-211"
+                                                               "l-*-209"))
+                                                            #(ribcage
+                                                              (define-structure
+                                                                
define-expansion-accessors
+                                                                
define-expansion-constructors)
+                                                              ((top)
+                                                               (top)
+                                                               (top))
+                                                              ("l-*-47"
+                                                               "l-*-46"
+                                                               "l-*-45"))
+                                                            #(ribcage
+                                                              ()
+                                                              ()
+                                                              ()))
+                                                           (hygiene guile)))
+                                                       '(())
+                                                       s-25087
+                                                       mod-25089))
+                                                   tmp-25944)
+                                                 (syntax-violation
+                                                   #f
+                                                   "source expression failed 
to match any pattern"
+                                                   e-25084)))))))
+                                     (if (eqv? ftype-25106 'define-syntax)
+                                       (let ((tmp-26188
+                                               ($sc-dispatch
+                                                 e-25084
+                                                 '(_ any any))))
+                                         (if (if tmp-26188
+                                               (@apply
+                                                 (lambda (name-26192 val-26193)
+                                                   (if (symbol? name-26192)
+                                                     #t
+                                                     (if (if (vector?
+                                                               name-26192)
+                                                           (if (= 
(vector-length
+                                                                    name-26192)
+                                                                  4)
+                                                             (eq? (vector-ref
+                                                                    name-26192
+                                                                    0)
+                                                                  
'syntax-object)
+                                                             #f)
+                                                           #f)
+                                                       (symbol?
+                                                         (vector-ref
+                                                           name-26192
+                                                           1))
+                                                       #f)))
+                                                 tmp-26188)
+                                               #f)
+                                           (@apply
+                                             (lambda (name-26220 val-26221)
+                                               (values
+                                                 'define-syntax-form
+                                                 name-26220
+                                                 e-25084
+                                                 val-26221
+                                                 w-25086
+                                                 s-25087
+                                                 mod-25089))
+                                             tmp-26188)
+                                           (syntax-violation
+                                             #f
+                                             "source expression failed to 
match any pattern"
+                                             e-25084)))
+                                       (if (eqv? ftype-25106
+                                                 'define-syntax-parameter)
+                                         (let ((tmp-26232
+                                                 ($sc-dispatch
+                                                   e-25084
+                                                   '(_ any any))))
+                                           (if (if tmp-26232
+                                                 (@apply
+                                                   (lambda (name-26236
+                                                            val-26237)
+                                                     (if (symbol? name-26236)
+                                                       #t
+                                                       (if (if (vector?
+                                                                 name-26236)
+                                                             (if (= 
(vector-length
+                                                                      
name-26236)
+                                                                    4)
+                                                               (eq? (vector-ref
+                                                                      
name-26236
+                                                                      0)
+                                                                    
'syntax-object)
+                                                               #f)
+                                                             #f)
+                                                         (symbol?
+                                                           (vector-ref
+                                                             name-26236
+                                                             1))
+                                                         #f)))
+                                                   tmp-26232)
+                                                 #f)
+                                             (@apply
+                                               (lambda (name-26264 val-26265)
+                                                 (values
+                                                   
'define-syntax-parameter-form
+                                                   name-26264
+                                                   e-25084
+                                                   val-26265
+                                                   w-25086
+                                                   s-25087
+                                                   mod-25089))
+                                               tmp-26232)
+                                             (syntax-violation
+                                               #f
+                                               "source expression failed to 
match any pattern"
+                                               e-25084)))
+                                         (values
+                                           'call
+                                           #f
+                                           e-25084
+                                           e-25084
+                                           w-25086
+                                           s-25087
+                                           mod-25089)))))))))))))))
+             (if (if (vector? e-25084)
+                   (if (= (vector-length e-25084) 4)
+                     (eq? (vector-ref e-25084 0) 'syntax-object)
+                     #f)
+                   #f)
+               (syntax-type-4585
+                 (vector-ref e-25084 1)
+                 r-25085
+                 (let ((w2-26290 (vector-ref e-25084 2)))
+                   (let ((m1-26291 (car w-25086))
+                         (s1-26292 (cdr w-25086)))
+                     (if (null? m1-26291)
+                       (if (null? s1-26292)
+                         w2-26290
+                         (cons (car w2-26290)
+                               (let ((m2-26303 (cdr w2-26290)))
+                                 (if (null? m2-26303)
+                                   s1-26292
+                                   (append s1-26292 m2-26303)))))
+                       (cons (let ((m2-26311 (car w2-26290)))
+                               (if (null? m2-26311)
+                                 m1-26291
+                                 (append m1-26291 m2-26311)))
+                             (let ((m2-26319 (cdr w2-26290)))
+                               (if (null? m2-26319)
+                                 s1-26292
+                                 (append s1-26292 m2-26319)))))))
+                 (let ((t-26324 (source-annotation-4544 e-25084)))
+                   (if t-26324 t-26324 s-25087))
+                 rib-25088
+                 (let ((t-26600 (vector-ref e-25084 3)))
+                   (if t-26600 t-26600 mod-25089))
+                 for-car?-25090)
+               (if (self-evaluating? e-25084)
+                 (values
+                   'constant
+                   #f
+                   e-25084
+                   e-25084
+                   w-25086
+                   s-25087
+                   mod-25089)
+                 (values
+                   'other
+                   #f
+                   e-25084
+                   e-25084
+                   w-25086
+                   s-25087
+                   mod-25089)))))))
+     (expand-4586
+       (lambda (e-26609 r-26610 w-26611 mod-26612)
+         (call-with-values
+           (lambda ()
+             (syntax-type-4585
+               e-26609
+               r-26610
+               w-26611
+               (source-annotation-4544 e-26609)
+               #f
+               mod-26612
+               #f))
+           (lambda (type-26798
+                    value-26799
+                    form-26800
+                    e-26801
+                    w-26802
+                    s-26803
+                    mod-26804)
+             (expand-expr-4587
+               type-26798
+               value-26799
+               form-26800
+               e-26801
+               r-26610
+               w-26802
+               s-26803
+               mod-26804)))))
+     (expand-expr-4587
+       (lambda (type-26807
+                value-26808
+                form-26809
+                e-26810
+                r-26811
+                w-26812
+                s-26813
+                mod-26814)
+         (if (eqv? type-26807 'lexical)
+           (make-struct/no-tail
+             (vector-ref %expanded-vtables 3)
+             s-26813
+             e-26810
+             value-26808)
+           (if (if (eqv? type-26807 'core)
+                 #t
+                 (eqv? type-26807 'core-form))
+             (value-26808
+               e-26810
+               r-26811
+               w-26812
+               s-26813
+               mod-26814)
+             (if (eqv? type-26807 'module-ref)
+               (call-with-values
+                 (lambda () (value-26808 e-26810 r-26811 w-26812))
+                 (lambda (e-26840 r-26841 w-26842 s-26843 mod-26844)
+                   (expand-4586 e-26840 r-26841 w-26842 mod-26844)))
+               (if (eqv? type-26807 'lexical-call)
+                 (expand-call-4588
+                   (let ((id-27017 (car e-26810)))
+                     (build-lexical-reference-4520
+                       'fun
+                       (source-annotation-4544 id-27017)
+                       (if (if (vector? id-27017)
+                             (if (= (vector-length id-27017) 4)
+                               (eq? (vector-ref id-27017 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (syntax->datum id-27017)
+                         id-27017)
+                       value-26808))
+                   e-26810
+                   r-26811
+                   w-26812
+                   s-26813
+                   mod-26814)
+                 (if (eqv? type-26807 'global-call)
+                   (expand-call-4588
+                     (build-global-reference-4523
+                       (source-annotation-4544 (car e-26810))
+                       (if (if (vector? value-26808)
+                             (if (= (vector-length value-26808) 4)
+                               (eq? (vector-ref value-26808 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (vector-ref value-26808 1)
+                         value-26808)
+                       (if (if (vector? value-26808)
+                             (if (= (vector-length value-26808) 4)
+                               (eq? (vector-ref value-26808 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (vector-ref value-26808 3)
+                         mod-26814))
+                     e-26810
+                     r-26811
+                     w-26812
+                     s-26813
+                     mod-26814)
+                   (if (eqv? type-26807 'constant)
+                     (let ((exp-27691
+                             (strip-4599
+                               (let ((x-27704
+                                       (begin
+                                         (if (if (pair? e-26810) s-26813 #f)
+                                           (set-source-properties!
+                                             e-26810
+                                             s-26813))
+                                         e-26810)))
+                                 (if (if (null? (car w-26812))
+                                       (null? (cdr w-26812))
+                                       #f)
+                                   x-27704
+                                   (if (if (vector? x-27704)
+                                         (if (= (vector-length x-27704) 4)
+                                           (eq? (vector-ref x-27704 0)
+                                                'syntax-object)
+                                           #f)
+                                         #f)
+                                     (let ((expression-27736
+                                             (vector-ref x-27704 1))
+                                           (wrap-27737
+                                             (let ((w2-27745
+                                                     (vector-ref x-27704 2)))
+                                               (let ((m1-27746 (car w-26812))
+                                                     (s1-27747 (cdr w-26812)))
+                                                 (if (null? m1-27746)
+                                                   (if (null? s1-27747)
+                                                     w2-27745
+                                                     (cons (car w2-27745)
+                                                           (let ((m2-27762
+                                                                   (cdr 
w2-27745)))
+                                                             (if (null? 
m2-27762)
+                                                               s1-27747
+                                                               (append
+                                                                 s1-27747
+                                                                 m2-27762)))))
+                                                   (cons (let ((m2-27770
+                                                                 (car 
w2-27745)))
+                                                           (if (null? m2-27770)
+                                                             m1-27746
+                                                             (append
+                                                               m1-27746
+                                                               m2-27770)))
+                                                         (let ((m2-27778
+                                                                 (cdr 
w2-27745)))
+                                                           (if (null? m2-27778)
+                                                             s1-27747
+                                                             (append
+                                                               s1-27747
+                                                               m2-27778))))))))
+                                           (module-27738
+                                             (vector-ref x-27704 3)))
+                                       (vector
+                                         'syntax-object
+                                         expression-27736
+                                         wrap-27737
+                                         module-27738))
+                                     (if (null? x-27704)
+                                       x-27704
+                                       (vector
+                                         'syntax-object
+                                         x-27704
+                                         w-26812
+                                         mod-26814)))))
+                               '(()))))
+                       (make-struct/no-tail
+                         (vector-ref %expanded-vtables 1)
+                         s-26813
+                         exp-27691))
+                     (if (eqv? type-26807 'global)
+                       (analyze-variable-4522
+                         mod-26814
+                         value-26808
+                         (lambda (mod-27803 var-27804 public?-27805)
+                           (make-struct/no-tail
+                             (vector-ref %expanded-vtables 5)
+                             s-26813
+                             mod-27803
+                             var-27804
+                             public?-27805))
+                         (lambda (var-27813)
+                           (make-struct/no-tail
+                             (vector-ref %expanded-vtables 7)
+                             s-26813
+                             var-27813)))
+                       (if (eqv? type-26807 'call)
+                         (expand-call-4588
+                           (expand-4586
+                             (car e-26810)
+                             r-26811
+                             w-26812
+                             mod-26814)
+                           e-26810
+                           r-26811
+                           w-26812
+                           s-26813
+                           mod-26814)
+                         (if (eqv? type-26807 'begin-form)
+                           (let ((tmp-27983
+                                   ($sc-dispatch e-26810 '(_ any . each-any))))
+                             (if tmp-27983
+                               (@apply
+                                 (lambda (e1-27987 e2-27988)
+                                   (expand-sequence-4581
+                                     (cons e1-27987 e2-27988)
+                                     r-26811
+                                     w-26812
+                                     s-26813
+                                     mod-26814))
+                                 tmp-27983)
+                               (let ((tmp-28083 ($sc-dispatch e-26810 '(_))))
+                                 (if tmp-28083
+                                   (@apply
+                                     (lambda ()
+                                       (syntax-violation
+                                         #f
+                                         "sequence of zero expressions"
+                                         (let ((x-28096
+                                                 (begin
+                                                   (if (if (pair? e-26810)
+                                                         s-26813
+                                                         #f)
+                                                     (set-source-properties!
+                                                       e-26810
+                                                       s-26813))
+                                                   e-26810)))
+                                           (if (if (null? (car w-26812))
+                                                 (null? (cdr w-26812))
+                                                 #f)
+                                             x-28096
+                                             (if (if (vector? x-28096)
+                                                   (if (= (vector-length
+                                                            x-28096)
+                                                          4)
+                                                     (eq? (vector-ref
+                                                            x-28096
+                                                            0)
+                                                          'syntax-object)
+                                                     #f)
+                                                   #f)
+                                               (let ((expression-28128
+                                                       (vector-ref x-28096 1))
+                                                     (wrap-28129
+                                                       (let ((w2-28137
+                                                               (vector-ref
+                                                                 x-28096
+                                                                 2)))
+                                                         (let ((m1-28138
+                                                                 (car w-26812))
+                                                               (s1-28139
+                                                                 (cdr 
w-26812)))
+                                                           (if (null? m1-28138)
+                                                             (if (null? 
s1-28139)
+                                                               w2-28137
+                                                               (cons (car 
w2-28137)
+                                                                     (let 
((m2-28154
+                                                                             
(cdr w2-28137)))
+                                                                       (if 
(null? m2-28154)
+                                                                         
s1-28139
+                                                                         
(append
+                                                                           
s1-28139
+                                                                           
m2-28154)))))
+                                                             (cons (let 
((m2-28162
+                                                                           
(car w2-28137)))
+                                                                     (if 
(null? m2-28162)
+                                                                       m1-28138
+                                                                       (append
+                                                                         
m1-28138
+                                                                         
m2-28162)))
+                                                                   (let 
((m2-28170
+                                                                           
(cdr w2-28137)))
+                                                                     (if 
(null? m2-28170)
+                                                                       s1-28139
+                                                                       (append
+                                                                         
s1-28139
+                                                                         
m2-28170))))))))
+                                                     (module-28130
+                                                       (vector-ref x-28096 3)))
+                                                 (vector
+                                                   'syntax-object
+                                                   expression-28128
+                                                   wrap-28129
+                                                   module-28130))
+                                               (if (null? x-28096)
+                                                 x-28096
+                                                 (vector
+                                                   'syntax-object
+                                                   x-28096
+                                                   w-26812
+                                                   mod-26814)))))))
+                                     tmp-28083)
+                                   (syntax-violation
+                                     #f
+                                     "source expression failed to match any 
pattern"
+                                     e-26810)))))
+                           (if (eqv? type-26807 'local-syntax-form)
+                             (expand-local-syntax-4591
+                               value-26808
+                               e-26810
+                               r-26811
+                               w-26812
+                               s-26813
+                               mod-26814
+                               expand-sequence-4581)
+                             (if (eqv? type-26807 'eval-when-form)
+                               (let ((tmp-28265
+                                       ($sc-dispatch
+                                         e-26810
+                                         '(_ each-any any . each-any))))
+                                 (if tmp-28265
+                                   (@apply
+                                     (lambda (x-28269 e1-28270 e2-28271)
+                                       (let ((when-list-28272
+                                               (parse-when-list-4584
+                                                 e-26810
+                                                 x-28269)))
+                                         (if (memq 'eval when-list-28272)
+                                           (expand-sequence-4581
+                                             (cons e1-28270 e2-28271)
+                                             r-26811
+                                             w-26812
+                                             s-26813
+                                             mod-26814)
+                                           (make-struct/no-tail
+                                             (vector-ref %expanded-vtables 0)
+                                             #f))))
+                                     tmp-28265)
+                                   (syntax-violation
+                                     #f
+                                     "source expression failed to match any 
pattern"
+                                     e-26810)))
+                               (if (if (eqv? type-26807 'define-form)
+                                     #t
+                                     (if (eqv? type-26807 'define-syntax-form)
+                                       #t
+                                       (eqv? type-26807
+                                             'define-syntax-parameter-form)))
+                                 (syntax-violation
+                                   #f
+                                   "definition in expression context, where 
definitions are not allowed,"
+                                   (let ((x-28458
+                                           (begin
+                                             (if (if (pair? form-26809)
+                                                   s-26813
+                                                   #f)
+                                               (set-source-properties!
+                                                 form-26809
+                                                 s-26813))
+                                             form-26809)))
+                                     (if (if (null? (car w-26812))
+                                           (null? (cdr w-26812))
+                                           #f)
+                                       x-28458
+                                       (if (if (vector? x-28458)
+                                             (if (= (vector-length x-28458) 4)
+                                               (eq? (vector-ref x-28458 0)
+                                                    'syntax-object)
+                                               #f)
+                                             #f)
+                                         (let ((expression-28490
+                                                 (vector-ref x-28458 1))
+                                               (wrap-28491
+                                                 (let ((w2-28499
+                                                         (vector-ref
+                                                           x-28458
+                                                           2)))
+                                                   (let ((m1-28500
+                                                           (car w-26812))
+                                                         (s1-28501
+                                                           (cdr w-26812)))
+                                                     (if (null? m1-28500)
+                                                       (if (null? s1-28501)
+                                                         w2-28499
+                                                         (cons (car w2-28499)
+                                                               (let ((m2-28516
+                                                                       (cdr 
w2-28499)))
+                                                                 (if (null? 
m2-28516)
+                                                                   s1-28501
+                                                                   (append
+                                                                     s1-28501
+                                                                     
m2-28516)))))
+                                                       (cons (let ((m2-28524
+                                                                     (car 
w2-28499)))
+                                                               (if (null? 
m2-28524)
+                                                                 m1-28500
+                                                                 (append
+                                                                   m1-28500
+                                                                   m2-28524)))
+                                                             (let ((m2-28532
+                                                                     (cdr 
w2-28499)))
+                                                               (if (null? 
m2-28532)
+                                                                 s1-28501
+                                                                 (append
+                                                                   s1-28501
+                                                                   
m2-28532))))))))
+                                               (module-28492
+                                                 (vector-ref x-28458 3)))
+                                           (vector
+                                             'syntax-object
+                                             expression-28490
+                                             wrap-28491
+                                             module-28492))
+                                         (if (null? x-28458)
+                                           x-28458
+                                           (vector
+                                             'syntax-object
+                                             x-28458
+                                             w-26812
+                                             mod-26814))))))
+                                 (if (eqv? type-26807 'syntax)
+                                   (syntax-violation
+                                     #f
+                                     "reference to pattern variable outside 
syntax form"
+                                     (let ((x-28559
+                                             (begin
+                                               (if (if (pair? e-26810)
+                                                     s-26813
+                                                     #f)
+                                                 (set-source-properties!
+                                                   e-26810
+                                                   s-26813))
+                                               e-26810)))
+                                       (if (if (null? (car w-26812))
+                                             (null? (cdr w-26812))
+                                             #f)
+                                         x-28559
+                                         (if (if (vector? x-28559)
+                                               (if (= (vector-length x-28559)
+                                                      4)
+                                                 (eq? (vector-ref x-28559 0)
+                                                      'syntax-object)
+                                                 #f)
+                                               #f)
+                                           (let ((expression-28591
+                                                   (vector-ref x-28559 1))
+                                                 (wrap-28592
+                                                   (let ((w2-28600
+                                                           (vector-ref
+                                                             x-28559
+                                                             2)))
+                                                     (let ((m1-28601
+                                                             (car w-26812))
+                                                           (s1-28602
+                                                             (cdr w-26812)))
+                                                       (if (null? m1-28601)
+                                                         (if (null? s1-28602)
+                                                           w2-28600
+                                                           (cons (car w2-28600)
+                                                                 (let 
((m2-28617
+                                                                         (cdr 
w2-28600)))
+                                                                   (if (null? 
m2-28617)
+                                                                     s1-28602
+                                                                     (append
+                                                                       s1-28602
+                                                                       
m2-28617)))))
+                                                         (cons (let ((m2-28625
+                                                                       (car 
w2-28600)))
+                                                                 (if (null? 
m2-28625)
+                                                                   m1-28601
+                                                                   (append
+                                                                     m1-28601
+                                                                     
m2-28625)))
+                                                               (let ((m2-28633
+                                                                       (cdr 
w2-28600)))
+                                                                 (if (null? 
m2-28633)
+                                                                   s1-28602
+                                                                   (append
+                                                                     s1-28602
+                                                                     
m2-28633))))))))
+                                                 (module-28593
+                                                   (vector-ref x-28559 3)))
+                                             (vector
+                                               'syntax-object
+                                               expression-28591
+                                               wrap-28592
+                                               module-28593))
+                                           (if (null? x-28559)
+                                             x-28559
+                                             (vector
+                                               'syntax-object
+                                               x-28559
+                                               w-26812
+                                               mod-26814))))))
+                                   (if (eqv? type-26807 'displaced-lexical)
+                                     (syntax-violation
+                                       #f
+                                       "reference to identifier outside its 
scope"
+                                       (let ((x-28660
+                                               (begin
+                                                 (if (if (pair? e-26810)
+                                                       s-26813
+                                                       #f)
+                                                   (set-source-properties!
+                                                     e-26810
+                                                     s-26813))
+                                                 e-26810)))
+                                         (if (if (null? (car w-26812))
+                                               (null? (cdr w-26812))
+                                               #f)
+                                           x-28660
+                                           (if (if (vector? x-28660)
+                                                 (if (= (vector-length x-28660)
+                                                        4)
+                                                   (eq? (vector-ref x-28660 0)
+                                                        'syntax-object)
+                                                   #f)
+                                                 #f)
+                                             (let ((expression-28692
+                                                     (vector-ref x-28660 1))
+                                                   (wrap-28693
+                                                     (let ((w2-28701
+                                                             (vector-ref
+                                                               x-28660
+                                                               2)))
+                                                       (let ((m1-28702
+                                                               (car w-26812))
+                                                             (s1-28703
+                                                               (cdr w-26812)))
+                                                         (if (null? m1-28702)
+                                                           (if (null? s1-28703)
+                                                             w2-28701
+                                                             (cons (car 
w2-28701)
+                                                                   (let 
((m2-28718
+                                                                           
(cdr w2-28701)))
+                                                                     (if 
(null? m2-28718)
+                                                                       s1-28703
+                                                                       (append
+                                                                         
s1-28703
+                                                                         
m2-28718)))))
+                                                           (cons (let 
((m2-28726
+                                                                         (car 
w2-28701)))
+                                                                   (if (null? 
m2-28726)
+                                                                     m1-28702
+                                                                     (append
+                                                                       m1-28702
+                                                                       
m2-28726)))
+                                                                 (let 
((m2-28734
+                                                                         (cdr 
w2-28701)))
+                                                                   (if (null? 
m2-28734)
+                                                                     s1-28703
+                                                                     (append
+                                                                       s1-28703
+                                                                       
m2-28734))))))))
+                                                   (module-28694
+                                                     (vector-ref x-28660 3)))
+                                               (vector
+                                                 'syntax-object
+                                                 expression-28692
+                                                 wrap-28693
+                                                 module-28694))
+                                             (if (null? x-28660)
+                                               x-28660
+                                               (vector
+                                                 'syntax-object
+                                                 x-28660
+                                                 w-26812
+                                                 mod-26814))))))
+                                     (syntax-violation
+                                       #f
+                                       "unexpected syntax"
+                                       (let ((x-28758
+                                               (begin
+                                                 (if (if (pair? e-26810)
+                                                       s-26813
+                                                       #f)
+                                                   (set-source-properties!
+                                                     e-26810
+                                                     s-26813))
+                                                 e-26810)))
+                                         (if (if (null? (car w-26812))
+                                               (null? (cdr w-26812))
+                                               #f)
+                                           x-28758
+                                           (if (if (vector? x-28758)
+                                                 (if (= (vector-length x-28758)
+                                                        4)
+                                                   (eq? (vector-ref x-28758 0)
+                                                        'syntax-object)
+                                                   #f)
+                                                 #f)
+                                             (let ((expression-28790
+                                                     (vector-ref x-28758 1))
+                                                   (wrap-28791
+                                                     (let ((w2-28799
+                                                             (vector-ref
+                                                               x-28758
+                                                               2)))
+                                                       (let ((m1-28800
+                                                               (car w-26812))
+                                                             (s1-28801
+                                                               (cdr w-26812)))
+                                                         (if (null? m1-28800)
+                                                           (if (null? s1-28801)
+                                                             w2-28799
+                                                             (cons (car 
w2-28799)
+                                                                   (let 
((m2-28816
+                                                                           
(cdr w2-28799)))
+                                                                     (if 
(null? m2-28816)
+                                                                       s1-28801
+                                                                       (append
+                                                                         
s1-28801
+                                                                         
m2-28816)))))
+                                                           (cons (let 
((m2-28824
+                                                                         (car 
w2-28799)))
+                                                                   (if (null? 
m2-28824)
+                                                                     m1-28800
+                                                                     (append
+                                                                       m1-28800
+                                                                       
m2-28824)))
+                                                                 (let 
((m2-28832
+                                                                         (cdr 
w2-28799)))
+                                                                   (if (null? 
m2-28832)
+                                                                     s1-28801
+                                                                     (append
+                                                                       s1-28801
+                                                                       
m2-28832))))))))
+                                                   (module-28792
+                                                     (vector-ref x-28758 3)))
+                                               (vector
+                                                 'syntax-object
+                                                 expression-28790
+                                                 wrap-28791
+                                                 module-28792))
+                                             (if (null? x-28758)
+                                               x-28758
+                                               (vector
+                                                 'syntax-object
+                                                 x-28758
+                                                 w-26812
+                                                 
mod-26814))))))))))))))))))))))
+     (expand-call-4588
+       (lambda (x-28847
+                e-28848
+                r-28849
+                w-28850
+                s-28851
+                mod-28852)
+         (let ((tmp-28854
+                 ($sc-dispatch e-28848 '(any . each-any))))
+           (if tmp-28854
+             (@apply
+               (lambda (e0-28858 e1-28859)
+                 (build-call-4517
+                   s-28851
+                   x-28847
+                   (map (lambda (e-28947)
+                          (expand-4586 e-28947 r-28849 w-28850 mod-28852))
+                        e1-28859)))
+               tmp-28854)
+             (syntax-violation
+               #f
+               "source expression failed to match any pattern"
+               e-28848)))))
+     (expand-macro-4589
+       (lambda (p-29031
+                e-29032
+                r-29033
+                w-29034
+                s-29035
+                rib-29036
+                mod-29037)
+         (letrec*
+           ((rebuild-macro-output-29038
+              (lambda (x-29147 m-29148)
+                (if (pair? x-29147)
+                  (let ((e-29152
+                          (cons (rebuild-macro-output-29038
+                                  (car x-29147)
+                                  m-29148)
+                                (rebuild-macro-output-29038
+                                  (cdr x-29147)
+                                  m-29148))))
+                    (begin
+                      (if (if (pair? e-29152) s-29035 #f)
+                        (set-source-properties! e-29152 s-29035))
+                      e-29152))
+                  (if (if (vector? x-29147)
+                        (if (= (vector-length x-29147) 4)
+                          (eq? (vector-ref x-29147 0) 'syntax-object)
+                          #f)
+                        #f)
+                    (let ((w-29168 (vector-ref x-29147 2)))
+                      (let ((ms-29169 (car w-29168))
+                            (s-29170 (cdr w-29168)))
+                        (if (if (pair? ms-29169) (eq? (car ms-29169) #f) #f)
+                          (let ((expression-29178 (vector-ref x-29147 1))
+                                (wrap-29179
+                                  (cons (cdr ms-29169)
+                                        (if rib-29036
+                                          (cons rib-29036 (cdr s-29170))
+                                          (cdr s-29170))))
+                                (module-29180 (vector-ref x-29147 3)))
+                            (vector
+                              'syntax-object
+                              expression-29178
+                              wrap-29179
+                              module-29180))
+                          (let ((expression-29190
+                                  (let ((e-29195 (vector-ref x-29147 1)))
+                                    (begin
+                                      (if (if (pair? e-29195) s-29170 #f)
+                                        (set-source-properties!
+                                          e-29195
+                                          s-29170))
+                                      e-29195)))
+                                (wrap-29191
+                                  (cons (cons m-29148 ms-29169)
+                                        (if rib-29036
+                                          (cons rib-29036
+                                                (cons 'shift s-29170))
+                                          (cons 'shift s-29170))))
+                                (module-29192 (vector-ref x-29147 3)))
+                            (vector
+                              'syntax-object
+                              expression-29190
+                              wrap-29191
+                              module-29192)))))
+                    (if (vector? x-29147)
+                      (let ((n-29207 (vector-length x-29147)))
+                        (let ((v-29208
+                                (let ((e-29274 (make-vector n-29207)))
+                                  (begin
+                                    (if (if (pair? e-29274) x-29147 #f)
+                                      (set-source-properties! e-29274 x-29147))
+                                    e-29274))))
+                          (letrec*
+                            ((loop-29209
+                               (lambda (i-29270)
+                                 (if (= i-29270 n-29207)
+                                   v-29208
+                                   (begin
+                                     (vector-set!
+                                       v-29208
+                                       i-29270
+                                       (rebuild-macro-output-29038
+                                         (vector-ref x-29147 i-29270)
+                                         m-29148))
+                                     (loop-29209 (#{1+}# i-29270)))))))
+                            (loop-29209 0))))
+                      (if (symbol? x-29147)
+                        (syntax-violation
+                          #f
+                          "encountered raw symbol in macro output"
+                          (let ((s-29285 (cdr w-29034)))
+                            (let ((x-29289
+                                    (begin
+                                      (if (if (pair? e-29032) s-29285 #f)
+                                        (set-source-properties!
+                                          e-29032
+                                          s-29285))
+                                      e-29032)))
+                              (if (if (null? (car w-29034))
+                                    (null? (cdr w-29034))
+                                    #f)
+                                x-29289
+                                (if (if (vector? x-29289)
+                                      (if (= (vector-length x-29289) 4)
+                                        (eq? (vector-ref x-29289 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (let ((expression-29321
+                                          (vector-ref x-29289 1))
+                                        (wrap-29322
+                                          (let ((w2-29330
+                                                  (vector-ref x-29289 2)))
+                                            (let ((m1-29331 (car w-29034))
+                                                  (s1-29332 (cdr w-29034)))
+                                              (if (null? m1-29331)
+                                                (if (null? s1-29332)
+                                                  w2-29330
+                                                  (cons (car w2-29330)
+                                                        (let ((m2-29347
+                                                                (cdr 
w2-29330)))
+                                                          (if (null? m2-29347)
+                                                            s1-29332
+                                                            (append
+                                                              s1-29332
+                                                              m2-29347)))))
+                                                (cons (let ((m2-29355
+                                                              (car w2-29330)))
+                                                        (if (null? m2-29355)
+                                                          m1-29331
+                                                          (append
+                                                            m1-29331
+                                                            m2-29355)))
+                                                      (let ((m2-29363
+                                                              (cdr w2-29330)))
+                                                        (if (null? m2-29363)
+                                                          s1-29332
+                                                          (append
+                                                            s1-29332
+                                                            m2-29363))))))))
+                                        (module-29323 (vector-ref x-29289 3)))
+                                    (vector
+                                      'syntax-object
+                                      expression-29321
+                                      wrap-29322
+                                      module-29323))
+                                  (if (null? x-29289)
+                                    x-29289
+                                    (vector
+                                      'syntax-object
+                                      x-29289
+                                      w-29034
+                                      mod-29037))))))
+                          x-29147)
+                        (begin
+                          (if (if (pair? x-29147) s-29035 #f)
+                            (set-source-properties! x-29147 s-29035))
+                          x-29147))))))))
+           (with-fluids
+             ((transformer-environment-4572
+                (lambda (k-29039)
+                  (k-29039
+                    e-29032
+                    r-29033
+                    w-29034
+                    s-29035
+                    rib-29036
+                    mod-29037))))
+             (rebuild-macro-output-29038
+               (p-29031
+                 (let ((w-29046
+                         (cons (cons #f (car w-29034))
+                               (cons 'shift (cdr w-29034)))))
+                   (let ((x-29051
+                           (begin
+                             (if (if (pair? e-29032) s-29035 #f)
+                               (set-source-properties! e-29032 s-29035))
+                             e-29032)))
+                     (if (if (null? (car w-29046))
+                           (null? (cdr w-29046))
+                           #f)
+                       x-29051
+                       (if (if (vector? x-29051)
+                             (if (= (vector-length x-29051) 4)
+                               (eq? (vector-ref x-29051 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (let ((expression-29090 (vector-ref x-29051 1))
+                               (wrap-29091
+                                 (let ((w2-29099 (vector-ref x-29051 2)))
+                                   (let ((m1-29100 (car w-29046))
+                                         (s1-29101 (cdr w-29046)))
+                                     (if (null? m1-29100)
+                                       (if (null? s1-29101)
+                                         w2-29099
+                                         (cons (car w2-29099)
+                                               (let ((m2-29116 (cdr w2-29099)))
+                                                 (if (null? m2-29116)
+                                                   s1-29101
+                                                   (append
+                                                     s1-29101
+                                                     m2-29116)))))
+                                       (cons (let ((m2-29124 (car w2-29099)))
+                                               (if (null? m2-29124)
+                                                 m1-29100
+                                                 (append m1-29100 m2-29124)))
+                                             (let ((m2-29132 (cdr w2-29099)))
+                                               (if (null? m2-29132)
+                                                 s1-29101
+                                                 (append
+                                                   s1-29101
+                                                   m2-29132))))))))
+                               (module-29092 (vector-ref x-29051 3)))
+                           (vector
+                             'syntax-object
+                             expression-29090
+                             wrap-29091
+                             module-29092))
+                         (if (null? x-29051)
+                           x-29051
+                           (vector
+                             'syntax-object
+                             x-29051
+                             w-29046
+                             mod-29037)))))))
+               (gensym
+                 (string-append "m-" (session-id-4511) "-")))))))
+     (expand-body-4590
+       (lambda (body-29393
+                outer-form-29394
+                r-29395
+                w-29396
+                mod-29397)
+         (let ((r-29398
+                 (cons '("placeholder" placeholder) r-29395)))
+           (let ((ribcage-29399 (vector 'ribcage '() '() '())))
+             (let ((w-29400
+                     (cons (car w-29396)
+                           (cons ribcage-29399 (cdr w-29396)))))
+               (letrec*
+                 ((parse-29401
+                    (lambda (body-29509
+                             ids-29510
+                             labels-29511
+                             var-ids-29512
+                             vars-29513
+                             vals-29514
+                             bindings-29515)
+                      (if (null? body-29509)
+                        (syntax-violation
+                          #f
+                          "no expressions in body"
+                          outer-form-29394)
+                        (let ((e-29516 (cdr (car body-29509)))
+                              (er-29517 (car (car body-29509))))
+                          (call-with-values
+                            (lambda ()
+                              (syntax-type-4585
+                                e-29516
+                                er-29517
+                                '(())
+                                (source-annotation-4544 er-29517)
+                                ribcage-29399
+                                mod-29397
+                                #f))
+                            (lambda (type-29705
+                                     value-29706
+                                     form-29707
+                                     e-29708
+                                     w-29709
+                                     s-29710
+                                     mod-29711)
+                              (if (eqv? type-29705 'define-form)
+                                (let ((id-29715
+                                        (if (if (null? (car w-29709))
+                                              (null? (cdr w-29709))
+                                              #f)
+                                          value-29706
+                                          (if (if (vector? value-29706)
+                                                (if (= (vector-length
+                                                         value-29706)
+                                                       4)
+                                                  (eq? (vector-ref
+                                                         value-29706
+                                                         0)
+                                                       'syntax-object)
+                                                  #f)
+                                                #f)
+                                            (let ((expression-29760
+                                                    (vector-ref value-29706 1))
+                                                  (wrap-29761
+                                                    (let ((w2-29771
+                                                            (vector-ref
+                                                              value-29706
+                                                              2)))
+                                                      (let ((m1-29772
+                                                              (car w-29709))
+                                                            (s1-29773
+                                                              (cdr w-29709)))
+                                                        (if (null? m1-29772)
+                                                          (if (null? s1-29773)
+                                                            w2-29771
+                                                            (cons (car 
w2-29771)
+                                                                  (let 
((m2-29790
+                                                                          (cdr 
w2-29771)))
+                                                                    (if (null? 
m2-29790)
+                                                                      s1-29773
+                                                                      (append
+                                                                        
s1-29773
+                                                                        
m2-29790)))))
+                                                          (cons (let ((m2-29798
+                                                                        (car 
w2-29771)))
+                                                                  (if (null? 
m2-29798)
+                                                                    m1-29772
+                                                                    (append
+                                                                      m1-29772
+                                                                      
m2-29798)))
+                                                                (let ((m2-29806
+                                                                        (cdr 
w2-29771)))
+                                                                  (if (null? 
m2-29806)
+                                                                    s1-29773
+                                                                    (append
+                                                                      s1-29773
+                                                                      
m2-29806))))))))
+                                                  (module-29762
+                                                    (vector-ref
+                                                      value-29706
+                                                      3)))
+                                              (vector
+                                                'syntax-object
+                                                expression-29760
+                                                wrap-29761
+                                                module-29762))
+                                            (if (null? value-29706)
+                                              value-29706
+                                              (vector
+                                                'syntax-object
+                                                value-29706
+                                                w-29709
+                                                mod-29711)))))
+                                      (label-29716
+                                        (string-append
+                                          "l-"
+                                          (session-id-4511)
+                                          (symbol->string (gensym "-")))))
+                                  (let ((var-29717
+                                          (let ((id-29867
+                                                  (if (if (vector? id-29715)
+                                                        (if (= (vector-length
+                                                                 id-29715)
+                                                               4)
+                                                          (eq? (vector-ref
+                                                                 id-29715
+                                                                 0)
+                                                               'syntax-object)
+                                                          #f)
+                                                        #f)
+                                                    (vector-ref id-29715 1)
+                                                    id-29715)))
+                                            (gensym
+                                              (string-append
+                                                (symbol->string id-29867)
+                                                "-")))))
+                                    (begin
+                                      (begin
+                                        (let ((update-29726
+                                                (cons (vector-ref id-29715 1)
+                                                      (vector-ref
+                                                        ribcage-29399
+                                                        1))))
+                                          (vector-set!
+                                            ribcage-29399
+                                            1
+                                            update-29726))
+                                        (let ((update-29838
+                                                (cons (car (vector-ref
+                                                             id-29715
+                                                             2))
+                                                      (vector-ref
+                                                        ribcage-29399
+                                                        2))))
+                                          (vector-set!
+                                            ribcage-29399
+                                            2
+                                            update-29838))
+                                        (let ((update-29853
+                                                (cons label-29716
+                                                      (vector-ref
+                                                        ribcage-29399
+                                                        3))))
+                                          (vector-set!
+                                            ribcage-29399
+                                            3
+                                            update-29853)))
+                                      (parse-29401
+                                        (cdr body-29509)
+                                        (cons id-29715 ids-29510)
+                                        (cons label-29716 labels-29511)
+                                        (cons id-29715 var-ids-29512)
+                                        (cons var-29717 vars-29513)
+                                        (cons (cons er-29517
+                                                    (if (if (null? (car 
w-29709))
+                                                          (null? (cdr w-29709))
+                                                          #f)
+                                                      e-29708
+                                                      (if (if (vector? e-29708)
+                                                            (if (= 
(vector-length
+                                                                     e-29708)
+                                                                   4)
+                                                              (eq? (vector-ref
+                                                                     e-29708
+                                                                     0)
+                                                                   
'syntax-object)
+                                                              #f)
+                                                            #f)
+                                                        (let ((expression-29919
+                                                                (vector-ref
+                                                                  e-29708
+                                                                  1))
+                                                              (wrap-29920
+                                                                (let ((w2-29930
+                                                                        
(vector-ref
+                                                                          
e-29708
+                                                                          2)))
+                                                                  (let 
((m1-29931
+                                                                          (car 
w-29709))
+                                                                        
(s1-29932
+                                                                          (cdr 
w-29709)))
+                                                                    (if (null? 
m1-29931)
+                                                                      (if 
(null? s1-29932)
+                                                                        
w2-29930
+                                                                        (cons 
(car w2-29930)
+                                                                              
(let ((m2-29949
+                                                                               
       (cdr w2-29930)))
+                                                                               
 (if (null? m2-29949)
+                                                                               
   s1-29932
+                                                                               
   (append
+                                                                               
     s1-29932
+                                                                               
     m2-29949)))))
+                                                                      (cons 
(let ((m2-29957
+                                                                               
     (car w2-29930)))
+                                                                              
(if (null? m2-29957)
+                                                                               
 m1-29931
+                                                                               
 (append
+                                                                               
   m1-29931
+                                                                               
   m2-29957)))
+                                                                            
(let ((m2-29965
+                                                                               
     (cdr w2-29930)))
+                                                                              
(if (null? m2-29965)
+                                                                               
 s1-29932
+                                                                               
 (append
+                                                                               
   s1-29932
+                                                                               
   m2-29965))))))))
+                                                              (module-29921
+                                                                (vector-ref
+                                                                  e-29708
+                                                                  3)))
+                                                          (vector
+                                                            'syntax-object
+                                                            expression-29919
+                                                            wrap-29920
+                                                            module-29921))
+                                                        (if (null? e-29708)
+                                                          e-29708
+                                                          (vector
+                                                            'syntax-object
+                                                            e-29708
+                                                            w-29709
+                                                            mod-29711)))))
+                                              vals-29514)
+                                        (cons (cons 'lexical var-29717)
+                                              bindings-29515)))))
+                                (if (if (eqv? type-29705 'define-syntax-form)
+                                      #t
+                                      (eqv? type-29705
+                                            'define-syntax-parameter-form))
+                                  (let ((id-29996
+                                          (if (if (null? (car w-29709))
+                                                (null? (cdr w-29709))
+                                                #f)
+                                            value-29706
+                                            (if (if (vector? value-29706)
+                                                  (if (= (vector-length
+                                                           value-29706)
+                                                         4)
+                                                    (eq? (vector-ref
+                                                           value-29706
+                                                           0)
+                                                         'syntax-object)
+                                                    #f)
+                                                  #f)
+                                              (let ((expression-30040
+                                                      (vector-ref
+                                                        value-29706
+                                                        1))
+                                                    (wrap-30041
+                                                      (let ((w2-30051
+                                                              (vector-ref
+                                                                value-29706
+                                                                2)))
+                                                        (let ((m1-30052
+                                                                (car w-29709))
+                                                              (s1-30053
+                                                                (cdr w-29709)))
+                                                          (if (null? m1-30052)
+                                                            (if (null? 
s1-30053)
+                                                              w2-30051
+                                                              (cons (car 
w2-30051)
+                                                                    (let 
((m2-30070
+                                                                            
(cdr w2-30051)))
+                                                                      (if 
(null? m2-30070)
+                                                                        
s1-30053
+                                                                        (append
+                                                                          
s1-30053
+                                                                          
m2-30070)))))
+                                                            (cons (let 
((m2-30078
+                                                                          (car 
w2-30051)))
+                                                                    (if (null? 
m2-30078)
+                                                                      m1-30052
+                                                                      (append
+                                                                        
m1-30052
+                                                                        
m2-30078)))
+                                                                  (let 
((m2-30086
+                                                                          (cdr 
w2-30051)))
+                                                                    (if (null? 
m2-30086)
+                                                                      s1-30053
+                                                                      (append
+                                                                        
s1-30053
+                                                                        
m2-30086))))))))
+                                                    (module-30042
+                                                      (vector-ref
+                                                        value-29706
+                                                        3)))
                                                 (vector
-                                                  'each+
-                                                  #{x 39771}#
-                                                  #{ys 39808}#
-                                                  #{e 39809}#)
-                                                #{ids 39772}#))))))))
-                                #{tmp 39237}#)
-                              (let ((#{tmp 39810}#
-                                      ($sc-dispatch #{p 39055}# '(any . any))))
-                                (if #{tmp 39810}#
-                                  (@apply
-                                    (lambda (#{x 39814}# #{y 39815}#)
-                                      (call-with-values
-                                        (lambda ()
-                                          (#{cvt 39052}#
-                                            #{y 39815}#
-                                            #{n 39056}#
-                                            #{ids 39057}#))
-                                        (lambda (#{y 39816}# #{ids 39817}#)
-                                          (call-with-values
-                                            (lambda ()
-                                              (#{cvt 39052}#
-                                                #{x 39814}#
-                                                #{n 39056}#
-                                                #{ids 39817}#))
-                                            (lambda (#{x 39818}# #{ids 39819}#)
-                                              (values
-                                                (cons #{x 39818}# #{y 39816}#)
-                                                #{ids 39819}#))))))
-                                    #{tmp 39810}#)
-                                  (let ((#{tmp 39820}#
-                                          ($sc-dispatch #{p 39055}# '())))
-                                    (if #{tmp 39820}#
-                                      (@apply
-                                        (lambda () (values '() #{ids 39057}#))
-                                        #{tmp 39820}#)
-                                      (let ((#{tmp 39824}#
-                                              ($sc-dispatch
-                                                #{p 39055}#
-                                                '#(vector each-any))))
-                                        (if #{tmp 39824}#
-                                          (@apply
-                                            (lambda (#{x 39828}#)
-                                              (call-with-values
-                                                (lambda ()
-                                                  (#{cvt 39052}#
-                                                    #{x 39828}#
-                                                    #{n 39056}#
-                                                    #{ids 39057}#))
-                                                (lambda (#{p 39829}#
-                                                         #{ids 39830}#)
-                                                  (values
-                                                    (vector
-                                                      'vector
-                                                      #{p 39829}#)
-                                                    #{ids 39830}#))))
-                                            #{tmp 39824}#)
-                                          (values
-                                            (vector
-                                              'atom
-                                              (#{strip 28284}#
-                                                #{p 39055}#
-                                                '(())))
-                                            #{ids 39057}#)))))))))))))))
-               (#{cvt 39052}# #{pattern 39048}# 0 '()))))
-         (#{build-dispatch-call 37427}#
-           (lambda (#{pvars 39964}#
-                    #{exp 39965}#
-                    #{y 39966}#
-                    #{r 39967}#
-                    #{mod 39968}#)
-             (let ((#{ids 39969}# (map car #{pvars 39964}#)))
-               (begin
-                 (map cdr #{pvars 39964}#)
-                 (let ((#{labels 39971}#
-                         (#{gen-labels 28241}# #{ids 39969}#))
-                       (#{new-vars 39972}#
-                         (map #{gen-var 28285}# #{ids 39969}#)))
-                   (#{build-primcall 28217}#
-                     #f
-                     'apply
-                     (list (#{build-simple-lambda 28214}#
-                             #f
-                             (map syntax->datum #{ids 39969}#)
-                             #f
-                             #{new-vars 39972}#
-                             '()
-                             (#{expand 28271}#
-                               #{exp 39965}#
-                               (#{extend-env 28233}#
-                                 #{labels 39971}#
-                                 (map (lambda (#{var 40304}# #{level 40305}#)
-                                        (cons 'syntax
-                                              (cons #{var 40304}#
-                                                    #{level 40305}#)))
-                                      #{new-vars 39972}#
-                                      (map cdr #{pvars 39964}#))
-                                 #{r 39967}#)
-                               (#{make-binding-wrap 28252}#
-                                 #{ids 39969}#
-                                 #{labels 39971}#
-                                 '(()))
-                               #{mod 39968}#))
-                           #{y 39966}#)))))))
-         (#{gen-clause 37428}#
-           (lambda (#{x 38632}#
-                    #{keys 38633}#
-                    #{clauses 38634}#
-                    #{r 38635}#
-                    #{pat 38636}#
-                    #{fender 38637}#
-                    #{exp 38638}#
-                    #{mod 38639}#)
-             (call-with-values
-               (lambda ()
-                 (#{convert-pattern 37426}#
-                   #{pat 38636}#
-                   #{keys 38633}#))
-               (lambda (#{p 38777}# #{pvars 38778}#)
-                 (if (not (#{distinct-bound-ids? 28262}#
-                            (map car #{pvars 38778}#)))
+                                                  'syntax-object
+                                                  expression-30040
+                                                  wrap-30041
+                                                  module-30042))
+                                              (if (null? value-29706)
+                                                value-29706
+                                                (vector
+                                                  'syntax-object
+                                                  value-29706
+                                                  w-29709
+                                                  mod-29711)))))
+                                        (label-29997
+                                          (string-append
+                                            "l-"
+                                            (session-id-4511)
+                                            (symbol->string (gensym "-")))))
+                                    (begin
+                                      (begin
+                                        (let ((update-30006
+                                                (cons (vector-ref id-29996 1)
+                                                      (vector-ref
+                                                        ribcage-29399
+                                                        1))))
+                                          (vector-set!
+                                            ribcage-29399
+                                            1
+                                            update-30006))
+                                        (let ((update-30118
+                                                (cons (car (vector-ref
+                                                             id-29996
+                                                             2))
+                                                      (vector-ref
+                                                        ribcage-29399
+                                                        2))))
+                                          (vector-set!
+                                            ribcage-29399
+                                            2
+                                            update-30118))
+                                        (let ((update-30133
+                                                (cons label-29997
+                                                      (vector-ref
+                                                        ribcage-29399
+                                                        3))))
+                                          (vector-set!
+                                            ribcage-29399
+                                            3
+                                            update-30133)))
+                                      (parse-29401
+                                        (cdr body-29509)
+                                        (cons id-29996 ids-29510)
+                                        (cons label-29997 labels-29511)
+                                        var-ids-29512
+                                        vars-29513
+                                        vals-29514
+                                        (cons (cons (if (eq? type-29705
+                                                             
'define-syntax-parameter-form)
+                                                      'syntax-parameter
+                                                      'macro)
+                                                    (cons er-29517
+                                                          (if (if (null? (car 
w-29709))
+                                                                (null? (cdr 
w-29709))
+                                                                #f)
+                                                            e-29708
+                                                            (if (if (vector?
+                                                                      e-29708)
+                                                                  (if (= 
(vector-length
+                                                                           
e-29708)
+                                                                         4)
+                                                                    (eq? 
(vector-ref
+                                                                           
e-29708
+                                                                           0)
+                                                                         
'syntax-object)
+                                                                    #f)
+                                                                  #f)
+                                                              (let 
((expression-30172
+                                                                      
(vector-ref
+                                                                        e-29708
+                                                                        1))
+                                                                    (wrap-30173
+                                                                      (let 
((w2-30183
+                                                                              
(vector-ref
+                                                                               
 e-29708
+                                                                               
 2)))
+                                                                        (let 
((m1-30184
+                                                                               
 (car w-29709))
+                                                                              
(s1-30185
+                                                                               
 (cdr w-29709)))
+                                                                          (if 
(null? m1-30184)
+                                                                            
(if (null? s1-30185)
+                                                                              
w2-30183
+                                                                              
(cons (car w2-30183)
+                                                                               
     (let ((m2-30202
+                                                                               
             (cdr w2-30183)))
+                                                                               
       (if (null? m2-30202)
+                                                                               
         s1-30185
+                                                                               
         (append
+                                                                               
           s1-30185
+                                                                               
           m2-30202)))))
+                                                                            
(cons (let ((m2-30210
+                                                                               
           (car w2-30183)))
+                                                                               
     (if (null? m2-30210)
+                                                                               
       m1-30184
+                                                                               
       (append
+                                                                               
         m1-30184
+                                                                               
         m2-30210)))
+                                                                               
   (let ((m2-30218
+                                                                               
           (cdr w2-30183)))
+                                                                               
     (if (null? m2-30218)
+                                                                               
       s1-30185
+                                                                               
       (append
+                                                                               
         s1-30185
+                                                                               
         m2-30218))))))))
+                                                                    
(module-30174
+                                                                      
(vector-ref
+                                                                        e-29708
+                                                                        3)))
+                                                                (vector
+                                                                  
'syntax-object
+                                                                  
expression-30172
+                                                                  wrap-30173
+                                                                  
module-30174))
+                                                              (if (null? 
e-29708)
+                                                                e-29708
+                                                                (vector
+                                                                  
'syntax-object
+                                                                  e-29708
+                                                                  w-29709
+                                                                  
mod-29711))))))
+                                              bindings-29515))))
+                                  (if (eqv? type-29705 'begin-form)
+                                    (let ((tmp-30245
+                                            ($sc-dispatch
+                                              e-29708
+                                              '(_ . each-any))))
+                                      (if tmp-30245
+                                        (@apply
+                                          (lambda (e1-30249)
+                                            (parse-29401
+                                              (letrec*
+                                                ((f-30250
+                                                   (lambda (forms-30451)
+                                                     (if (null? forms-30451)
+                                                       (cdr body-29509)
+                                                       (cons (cons er-29517
+                                                                   (let 
((x-30455
+                                                                           
(car forms-30451)))
+                                                                     (if (if 
(null? (car w-29709))
+                                                                           
(null? (cdr w-29709))
+                                                                           #f)
+                                                                       x-30455
+                                                                       (if (if 
(vector?
+                                                                               
  x-30455)
+                                                                             
(if (= (vector-length
+                                                                               
       x-30455)
+                                                                               
     4)
+                                                                               
(eq? (vector-ref
+                                                                               
       x-30455
+                                                                               
       0)
+                                                                               
     'syntax-object)
+                                                                               
#f)
+                                                                             
#f)
+                                                                         (let 
((expression-30473
+                                                                               
  (vector-ref
+                                                                               
    x-30455
+                                                                               
    1))
+                                                                               
(wrap-30474
+                                                                               
  (let ((w2-30482
+                                                                               
          (vector-ref
+                                                                               
            x-30455
+                                                                               
            2)))
+                                                                               
    (let ((m1-30483
+                                                                               
            (car w-29709))
+                                                                               
          (s1-30484
+                                                                               
            (cdr w-29709)))
+                                                                               
      (if (null? m1-30483)
+                                                                               
        (if (null? s1-30484)
+                                                                               
          w2-30482
+                                                                               
          (cons (car w2-30482)
+                                                                               
                (let ((m2-30499
+                                                                               
                        (cdr w2-30482)))
+                                                                               
                  (if (null? m2-30499)
+                                                                               
                    s1-30484
+                                                                               
                    (append
+                                                                               
                      s1-30484
+                                                                               
                      m2-30499)))))
+                                                                               
        (cons (let ((m2-30507
+                                                                               
                      (car w2-30482)))
+                                                                               
                (if (null? m2-30507)
+                                                                               
                  m1-30483
+                                                                               
                  (append
+                                                                               
                    m1-30483
+                                                                               
                    m2-30507)))
+                                                                               
              (let ((m2-30515
+                                                                               
                      (cdr w2-30482)))
+                                                                               
                (if (null? m2-30515)
+                                                                               
                  s1-30484
+                                                                               
                  (append
+                                                                               
                    s1-30484
+                                                                               
                    m2-30515))))))))
+                                                                               
(module-30475
+                                                                               
  (vector-ref
+                                                                               
    x-30455
+                                                                               
    3)))
+                                                                           
(vector
+                                                                             
'syntax-object
+                                                                             
expression-30473
+                                                                             
wrap-30474
+                                                                             
module-30475))
+                                                                         (if 
(null? x-30455)
+                                                                           
x-30455
+                                                                           
(vector
+                                                                             
'syntax-object
+                                                                             
x-30455
+                                                                             
w-29709
+                                                                             
mod-29711))))))
+                                                             (f-30250
+                                                               (cdr 
forms-30451)))))))
+                                                (f-30250 e1-30249))
+                                              ids-29510
+                                              labels-29511
+                                              var-ids-29512
+                                              vars-29513
+                                              vals-29514
+                                              bindings-29515))
+                                          tmp-30245)
+                                        (syntax-violation
+                                          #f
+                                          "source expression failed to match 
any pattern"
+                                          e-29708)))
+                                    (if (eqv? type-29705 'local-syntax-form)
+                                      (expand-local-syntax-4591
+                                        value-29706
+                                        e-29708
+                                        er-29517
+                                        w-29709
+                                        s-29710
+                                        mod-29711
+                                        (lambda (forms-30541
+                                                 er-30542
+                                                 w-30543
+                                                 s-30544
+                                                 mod-30545)
+                                          (parse-29401
+                                            (letrec*
+                                              ((f-30546
+                                                 (lambda (forms-30747)
+                                                   (if (null? forms-30747)
+                                                     (cdr body-29509)
+                                                     (cons (cons er-30542
+                                                                 (let ((x-30751
+                                                                         (car 
forms-30747)))
+                                                                   (if (if 
(null? (car w-30543))
+                                                                         
(null? (cdr w-30543))
+                                                                         #f)
+                                                                     x-30751
+                                                                     (if (if 
(vector?
+                                                                               
x-30751)
+                                                                           (if 
(= (vector-length
+                                                                               
     x-30751)
+                                                                               
   4)
+                                                                             
(eq? (vector-ref
+                                                                               
     x-30751
+                                                                               
     0)
+                                                                               
   'syntax-object)
+                                                                             
#f)
+                                                                           #f)
+                                                                       (let 
((expression-30769
+                                                                               
(vector-ref
+                                                                               
  x-30751
+                                                                               
  1))
+                                                                             
(wrap-30770
+                                                                               
(let ((w2-30778
+                                                                               
        (vector-ref
+                                                                               
          x-30751
+                                                                               
          2)))
+                                                                               
  (let ((m1-30779
+                                                                               
          (car w-30543))
+                                                                               
        (s1-30780
+                                                                               
          (cdr w-30543)))
+                                                                               
    (if (null? m1-30779)
+                                                                               
      (if (null? s1-30780)
+                                                                               
        w2-30778
+                                                                               
        (cons (car w2-30778)
+                                                                               
              (let ((m2-30795
+                                                                               
                      (cdr w2-30778)))
+                                                                               
                (if (null? m2-30795)
+                                                                               
                  s1-30780
+                                                                               
                  (append
+                                                                               
                    s1-30780
+                                                                               
                    m2-30795)))))
+                                                                               
      (cons (let ((m2-30803
+                                                                               
                    (car w2-30778)))
+                                                                               
              (if (null? m2-30803)
+                                                                               
                m1-30779
+                                                                               
                (append
+                                                                               
                  m1-30779
+                                                                               
                  m2-30803)))
+                                                                               
            (let ((m2-30811
+                                                                               
                    (cdr w2-30778)))
+                                                                               
              (if (null? m2-30811)
+                                                                               
                s1-30780
+                                                                               
                (append
+                                                                               
                  s1-30780
+                                                                               
                  m2-30811))))))))
+                                                                             
(module-30771
+                                                                               
(vector-ref
+                                                                               
  x-30751
+                                                                               
  3)))
+                                                                         
(vector
+                                                                           
'syntax-object
+                                                                           
expression-30769
+                                                                           
wrap-30770
+                                                                           
module-30771))
+                                                                       (if 
(null? x-30751)
+                                                                         
x-30751
+                                                                         
(vector
+                                                                           
'syntax-object
+                                                                           
x-30751
+                                                                           
w-30543
+                                                                           
mod-30545))))))
+                                                           (f-30546
+                                                             (cdr 
forms-30747)))))))
+                                              (f-30546 forms-30541))
+                                            ids-29510
+                                            labels-29511
+                                            var-ids-29512
+                                            vars-29513
+                                            vals-29514
+                                            bindings-29515)))
+                                      (if (null? ids-29510)
+                                        (build-sequence-4532
+                                          #f
+                                          (map (lambda (x-30896)
+                                                 (expand-4586
+                                                   (cdr x-30896)
+                                                   (car x-30896)
+                                                   '(())
+                                                   mod-29711))
+                                               (cons (cons er-29517
+                                                           (let ((x-30971
+                                                                   (begin
+                                                                     (if (if 
(pair? e-29708)
+                                                                           
s-29710
+                                                                           #f)
+                                                                       
(set-source-properties!
+                                                                         
e-29708
+                                                                         
s-29710))
+                                                                     e-29708)))
+                                                             (if (if (null? 
(car w-29709))
+                                                                   (null? (cdr 
w-29709))
+                                                                   #f)
+                                                               x-30971
+                                                               (if (if (vector?
+                                                                         
x-30971)
+                                                                     (if (= 
(vector-length
+                                                                              
x-30971)
+                                                                            4)
+                                                                       (eq? 
(vector-ref
+                                                                              
x-30971
+                                                                              
0)
+                                                                            
'syntax-object)
+                                                                       #f)
+                                                                     #f)
+                                                                 (let 
((expression-31003
+                                                                         
(vector-ref
+                                                                           
x-30971
+                                                                           1))
+                                                                       
(wrap-31004
+                                                                         (let 
((w2-31012
+                                                                               
  (vector-ref
+                                                                               
    x-30971
+                                                                               
    2)))
+                                                                           
(let ((m1-31013
+                                                                               
    (car w-29709))
+                                                                               
  (s1-31014
+                                                                               
    (cdr w-29709)))
+                                                                             
(if (null? m1-31013)
+                                                                               
(if (null? s1-31014)
+                                                                               
  w2-31012
+                                                                               
  (cons (car w2-31012)
+                                                                               
        (let ((m2-31029
+                                                                               
                (cdr w2-31012)))
+                                                                               
          (if (null? m2-31029)
+                                                                               
            s1-31014
+                                                                               
            (append
+                                                                               
              s1-31014
+                                                                               
              m2-31029)))))
+                                                                               
(cons (let ((m2-31037
+                                                                               
              (car w2-31012)))
+                                                                               
        (if (null? m2-31037)
+                                                                               
          m1-31013
+                                                                               
          (append
+                                                                               
            m1-31013
+                                                                               
            m2-31037)))
+                                                                               
      (let ((m2-31045
+                                                                               
              (cdr w2-31012)))
+                                                                               
        (if (null? m2-31045)
+                                                                               
          s1-31014
+                                                                               
          (append
+                                                                               
            s1-31014
+                                                                               
            m2-31045))))))))
+                                                                       
(module-31005
+                                                                         
(vector-ref
+                                                                           
x-30971
+                                                                           3)))
+                                                                   (vector
+                                                                     
'syntax-object
+                                                                     
expression-31003
+                                                                     wrap-31004
+                                                                     
module-31005))
+                                                                 (if (null? 
x-30971)
+                                                                   x-30971
+                                                                   (vector
+                                                                     
'syntax-object
+                                                                     x-30971
+                                                                     w-29709
+                                                                     
mod-29711))))))
+                                                     (cdr body-29509))))
+                                        (begin
+                                          (if (not (valid-bound-ids?-4576
+                                                     ids-29510))
+                                            (syntax-violation
+                                              #f
+                                              "invalid or duplicate identifier 
in definition"
+                                              outer-form-29394))
+                                          (letrec*
+                                            ((loop-31144
+                                               (lambda (bs-31147
+                                                        er-cache-31148
+                                                        r-cache-31149)
+                                                 (if (not (null? bs-31147))
+                                                   (let ((b-31150
+                                                           (car bs-31147)))
+                                                     (if (let ((t-31153
+                                                                 (car 
b-31150)))
+                                                           (if (eq? t-31153
+                                                                    'macro)
+                                                             #t
+                                                             (eq? t-31153
+                                                                  
'syntax-parameter)))
+                                                       (let ((er-31155
+                                                               (car (cdr 
b-31150))))
+                                                         (let ((r-cache-31156
+                                                                 (if (eq? 
er-31155
+                                                                          
er-cache-31148)
+                                                                   
r-cache-31149
+                                                                   
(macros-only-env-4547
+                                                                     
er-31155))))
+                                                           (begin
+                                                             (set-cdr!
+                                                               b-31150
+                                                               
(eval-local-transformer-4592
+                                                                 (expand-4586
+                                                                   (cdr (cdr 
b-31150))
+                                                                   
r-cache-31156
+                                                                   '(())
+                                                                   mod-29711)
+                                                                 mod-29711))
+                                                             (if (eq? (car 
b-31150)
+                                                                      
'syntax-parameter)
+                                                               (set-cdr!
+                                                                 b-31150
+                                                                 (list (cdr 
b-31150))))
+                                                             (loop-31144
+                                                               (cdr bs-31147)
+                                                               er-31155
+                                                               
r-cache-31156))))
+                                                       (loop-31144
+                                                         (cdr bs-31147)
+                                                         er-cache-31148
+                                                         r-cache-31149)))))))
+                                            (loop-31144 bindings-29515 #f #f))
+                                          (set-cdr!
+                                            r-29398
+                                            (extend-env-4545
+                                              labels-29511
+                                              bindings-29515
+                                              (cdr r-29398)))
+                                          (build-letrec-4535
+                                            #f
+                                            #t
+                                            (reverse
+                                              (map syntax->datum
+                                                   var-ids-29512))
+                                            (reverse vars-29513)
+                                            (map (lambda (x-31576)
+                                                   (expand-4586
+                                                     (cdr x-31576)
+                                                     (car x-31576)
+                                                     '(())
+                                                     mod-29711))
+                                                 (reverse vals-29514))
+                                            (build-sequence-4532
+                                              #f
+                                              (map (lambda (x-31712)
+                                                     (expand-4586
+                                                       (cdr x-31712)
+                                                       (car x-31712)
+                                                       '(())
+                                                       mod-29711))
+                                                   (cons (cons er-29517
+                                                               (let ((x-31787
+                                                                       (begin
+                                                                         (if 
(if (pair? e-29708)
+                                                                               
s-29710
+                                                                               
#f)
+                                                                           
(set-source-properties!
+                                                                             
e-29708
+                                                                             
s-29710))
+                                                                         
e-29708)))
+                                                                 (if (if 
(null? (car w-29709))
+                                                                       (null? 
(cdr w-29709))
+                                                                       #f)
+                                                                   x-31787
+                                                                   (if (if 
(vector?
+                                                                             
x-31787)
+                                                                         (if 
(= (vector-length
+                                                                               
   x-31787)
+                                                                               
 4)
+                                                                           
(eq? (vector-ref
+                                                                               
   x-31787
+                                                                               
   0)
+                                                                               
 'syntax-object)
+                                                                           #f)
+                                                                         #f)
+                                                                     (let 
((expression-31819
+                                                                             
(vector-ref
+                                                                               
x-31787
+                                                                               
1))
+                                                                           
(wrap-31820
+                                                                             
(let ((w2-31828
+                                                                               
      (vector-ref
+                                                                               
        x-31787
+                                                                               
        2)))
+                                                                               
(let ((m1-31829
+                                                                               
        (car w-29709))
+                                                                               
      (s1-31830
+                                                                               
        (cdr w-29709)))
+                                                                               
  (if (null? m1-31829)
+                                                                               
    (if (null? s1-31830)
+                                                                               
      w2-31828
+                                                                               
      (cons (car w2-31828)
+                                                                               
            (let ((m2-31845
+                                                                               
                    (cdr w2-31828)))
+                                                                               
              (if (null? m2-31845)
+                                                                               
                s1-31830
+                                                                               
                (append
+                                                                               
                  s1-31830
+                                                                               
                  m2-31845)))))
+                                                                               
    (cons (let ((m2-31853
+                                                                               
                  (car w2-31828)))
+                                                                               
            (if (null? m2-31853)
+                                                                               
              m1-31829
+                                                                               
              (append
+                                                                               
                m1-31829
+                                                                               
                m2-31853)))
+                                                                               
          (let ((m2-31861
+                                                                               
                  (cdr w2-31828)))
+                                                                               
            (if (null? m2-31861)
+                                                                               
              s1-31830
+                                                                               
              (append
+                                                                               
                s1-31830
+                                                                               
                m2-31861))))))))
+                                                                           
(module-31821
+                                                                             
(vector-ref
+                                                                               
x-31787
+                                                                               
3)))
+                                                                       (vector
+                                                                         
'syntax-object
+                                                                         
expression-31819
+                                                                         
wrap-31820
+                                                                         
module-31821))
+                                                                     (if 
(null? x-31787)
+                                                                       x-31787
+                                                                       (vector
+                                                                         
'syntax-object
+                                                                         
x-31787
+                                                                         
w-29709
+                                                                         
mod-29711))))))
+                                                         (cdr 
body-29509))))))))))))))))))
+                 (parse-29401
+                   (map (lambda (x-29404)
+                          (cons r-29398
+                                (if (if (null? (car w-29400))
+                                      (null? (cdr w-29400))
+                                      #f)
+                                  x-29404
+                                  (if (if (vector? x-29404)
+                                        (if (= (vector-length x-29404) 4)
+                                          (eq? (vector-ref x-29404 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (let ((expression-29440
+                                            (vector-ref x-29404 1))
+                                          (wrap-29441
+                                            (let ((w2-29451
+                                                    (vector-ref x-29404 2)))
+                                              (let ((m1-29452 (car w-29400))
+                                                    (s1-29453 (cdr w-29400)))
+                                                (if (null? m1-29452)
+                                                  (if (null? s1-29453)
+                                                    w2-29451
+                                                    (cons (car w2-29451)
+                                                          (let ((m2-29470
+                                                                  (cdr 
w2-29451)))
+                                                            (if (null? 
m2-29470)
+                                                              s1-29453
+                                                              (append
+                                                                s1-29453
+                                                                m2-29470)))))
+                                                  (cons (let ((m2-29478
+                                                                (car 
w2-29451)))
+                                                          (if (null? m2-29478)
+                                                            m1-29452
+                                                            (append
+                                                              m1-29452
+                                                              m2-29478)))
+                                                        (let ((m2-29486
+                                                                (cdr 
w2-29451)))
+                                                          (if (null? m2-29486)
+                                                            s1-29453
+                                                            (append
+                                                              s1-29453
+                                                              m2-29486))))))))
+                                          (module-29442
+                                            (vector-ref x-29404 3)))
+                                      (vector
+                                        'syntax-object
+                                        expression-29440
+                                        wrap-29441
+                                        module-29442))
+                                    (if (null? x-29404)
+                                      x-29404
+                                      (vector
+                                        'syntax-object
+                                        x-29404
+                                        w-29400
+                                        mod-29397))))))
+                        body-29393)
+                   '()
+                   '()
+                   '()
+                   '()
+                   '()
+                   '())))))))
+     (expand-local-syntax-4591
+       (lambda (rec?-31876
+                e-31877
+                r-31878
+                w-31879
+                s-31880
+                mod-31881
+                k-31882)
+         (let ((tmp-31884
+                 ($sc-dispatch
+                   e-31877
+                   '(_ #(each (any any)) any . each-any))))
+           (if tmp-31884
+             (@apply
+               (lambda (id-31888 val-31889 e1-31890 e2-31891)
+                 (if (not (valid-bound-ids?-4576 id-31888))
                    (syntax-violation
-                     'syntax-case
-                     "duplicate pattern variable"
-                     #{pat 38636}#)
-                   (if (not (and-map
-                              (lambda (#{x 38887}#)
-                                (not (let ((#{x 38891}# (car #{x 38887}#)))
-                                       (if (if (if (vector? #{x 38891}#)
-                                                 (if (= (vector-length
-                                                          #{x 38891}#)
-                                                        4)
-                                                   (eq? (vector-ref
-                                                          #{x 38891}#
-                                                          0)
-                                                        'syntax-object)
-                                                   #f)
-                                                 #f)
-                                             (symbol?
-                                               (vector-ref #{x 38891}# 1))
-                                             #f)
-                                         (#{free-id=? 28259}#
-                                           #{x 38891}#
-                                           '#(syntax-object
-                                              ...
+                     #f
+                     "duplicate bound keyword"
+                     e-31877)
+                   (let ((labels-31988 (gen-labels-4553 id-31888)))
+                     (let ((new-w-31989
+                             (make-binding-wrap-4564
+                               id-31888
+                               labels-31988
+                               w-31879)))
+                       (k-31882
+                         (cons e1-31890 e2-31891)
+                         (extend-env-4545
+                           labels-31988
+                           (let ((trans-r-32027
+                                   (macros-only-env-4547 r-31878)))
+                             (begin
+                               (if rec?-31876 new-w-31989 w-31879)
+                               (map (lambda (x-32028)
+                                      (cons 'macro
+                                            (eval-local-transformer-4592
+                                              (expand-4586
+                                                x-32028
+                                                trans-r-32027
+                                                (values
+                                                  (if rec?-31876
+                                                    new-w-31989
+                                                    w-31879))
+                                                mod-31881)
+                                              mod-31881)))
+                                    val-31889)))
+                           r-31878)
+                         new-w-31989
+                         s-31880
+                         mod-31881)))))
+               tmp-31884)
+             (syntax-violation
+               #f
+               "bad local syntax definition"
+               (let ((x-32335
+                       (begin
+                         (if (if (pair? e-31877) s-31880 #f)
+                           (set-source-properties! e-31877 s-31880))
+                         e-31877)))
+                 (if (if (null? (car w-31879))
+                       (null? (cdr w-31879))
+                       #f)
+                   x-32335
+                   (if (if (vector? x-32335)
+                         (if (= (vector-length x-32335) 4)
+                           (eq? (vector-ref x-32335 0) 'syntax-object)
+                           #f)
+                         #f)
+                     (let ((expression-32367 (vector-ref x-32335 1))
+                           (wrap-32368
+                             (let ((w2-32376 (vector-ref x-32335 2)))
+                               (let ((m1-32377 (car w-31879))
+                                     (s1-32378 (cdr w-31879)))
+                                 (if (null? m1-32377)
+                                   (if (null? s1-32378)
+                                     w2-32376
+                                     (cons (car w2-32376)
+                                           (let ((m2-32393 (cdr w2-32376)))
+                                             (if (null? m2-32393)
+                                               s1-32378
+                                               (append s1-32378 m2-32393)))))
+                                   (cons (let ((m2-32401 (car w2-32376)))
+                                           (if (null? m2-32401)
+                                             m1-32377
+                                             (append m1-32377 m2-32401)))
+                                         (let ((m2-32409 (cdr w2-32376)))
+                                           (if (null? m2-32409)
+                                             s1-32378
+                                             (append s1-32378 m2-32409))))))))
+                           (module-32369 (vector-ref x-32335 3)))
+                       (vector
+                         'syntax-object
+                         expression-32367
+                         wrap-32368
+                         module-32369))
+                     (if (null? x-32335)
+                       x-32335
+                       (vector
+                         'syntax-object
+                         x-32335
+                         w-31879
+                         mod-31881))))))))))
+     (eval-local-transformer-4592
+       (lambda (expanded-32427 mod-32428)
+         (let ((p-32429 (primitive-eval expanded-32427)))
+           (if (procedure? p-32429)
+             p-32429
+             (syntax-violation
+               #f
+               "nonprocedure transformer"
+               p-32429)))))
+     (ellipsis?-4594
+       (lambda (x-6134)
+         (if (if (if (vector? x-6134)
+                   (if (= (vector-length x-6134) 4)
+                     (eq? (vector-ref x-6134 0) 'syntax-object)
+                     #f)
+                   #f)
+               (symbol? (vector-ref x-6134 1))
+               #f)
+           (free-id=?-4574
+             x-6134
+             '#(syntax-object
+                ...
+                ((top)
+                 #(ribcage () () ())
+                 #(ribcage () () ())
+                 #(ribcage #(x) #((top)) #("l-*-2416"))
+                 #(ribcage
+                   (lambda-var-list
+                     gen-var
+                     strip
+                     expand-lambda-case
+                     lambda*-formals
+                     expand-simple-lambda
+                     lambda-formals
+                     ellipsis?
+                     expand-void
+                     eval-local-transformer
+                     expand-local-syntax
+                     expand-body
+                     expand-macro
+                     expand-call
+                     expand-expr
+                     expand
+                     syntax-type
+                     parse-when-list
+                     expand-install-global
+                     expand-top-sequence
+                     expand-sequence
+                     source-wrap
+                     wrap
+                     bound-id-member?
+                     distinct-bound-ids?
+                     valid-bound-ids?
+                     bound-id=?
+                     free-id=?
+                     with-transformer-environment
+                     transformer-environment
+                     resolve-identifier
+                     locally-bound-identifiers
+                     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
+                     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
+                     session-id
+                     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)
+                    (top)
+                    (top)
+                    (top))
+                   ("l-*-478"
+                    "l-*-476"
+                    "l-*-474"
+                    "l-*-472"
+                    "l-*-470"
+                    "l-*-468"
+                    "l-*-466"
+                    "l-*-464"
+                    "l-*-462"
+                    "l-*-460"
+                    "l-*-458"
+                    "l-*-456"
+                    "l-*-454"
+                    "l-*-452"
+                    "l-*-450"
+                    "l-*-448"
+                    "l-*-446"
+                    "l-*-444"
+                    "l-*-442"
+                    "l-*-440"
+                    "l-*-438"
+                    "l-*-436"
+                    "l-*-434"
+                    "l-*-432"
+                    "l-*-430"
+                    "l-*-428"
+                    "l-*-426"
+                    "l-*-424"
+                    "l-*-422"
+                    "l-*-420"
+                    "l-*-418"
+                    "l-*-416"
+                    "l-*-414"
+                    "l-*-412"
+                    "l-*-410"
+                    "l-*-408"
+                    "l-*-406"
+                    "l-*-404"
+                    "l-*-402"
+                    "l-*-401"
+                    "l-*-399"
+                    "l-*-396"
+                    "l-*-395"
+                    "l-*-394"
+                    "l-*-392"
+                    "l-*-391"
+                    "l-*-389"
+                    "l-*-387"
+                    "l-*-385"
+                    "l-*-383"
+                    "l-*-381"
+                    "l-*-379"
+                    "l-*-377"
+                    "l-*-375"
+                    "l-*-372"
+                    "l-*-370"
+                    "l-*-369"
+                    "l-*-367"
+                    "l-*-365"
+                    "l-*-363"
+                    "l-*-361"
+                    "l-*-360"
+                    "l-*-359"
+                    "l-*-358"
+                    "l-*-356"
+                    "l-*-355"
+                    "l-*-352"
+                    "l-*-350"
+                    "l-*-348"
+                    "l-*-346"
+                    "l-*-344"
+                    "l-*-342"
+                    "l-*-341"
+                    "l-*-340"
+                    "l-*-338"
+                    "l-*-336"
+                    "l-*-335"
+                    "l-*-332"
+                    "l-*-331"
+                    "l-*-329"
+                    "l-*-327"
+                    "l-*-325"
+                    "l-*-323"
+                    "l-*-321"
+                    "l-*-319"
+                    "l-*-317"
+                    "l-*-315"
+                    "l-*-313"
+                    "l-*-310"
+                    "l-*-308"
+                    "l-*-306"
+                    "l-*-304"
+                    "l-*-302"
+                    "l-*-300"
+                    "l-*-298"
+                    "l-*-296"
+                    "l-*-294"
+                    "l-*-292"
+                    "l-*-290"
+                    "l-*-288"
+                    "l-*-286"
+                    "l-*-284"
+                    "l-*-282"
+                    "l-*-280"
+                    "l-*-278"
+                    "l-*-276"
+                    "l-*-274"
+                    "l-*-272"
+                    "l-*-270"
+                    "l-*-268"
+                    "l-*-266"
+                    "l-*-264"
+                    "l-*-262"
+                    "l-*-260"
+                    "l-*-258"
+                    "l-*-257"
+                    "l-*-256"
+                    "l-*-255"
+                    "l-*-254"
+                    "l-*-252"
+                    "l-*-250"
+                    "l-*-248"
+                    "l-*-245"
+                    "l-*-243"
+                    "l-*-241"
+                    "l-*-239"
+                    "l-*-237"
+                    "l-*-235"
+                    "l-*-233"
+                    "l-*-231"
+                    "l-*-229"
+                    "l-*-227"
+                    "l-*-225"
+                    "l-*-223"
+                    "l-*-221"
+                    "l-*-219"
+                    "l-*-217"
+                    "l-*-215"
+                    "l-*-213"
+                    "l-*-211"
+                    "l-*-209"))
+                 #(ribcage
+                   (define-structure
+                     define-expansion-accessors
+                     define-expansion-constructors)
+                   ((top) (top) (top))
+                   ("l-*-47" "l-*-46" "l-*-45"))
+                 #(ribcage () () ()))
+                (hygiene guile)))
+           #f)))
+     (lambda-formals-4595
+       (lambda (orig-args-32434)
+         (letrec*
+           ((req-32435
+              (lambda (args-32439 rreq-32440)
+                (let ((tmp-32442 ($sc-dispatch args-32439 '())))
+                  (if tmp-32442
+                    (@apply
+                      (lambda () (check-32436 (reverse rreq-32440) #f))
+                      tmp-32442)
+                    (let ((tmp-32558
+                            ($sc-dispatch args-32439 '(any . any))))
+                      (if (if tmp-32558
+                            (@apply
+                              (lambda (a-32562 b-32563)
+                                (if (symbol? a-32562)
+                                  #t
+                                  (if (if (vector? a-32562)
+                                        (if (= (vector-length a-32562) 4)
+                                          (eq? (vector-ref a-32562 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (symbol? (vector-ref a-32562 1))
+                                    #f)))
+                              tmp-32558)
+                            #f)
+                        (@apply
+                          (lambda (a-32590 b-32591)
+                            (req-32435 b-32591 (cons a-32590 rreq-32440)))
+                          tmp-32558)
+                        (let ((tmp-32592 (list args-32439)))
+                          (if (@apply
+                                (lambda (r-32594)
+                                  (if (symbol? r-32594)
+                                    #t
+                                    (if (if (vector? r-32594)
+                                          (if (= (vector-length r-32594) 4)
+                                            (eq? (vector-ref r-32594 0)
+                                                 'syntax-object)
+                                            #f)
+                                          #f)
+                                      (symbol? (vector-ref r-32594 1))
+                                      #f)))
+                                tmp-32592)
+                            (@apply
+                              (lambda (r-32624)
+                                (check-32436 (reverse rreq-32440) r-32624))
+                              tmp-32592)
+                            (syntax-violation
+                              'lambda
+                              "invalid argument list"
+                              orig-args-32434
+                              args-32439)))))))))
+            (check-32436
+              (lambda (req-32748 rest-32749)
+                (if (distinct-bound-ids?-4577
+                      (if rest-32749
+                        (cons rest-32749 req-32748)
+                        req-32748))
+                  (values req-32748 #f rest-32749 #f)
+                  (syntax-violation
+                    'lambda
+                    "duplicate identifier in argument list"
+                    orig-args-32434)))))
+           (req-32435 orig-args-32434 '()))))
+     (expand-simple-lambda-4596
+       (lambda (e-32858
+                r-32859
+                w-32860
+                s-32861
+                mod-32862
+                req-32863
+                rest-32864
+                meta-32865
+                body-32866)
+         (let ((ids-32867
+                 (if rest-32864
+                   (append req-32863 (list rest-32864))
+                   req-32863)))
+           (let ((vars-32868 (map gen-var-4600 ids-32867)))
+             (let ((labels-32869 (gen-labels-4553 ids-32867)))
+               (build-simple-lambda-4526
+                 s-32861
+                 (map syntax->datum req-32863)
+                 (if rest-32864 (syntax->datum rest-32864) #f)
+                 vars-32868
+                 meta-32865
+                 (expand-body-4590
+                   body-32866
+                   (let ((x-33052
+                           (begin
+                             (if (if (pair? e-32858) s-32861 #f)
+                               (set-source-properties! e-32858 s-32861))
+                             e-32858)))
+                     (if (if (null? (car w-32860))
+                           (null? (cdr w-32860))
+                           #f)
+                       x-33052
+                       (if (if (vector? x-33052)
+                             (if (= (vector-length x-33052) 4)
+                               (eq? (vector-ref x-33052 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (let ((expression-33084 (vector-ref x-33052 1))
+                               (wrap-33085
+                                 (let ((w2-33093 (vector-ref x-33052 2)))
+                                   (let ((m1-33094 (car w-32860))
+                                         (s1-33095 (cdr w-32860)))
+                                     (if (null? m1-33094)
+                                       (if (null? s1-33095)
+                                         w2-33093
+                                         (cons (car w2-33093)
+                                               (let ((m2-33110 (cdr w2-33093)))
+                                                 (if (null? m2-33110)
+                                                   s1-33095
+                                                   (append
+                                                     s1-33095
+                                                     m2-33110)))))
+                                       (cons (let ((m2-33118 (car w2-33093)))
+                                               (if (null? m2-33118)
+                                                 m1-33094
+                                                 (append m1-33094 m2-33118)))
+                                             (let ((m2-33126 (cdr w2-33093)))
+                                               (if (null? m2-33126)
+                                                 s1-33095
+                                                 (append
+                                                   s1-33095
+                                                   m2-33126))))))))
+                               (module-33086 (vector-ref x-33052 3)))
+                           (vector
+                             'syntax-object
+                             expression-33084
+                             wrap-33085
+                             module-33086))
+                         (if (null? x-33052)
+                           x-33052
+                           (vector
+                             'syntax-object
+                             x-33052
+                             w-32860
+                             mod-32862)))))
+                   (extend-var-env-4546
+                     labels-32869
+                     vars-32868
+                     r-32859)
+                   (make-binding-wrap-4564
+                     ids-32867
+                     labels-32869
+                     w-32860)
+                   mod-32862)))))))
+     (lambda*-formals-4597
+       (lambda (orig-args-33335)
+         (letrec*
+           ((req-33336
+              (lambda (args-33343 rreq-33344)
+                (let ((tmp-33346 ($sc-dispatch args-33343 '())))
+                  (if tmp-33346
+                    (@apply
+                      (lambda ()
+                        (check-33340 (reverse rreq-33344) '() #f '()))
+                      tmp-33346)
+                    (let ((tmp-33465
+                            ($sc-dispatch args-33343 '(any . any))))
+                      (if (if tmp-33465
+                            (@apply
+                              (lambda (a-33469 b-33470)
+                                (if (symbol? a-33469)
+                                  #t
+                                  (if (if (vector? a-33469)
+                                        (if (= (vector-length a-33469) 4)
+                                          (eq? (vector-ref a-33469 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (symbol? (vector-ref a-33469 1))
+                                    #f)))
+                              tmp-33465)
+                            #f)
+                        (@apply
+                          (lambda (a-33497 b-33498)
+                            (req-33336 b-33498 (cons a-33497 rreq-33344)))
+                          tmp-33465)
+                        (let ((tmp-33499
+                                ($sc-dispatch args-33343 '(any . any))))
+                          (if (if tmp-33499
+                                (@apply
+                                  (lambda (a-33503 b-33504)
+                                    (eq? (syntax->datum a-33503) #:optional))
+                                  tmp-33499)
+                                #f)
+                            (@apply
+                              (lambda (a-33505 b-33506)
+                                (opt-33337 b-33506 (reverse rreq-33344) '()))
+                              tmp-33499)
+                            (let ((tmp-33509
+                                    ($sc-dispatch args-33343 '(any . any))))
+                              (if (if tmp-33509
+                                    (@apply
+                                      (lambda (a-33513 b-33514)
+                                        (eq? (syntax->datum a-33513) #:key))
+                                      tmp-33509)
+                                    #f)
+                                (@apply
+                                  (lambda (a-33515 b-33516)
+                                    (key-33338
+                                      b-33516
+                                      (reverse rreq-33344)
+                                      '()
+                                      '()))
+                                  tmp-33509)
+                                (let ((tmp-33519
+                                        ($sc-dispatch args-33343 '(any any))))
+                                  (if (if tmp-33519
+                                        (@apply
+                                          (lambda (a-33523 b-33524)
+                                            (eq? (syntax->datum a-33523)
+                                                 #:rest))
+                                          tmp-33519)
+                                        #f)
+                                    (@apply
+                                      (lambda (a-33525 b-33526)
+                                        (rest-33339
+                                          b-33526
+                                          (reverse rreq-33344)
+                                          '()
+                                          '()))
+                                      tmp-33519)
+                                    (let ((tmp-33529 (list args-33343)))
+                                      (if (@apply
+                                            (lambda (r-33531)
+                                              (if (symbol? r-33531)
+                                                #t
+                                                (if (if (vector? r-33531)
+                                                      (if (= (vector-length
+                                                               r-33531)
+                                                             4)
+                                                        (eq? (vector-ref
+                                                               r-33531
+                                                               0)
+                                                             'syntax-object)
+                                                        #f)
+                                                      #f)
+                                                  (symbol?
+                                                    (vector-ref r-33531 1))
+                                                  #f)))
+                                            tmp-33529)
+                                        (@apply
+                                          (lambda (r-33561)
+                                            (rest-33339
+                                              r-33561
+                                              (reverse rreq-33344)
+                                              '()
+                                              '()))
+                                          tmp-33529)
+                                        (syntax-violation
+                                          'lambda*
+                                          "invalid argument list"
+                                          orig-args-33335
+                                          args-33343)))))))))))))))
+            (opt-33337
+              (lambda (args-33580 req-33581 ropt-33582)
+                (let ((tmp-33584 ($sc-dispatch args-33580 '())))
+                  (if tmp-33584
+                    (@apply
+                      (lambda ()
+                        (check-33340
+                          req-33581
+                          (reverse ropt-33582)
+                          #f
+                          '()))
+                      tmp-33584)
+                    (let ((tmp-33705
+                            ($sc-dispatch args-33580 '(any . any))))
+                      (if (if tmp-33705
+                            (@apply
+                              (lambda (a-33709 b-33710)
+                                (if (symbol? a-33709)
+                                  #t
+                                  (if (if (vector? a-33709)
+                                        (if (= (vector-length a-33709) 4)
+                                          (eq? (vector-ref a-33709 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (symbol? (vector-ref a-33709 1))
+                                    #f)))
+                              tmp-33705)
+                            #f)
+                        (@apply
+                          (lambda (a-33737 b-33738)
+                            (opt-33337
+                              b-33738
+                              req-33581
+                              (cons (cons a-33737
+                                          '(#(syntax-object
+                                              #f
                                               ((top)
-                                               #(ribcage () () ())
+                                               #(ribcage
+                                                 #(a b)
+                                                 #((top) (top))
+                                                 #("l-*-2555" "l-*-2556"))
                                                #(ribcage () () ())
                                                #(ribcage
-                                                 #(x)
+                                                 #(args req ropt)
+                                                 #((top) (top) (top))
+                                                 #("l-*-2545"
+                                                   "l-*-2546"
+                                                   "l-*-2547"))
+                                               #(ribcage
+                                                 (check rest key opt req)
+                                                 ((top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
+                                                  (top))
+                                                 ("l-*-2491"
+                                                  "l-*-2489"
+                                                  "l-*-2487"
+                                                  "l-*-2485"
+                                                  "l-*-2483"))
+                                               #(ribcage
+                                                 #(orig-args)
                                                  #((top))
-                                                 #("i26166"))
+                                                 #("l-*-2482"))
                                                #(ribcage
                                                  (lambda-var-list
                                                    gen-var
@@ -14487,7 +7358,10 @@
                                                    valid-bound-ids?
                                                    bound-id=?
                                                    free-id=?
+                                                   with-transformer-environment
+                                                   transformer-environment
                                                    resolve-identifier
+                                                   locally-bound-identifiers
                                                    id-var-name
                                                    same-marks?
                                                    join-marks
@@ -14568,7 +7442,7 @@
                                                    decorate-source
                                                    get-global-definition-hook
                                                    put-global-definition-hook
-                                                   gensym-hook
+                                                   session-id
                                                    local-eval-hook
                                                    top-level-eval-hook
                                                    fx<
@@ -14734,1841 +7608,7459 @@
                                                   (top)
                                                   (top)
                                                   (top)
+                                                  (top)
+                                                  (top)
+                                                  (top)
                                                   (top))
-                                                 ("i24298"
-                                                  "i24296"
-                                                  "i24294"
-                                                  "i24292"
-                                                  "i24290"
-                                                  "i24288"
-                                                  "i24286"
-                                                  "i24284"
-                                                  "i24282"
-                                                  "i24280"
-                                                  "i24278"
-                                                  "i24276"
-                                                  "i24274"
-                                                  "i24272"
-                                                  "i24270"
-                                                  "i24268"
-                                                  "i24266"
-                                                  "i24264"
-                                                  "i24262"
-                                                  "i24260"
-                                                  "i24258"
-                                                  "i24256"
-                                                  "i24254"
-                                                  "i24252"
-                                                  "i24250"
-                                                  "i24248"
-                                                  "i24246"
-                                                  "i24244"
-                                                  "i24242"
-                                                  "i24240"
-                                                  "i24238"
-                                                  "i24236"
-                                                  "i24234"
-                                                  "i24232"
-                                                  "i24230"
-                                                  "i24228"
-                                                  "i24227"
-                                                  "i24225"
-                                                  "i24222"
-                                                  "i24221"
-                                                  "i24220"
-                                                  "i24218"
-                                                  "i24217"
-                                                  "i24215"
-                                                  "i24213"
-                                                  "i24211"
-                                                  "i24209"
-                                                  "i24207"
-                                                  "i24205"
-                                                  "i24203"
-                                                  "i24201"
-                                                  "i24198"
-                                                  "i24196"
-                                                  "i24195"
-                                                  "i24193"
-                                                  "i24191"
-                                                  "i24189"
-                                                  "i24187"
-                                                  "i24186"
-                                                  "i24185"
-                                                  "i24184"
-                                                  "i24182"
-                                                  "i24181"
-                                                  "i24178"
-                                                  "i24176"
-                                                  "i24174"
-                                                  "i24172"
-                                                  "i24170"
-                                                  "i24168"
-                                                  "i24167"
-                                                  "i24166"
-                                                  "i24164"
-                                                  "i24162"
-                                                  "i24161"
-                                                  "i24158"
-                                                  "i24157"
-                                                  "i24155"
-                                                  "i24153"
-                                                  "i24151"
-                                                  "i24149"
-                                                  "i24147"
-                                                  "i24145"
-                                                  "i24143"
-                                                  "i24141"
-                                                  "i24139"
-                                                  "i24136"
-                                                  "i24134"
-                                                  "i24132"
-                                                  "i24130"
-                                                  "i24128"
-                                                  "i24126"
-                                                  "i24124"
-                                                  "i24122"
-                                                  "i24120"
-                                                  "i24118"
-                                                  "i24116"
-                                                  "i24114"
-                                                  "i24112"
-                                                  "i24110"
-                                                  "i24108"
-                                                  "i24106"
-                                                  "i24104"
-                                                  "i24102"
-                                                  "i24100"
-                                                  "i24098"
-                                                  "i24096"
-                                                  "i24094"
-                                                  "i24092"
-                                                  "i24090"
-                                                  "i24089"
-                                                  "i24086"
-                                                  "i24084"
-                                                  "i24083"
-                                                  "i24082"
-                                                  "i24081"
-                                                  "i24080"
-                                                  "i24078"
-                                                  "i24076"
-                                                  "i24074"
-                                                  "i24071"
-                                                  "i24069"
-                                                  "i24067"
-                                                  "i24065"
-                                                  "i24063"
-                                                  "i24061"
-                                                  "i24059"
-                                                  "i24057"
-                                                  "i24055"
-                                                  "i24053"
-                                                  "i24051"
-                                                  "i24049"
-                                                  "i24047"
-                                                  "i24045"
-                                                  "i24043"
-                                                  "i24041"
-                                                  "i24039"
-                                                  "i24037"
-                                                  "i24035"))
+                                                 ("l-*-478"
+                                                  "l-*-476"
+                                                  "l-*-474"
+                                                  "l-*-472"
+                                                  "l-*-470"
+                                                  "l-*-468"
+                                                  "l-*-466"
+                                                  "l-*-464"
+                                                  "l-*-462"
+                                                  "l-*-460"
+                                                  "l-*-458"
+                                                  "l-*-456"
+                                                  "l-*-454"
+                                                  "l-*-452"
+                                                  "l-*-450"
+                                                  "l-*-448"
+                                                  "l-*-446"
+                                                  "l-*-444"
+                                                  "l-*-442"
+                                                  "l-*-440"
+                                                  "l-*-438"
+                                                  "l-*-436"
+                                                  "l-*-434"
+                                                  "l-*-432"
+                                                  "l-*-430"
+                                                  "l-*-428"
+                                                  "l-*-426"
+                                                  "l-*-424"
+                                                  "l-*-422"
+                                                  "l-*-420"
+                                                  "l-*-418"
+                                                  "l-*-416"
+                                                  "l-*-414"
+                                                  "l-*-412"
+                                                  "l-*-410"
+                                                  "l-*-408"
+                                                  "l-*-406"
+                                                  "l-*-404"
+                                                  "l-*-402"
+                                                  "l-*-401"
+                                                  "l-*-399"
+                                                  "l-*-396"
+                                                  "l-*-395"
+                                                  "l-*-394"
+                                                  "l-*-392"
+                                                  "l-*-391"
+                                                  "l-*-389"
+                                                  "l-*-387"
+                                                  "l-*-385"
+                                                  "l-*-383"
+                                                  "l-*-381"
+                                                  "l-*-379"
+                                                  "l-*-377"
+                                                  "l-*-375"
+                                                  "l-*-372"
+                                                  "l-*-370"
+                                                  "l-*-369"
+                                                  "l-*-367"
+                                                  "l-*-365"
+                                                  "l-*-363"
+                                                  "l-*-361"
+                                                  "l-*-360"
+                                                  "l-*-359"
+                                                  "l-*-358"
+                                                  "l-*-356"
+                                                  "l-*-355"
+                                                  "l-*-352"
+                                                  "l-*-350"
+                                                  "l-*-348"
+                                                  "l-*-346"
+                                                  "l-*-344"
+                                                  "l-*-342"
+                                                  "l-*-341"
+                                                  "l-*-340"
+                                                  "l-*-338"
+                                                  "l-*-336"
+                                                  "l-*-335"
+                                                  "l-*-332"
+                                                  "l-*-331"
+                                                  "l-*-329"
+                                                  "l-*-327"
+                                                  "l-*-325"
+                                                  "l-*-323"
+                                                  "l-*-321"
+                                                  "l-*-319"
+                                                  "l-*-317"
+                                                  "l-*-315"
+                                                  "l-*-313"
+                                                  "l-*-310"
+                                                  "l-*-308"
+                                                  "l-*-306"
+                                                  "l-*-304"
+                                                  "l-*-302"
+                                                  "l-*-300"
+                                                  "l-*-298"
+                                                  "l-*-296"
+                                                  "l-*-294"
+                                                  "l-*-292"
+                                                  "l-*-290"
+                                                  "l-*-288"
+                                                  "l-*-286"
+                                                  "l-*-284"
+                                                  "l-*-282"
+                                                  "l-*-280"
+                                                  "l-*-278"
+                                                  "l-*-276"
+                                                  "l-*-274"
+                                                  "l-*-272"
+                                                  "l-*-270"
+                                                  "l-*-268"
+                                                  "l-*-266"
+                                                  "l-*-264"
+                                                  "l-*-262"
+                                                  "l-*-260"
+                                                  "l-*-258"
+                                                  "l-*-257"
+                                                  "l-*-256"
+                                                  "l-*-255"
+                                                  "l-*-254"
+                                                  "l-*-252"
+                                                  "l-*-250"
+                                                  "l-*-248"
+                                                  "l-*-245"
+                                                  "l-*-243"
+                                                  "l-*-241"
+                                                  "l-*-239"
+                                                  "l-*-237"
+                                                  "l-*-235"
+                                                  "l-*-233"
+                                                  "l-*-231"
+                                                  "l-*-229"
+                                                  "l-*-227"
+                                                  "l-*-225"
+                                                  "l-*-223"
+                                                  "l-*-221"
+                                                  "l-*-219"
+                                                  "l-*-217"
+                                                  "l-*-215"
+                                                  "l-*-213"
+                                                  "l-*-211"
+                                                  "l-*-209"))
                                                #(ribcage
                                                  (define-structure
                                                    define-expansion-accessors
                                                    
define-expansion-constructors)
                                                  ((top) (top) (top))
-                                                 ("i23873" "i23872" "i23871"))
+                                                 ("l-*-47" "l-*-46" "l-*-45"))
                                                #(ribcage () () ()))
-                                              (hygiene guile)))
-                                         #f))))
-                              #{pvars 38778}#))
-                     (syntax-violation
-                       'syntax-case
-                       "misplaced ellipsis"
-                       #{pat 38636}#)
-                     (let ((#{y 38916}#
-                             (gensym
-                               (string-append (symbol->string 'tmp) " "))))
-                       (let ((#{fun-exp 38921}#
-                               (let ((#{req 38930}# (list 'tmp))
-                                     (#{vars 38932}# (list #{y 38916}#))
-                                     (#{exp 38934}#
-                                       (let ((#{y 38963}#
-                                               (make-struct/no-tail
-                                                 (vector-ref
-                                                   %expanded-vtables
-                                                   3)
-                                                 #f
-                                                 'tmp
-                                                 #{y 38916}#)))
-                                         (let ((#{test-exp 38967}#
-                                                 (let ((#{tmp 38976}#
-                                                         ($sc-dispatch
-                                                           #{fender 38637}#
-                                                           '#(atom #t))))
-                                                   (if #{tmp 38976}#
-                                                     (@apply
-                                                       (lambda () #{y 38963}#)
-                                                       #{tmp 38976}#)
-                                                     (let ((#{then-exp 38994}#
-                                                             
(#{build-dispatch-call 37427}#
-                                                               #{pvars 38778}#
-                                                               #{fender 38637}#
-                                                               #{y 38963}#
-                                                               #{r 38635}#
-                                                               #{mod 38639}#))
-                                                           (#{else-exp 38995}#
-                                                             
(make-struct/no-tail
-                                                               (vector-ref
-                                                                 
%expanded-vtables
-                                                                 1)
-                                                               #f
-                                                               #f)))
-                                                       (make-struct/no-tail
-                                                         (vector-ref
-                                                           %expanded-vtables
-                                                           10)
-                                                         #f
-                                                         #{y 38963}#
-                                                         #{then-exp 38994}#
-                                                         #{else-exp 
38995}#)))))
-                                               (#{then-exp 38968}#
-                                                 (#{build-dispatch-call 37427}#
-                                                   #{pvars 38778}#
-                                                   #{exp 38638}#
-                                                   #{y 38963}#
-                                                   #{r 38635}#
-                                                   #{mod 38639}#))
-                                               (#{else-exp 38969}#
-                                                 (#{gen-syntax-case 37429}#
-                                                   #{x 38632}#
-                                                   #{keys 38633}#
-                                                   #{clauses 38634}#
-                                                   #{r 38635}#
-                                                   #{mod 38639}#)))
-                                           (make-struct/no-tail
-                                             (vector-ref %expanded-vtables 10)
-                                             #f
-                                             #{test-exp 38967}#
-                                             #{then-exp 38968}#
-                                             #{else-exp 38969}#)))))
-                                 (let ((#{body 38939}#
-                                         (make-struct/no-tail
-                                           (vector-ref %expanded-vtables 15)
-                                           #f
-                                           #{req 38930}#
-                                           #f
-                                           #f
-                                           #f
-                                           '()
-                                           #{vars 38932}#
-                                           #{exp 38934}#
-                                           #f)))
-                                   (make-struct/no-tail
-                                     (vector-ref %expanded-vtables 14)
-                                     #f
-                                     '()
-                                     #{body 38939}#))))
-                             (#{arg-exps 38922}#
-                               (list (if (eq? #{p 38777}# 'any)
-                                       (let ((#{args 39027}#
-                                               (list #{x 38632}#)))
-                                         (make-struct/no-tail
-                                           (vector-ref %expanded-vtables 12)
-                                           #f
-                                           'list
-                                           #{args 39027}#))
-                                       (let ((#{args 39036}#
-                                               (list #{x 38632}#
-                                                     (make-struct/no-tail
-                                                       (vector-ref
-                                                         %expanded-vtables
-                                                         1)
-                                                       #f
-                                                       #{p 38777}#))))
-                                         (make-struct/no-tail
-                                           (vector-ref %expanded-vtables 12)
-                                           #f
-                                           '$sc-dispatch
-                                           #{args 39036}#))))))
-                         (make-struct/no-tail
-                           (vector-ref %expanded-vtables 11)
-                           #f
-                           #{fun-exp 38921}#
-                           #{arg-exps 38922}#)))))))))
-         (#{gen-syntax-case 37429}#
-           (lambda (#{x 38133}#
-                    #{keys 38134}#
-                    #{clauses 38135}#
-                    #{r 38136}#
-                    #{mod 38137}#)
-             (if (null? #{clauses 38135}#)
-               (let ((#{args 38143}#
-                       (list (make-struct/no-tail
-                               (vector-ref %expanded-vtables 1)
-                               #f
-                               #f)
-                             (make-struct/no-tail
-                               (vector-ref %expanded-vtables 1)
-                               #f
-                               "source expression failed to match any pattern")
-                             #{x 38133}#)))
-                 (make-struct/no-tail
-                   (vector-ref %expanded-vtables 12)
-                   #f
-                   'syntax-violation
-                   #{args 38143}#))
-               (let ((#{tmp 38162}# (car #{clauses 38135}#)))
-                 (let ((#{tmp 38163}#
-                         ($sc-dispatch #{tmp 38162}# '(any any))))
-                   (if #{tmp 38163}#
-                     (@apply
-                       (lambda (#{pat 38165}# #{exp 38166}#)
-                         (if (if (if (symbol? #{pat 38165}#)
-                                   #t
-                                   (if (if (vector? #{pat 38165}#)
-                                         (if (= (vector-length #{pat 38165}#)
-                                                4)
-                                           (eq? (vector-ref #{pat 38165}# 0)
-                                                'syntax-object)
-                                           #f)
-                                         #f)
-                                     (symbol? (vector-ref #{pat 38165}# 1))
-                                     #f))
-                               (and-map
-                                 (lambda (#{x 38193}#)
-                                   (not (#{free-id=? 28259}#
-                                          #{pat 38165}#
-                                          #{x 38193}#)))
-                                 (cons '#(syntax-object
-                                          ...
-                                          ((top)
-                                           #(ribcage
-                                             #(pat exp)
-                                             #((top) (top))
-                                             #("i27835" "i27836"))
-                                           #(ribcage () () ())
-                                           #(ribcage
-                                             #(x keys clauses r mod)
-                                             #((top) (top) (top) (top) (top))
-                                             #("i27825"
-                                               "i27826"
-                                               "i27827"
-                                               "i27828"
-                                               "i27829"))
-                                           #(ribcage
-                                             (gen-syntax-case
-                                               gen-clause
-                                               build-dispatch-call
-                                               convert-pattern)
-                                             ((top) (top) (top) (top))
-                                             ("i27638"
-                                              "i27636"
-                                              "i27634"
-                                              "i27632"))
-                                           #(ribcage
-                                             (lambda-var-list
-                                               gen-var
-                                               strip
-                                               expand-lambda-case
-                                               lambda*-formals
-                                               expand-simple-lambda
-                                               lambda-formals
-                                               ellipsis?
-                                               expand-void
-                                               eval-local-transformer
-                                               expand-local-syntax
-                                               expand-body
-                                               expand-macro
-                                               expand-call
-                                               expand-expr
-                                               expand
-                                               syntax-type
-                                               parse-when-list
-                                               expand-install-global
-                                               expand-top-sequence
-                                               expand-sequence
-                                               source-wrap
-                                               wrap
-                                               bound-id-member?
-                                               distinct-bound-ids?
-                                               valid-bound-ids?
-                                               bound-id=?
-                                               free-id=?
-                                               resolve-identifier
-                                               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
-                                               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)
+                                              (hygiene guile))))
+                                    ropt-33582)))
+                          tmp-33705)
+                        (let ((tmp-33739
+                                ($sc-dispatch args-33580 '((any any) . any))))
+                          (if (if tmp-33739
+                                (@apply
+                                  (lambda (a-33743 init-33744 b-33745)
+                                    (if (symbol? a-33743)
+                                      #t
+                                      (if (if (vector? a-33743)
+                                            (if (= (vector-length a-33743) 4)
+                                              (eq? (vector-ref a-33743 0)
+                                                   'syntax-object)
+                                              #f)
+                                            #f)
+                                        (symbol? (vector-ref a-33743 1))
+                                        #f)))
+                                  tmp-33739)
+                                #f)
+                            (@apply
+                              (lambda (a-33772 init-33773 b-33774)
+                                (opt-33337
+                                  b-33774
+                                  req-33581
+                                  (cons (list a-33772 init-33773) ropt-33582)))
+                              tmp-33739)
+                            (let ((tmp-33775
+                                    ($sc-dispatch args-33580 '(any . any))))
+                              (if (if tmp-33775
+                                    (@apply
+                                      (lambda (a-33779 b-33780)
+                                        (eq? (syntax->datum a-33779) #:key))
+                                      tmp-33775)
+                                    #f)
+                                (@apply
+                                  (lambda (a-33781 b-33782)
+                                    (key-33338
+                                      b-33782
+                                      req-33581
+                                      (reverse ropt-33582)
+                                      '()))
+                                  tmp-33775)
+                                (let ((tmp-33785
+                                        ($sc-dispatch args-33580 '(any any))))
+                                  (if (if tmp-33785
+                                        (@apply
+                                          (lambda (a-33789 b-33790)
+                                            (eq? (syntax->datum a-33789)
+                                                 #:rest))
+                                          tmp-33785)
+                                        #f)
+                                    (@apply
+                                      (lambda (a-33791 b-33792)
+                                        (rest-33339
+                                          b-33792
+                                          req-33581
+                                          (reverse ropt-33582)
+                                          '()))
+                                      tmp-33785)
+                                    (let ((tmp-33795 (list args-33580)))
+                                      (if (@apply
+                                            (lambda (r-33797)
+                                              (if (symbol? r-33797)
+                                                #t
+                                                (if (if (vector? r-33797)
+                                                      (if (= (vector-length
+                                                               r-33797)
+                                                             4)
+                                                        (eq? (vector-ref
+                                                               r-33797
+                                                               0)
+                                                             'syntax-object)
+                                                        #f)
+                                                      #f)
+                                                  (symbol?
+                                                    (vector-ref r-33797 1))
+                                                  #f)))
+                                            tmp-33795)
+                                        (@apply
+                                          (lambda (r-33827)
+                                            (rest-33339
+                                              r-33827
+                                              req-33581
+                                              (reverse ropt-33582)
+                                              '()))
+                                          tmp-33795)
+                                        (syntax-violation
+                                          'lambda*
+                                          "invalid optional argument list"
+                                          orig-args-33335
+                                          args-33580)))))))))))))))
+            (key-33338
+              (lambda (args-33846 req-33847 opt-33848 rkey-33849)
+                (let ((tmp-33851 ($sc-dispatch args-33846 '())))
+                  (if tmp-33851
+                    (@apply
+                      (lambda ()
+                        (check-33340
+                          req-33847
+                          opt-33848
+                          #f
+                          (cons #f (reverse rkey-33849))))
+                      tmp-33851)
+                    (let ((tmp-33973
+                            ($sc-dispatch args-33846 '(any . any))))
+                      (if (if tmp-33973
+                            (@apply
+                              (lambda (a-33977 b-33978)
+                                (if (symbol? a-33977)
+                                  #t
+                                  (if (if (vector? a-33977)
+                                        (if (= (vector-length a-33977) 4)
+                                          (eq? (vector-ref a-33977 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (symbol? (vector-ref a-33977 1))
+                                    #f)))
+                              tmp-33973)
+                            #f)
+                        (@apply
+                          (lambda (a-34005 b-34006)
+                            (let ((tmp-34007
+                                    (symbol->keyword (syntax->datum a-34005))))
+                              (key-33338
+                                b-34006
+                                req-33847
+                                opt-33848
+                                (cons (cons tmp-34007
+                                            (cons a-34005
+                                                  '(#(syntax-object
+                                                      #f
+                                                      ((top)
+                                                       #(ribcage () () ())
+                                                       #(ribcage
+                                                         #(k)
+                                                         #((top))
+                                                         #("l-*-2618"))
+                                                       #(ribcage
+                                                         #(a b)
+                                                         #((top) (top))
+                                                         #("l-*-2612"
+                                                           "l-*-2613"))
+                                                       #(ribcage () () ())
+                                                       #(ribcage
+                                                         #(args req opt rkey)
+                                                         #((top)
+                                                           (top)
+                                                           (top)
+                                                           (top))
+                                                         #("l-*-2601"
+                                                           "l-*-2602"
+                                                           "l-*-2603"
+                                                           "l-*-2604"))
+                                                       #(ribcage
+                                                         (check rest
+                                                                key
+                                                                opt
+                                                                req)
+                                                         ((top)
+                                                          (top)
+                                                          (top)
+                                                          (top)
+                                                          (top))
+                                                         ("l-*-2491"
+                                                          "l-*-2489"
+                                                          "l-*-2487"
+                                                          "l-*-2485"
+                                                          "l-*-2483"))
+                                                       #(ribcage
+                                                         #(orig-args)
+                                                         #((top))
+                                                         #("l-*-2482"))
+                                                       #(ribcage
+                                                         (lambda-var-list
+                                                           gen-var
+                                                           strip
+                                                           expand-lambda-case
+                                                           lambda*-formals
+                                                           expand-simple-lambda
+                                                           lambda-formals
+                                                           ellipsis?
+                                                           expand-void
+                                                           
eval-local-transformer
+                                                           expand-local-syntax
+                                                           expand-body
+                                                           expand-macro
+                                                           expand-call
+                                                           expand-expr
+                                                           expand
+                                                           syntax-type
+                                                           parse-when-list
+                                                           
expand-install-global
+                                                           expand-top-sequence
+                                                           expand-sequence
+                                                           source-wrap
+                                                           wrap
+                                                           bound-id-member?
+                                                           distinct-bound-ids?
+                                                           valid-bound-ids?
+                                                           bound-id=?
+                                                           free-id=?
+                                                           
with-transformer-environment
+                                                           
transformer-environment
+                                                           resolve-identifier
+                                                           
locally-bound-identifiers
+                                                           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
+                                                           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
+                                                           session-id
+                                                           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)
+                                                          (top)
+                                                          (top)
+                                                          (top))
+                                                         ("l-*-478"
+                                                          "l-*-476"
+                                                          "l-*-474"
+                                                          "l-*-472"
+                                                          "l-*-470"
+                                                          "l-*-468"
+                                                          "l-*-466"
+                                                          "l-*-464"
+                                                          "l-*-462"
+                                                          "l-*-460"
+                                                          "l-*-458"
+                                                          "l-*-456"
+                                                          "l-*-454"
+                                                          "l-*-452"
+                                                          "l-*-450"
+                                                          "l-*-448"
+                                                          "l-*-446"
+                                                          "l-*-444"
+                                                          "l-*-442"
+                                                          "l-*-440"
+                                                          "l-*-438"
+                                                          "l-*-436"
+                                                          "l-*-434"
+                                                          "l-*-432"
+                                                          "l-*-430"
+                                                          "l-*-428"
+                                                          "l-*-426"
+                                                          "l-*-424"
+                                                          "l-*-422"
+                                                          "l-*-420"
+                                                          "l-*-418"
+                                                          "l-*-416"
+                                                          "l-*-414"
+                                                          "l-*-412"
+                                                          "l-*-410"
+                                                          "l-*-408"
+                                                          "l-*-406"
+                                                          "l-*-404"
+                                                          "l-*-402"
+                                                          "l-*-401"
+                                                          "l-*-399"
+                                                          "l-*-396"
+                                                          "l-*-395"
+                                                          "l-*-394"
+                                                          "l-*-392"
+                                                          "l-*-391"
+                                                          "l-*-389"
+                                                          "l-*-387"
+                                                          "l-*-385"
+                                                          "l-*-383"
+                                                          "l-*-381"
+                                                          "l-*-379"
+                                                          "l-*-377"
+                                                          "l-*-375"
+                                                          "l-*-372"
+                                                          "l-*-370"
+                                                          "l-*-369"
+                                                          "l-*-367"
+                                                          "l-*-365"
+                                                          "l-*-363"
+                                                          "l-*-361"
+                                                          "l-*-360"
+                                                          "l-*-359"
+                                                          "l-*-358"
+                                                          "l-*-356"
+                                                          "l-*-355"
+                                                          "l-*-352"
+                                                          "l-*-350"
+                                                          "l-*-348"
+                                                          "l-*-346"
+                                                          "l-*-344"
+                                                          "l-*-342"
+                                                          "l-*-341"
+                                                          "l-*-340"
+                                                          "l-*-338"
+                                                          "l-*-336"
+                                                          "l-*-335"
+                                                          "l-*-332"
+                                                          "l-*-331"
+                                                          "l-*-329"
+                                                          "l-*-327"
+                                                          "l-*-325"
+                                                          "l-*-323"
+                                                          "l-*-321"
+                                                          "l-*-319"
+                                                          "l-*-317"
+                                                          "l-*-315"
+                                                          "l-*-313"
+                                                          "l-*-310"
+                                                          "l-*-308"
+                                                          "l-*-306"
+                                                          "l-*-304"
+                                                          "l-*-302"
+                                                          "l-*-300"
+                                                          "l-*-298"
+                                                          "l-*-296"
+                                                          "l-*-294"
+                                                          "l-*-292"
+                                                          "l-*-290"
+                                                          "l-*-288"
+                                                          "l-*-286"
+                                                          "l-*-284"
+                                                          "l-*-282"
+                                                          "l-*-280"
+                                                          "l-*-278"
+                                                          "l-*-276"
+                                                          "l-*-274"
+                                                          "l-*-272"
+                                                          "l-*-270"
+                                                          "l-*-268"
+                                                          "l-*-266"
+                                                          "l-*-264"
+                                                          "l-*-262"
+                                                          "l-*-260"
+                                                          "l-*-258"
+                                                          "l-*-257"
+                                                          "l-*-256"
+                                                          "l-*-255"
+                                                          "l-*-254"
+                                                          "l-*-252"
+                                                          "l-*-250"
+                                                          "l-*-248"
+                                                          "l-*-245"
+                                                          "l-*-243"
+                                                          "l-*-241"
+                                                          "l-*-239"
+                                                          "l-*-237"
+                                                          "l-*-235"
+                                                          "l-*-233"
+                                                          "l-*-231"
+                                                          "l-*-229"
+                                                          "l-*-227"
+                                                          "l-*-225"
+                                                          "l-*-223"
+                                                          "l-*-221"
+                                                          "l-*-219"
+                                                          "l-*-217"
+                                                          "l-*-215"
+                                                          "l-*-213"
+                                                          "l-*-211"
+                                                          "l-*-209"))
+                                                       #(ribcage
+                                                         (define-structure
+                                                           
define-expansion-accessors
+                                                           
define-expansion-constructors)
+                                                         ((top) (top) (top))
+                                                         ("l-*-47"
+                                                          "l-*-46"
+                                                          "l-*-45"))
+                                                       #(ribcage () () ()))
+                                                      (hygiene guile)))))
+                                      rkey-33849))))
+                          tmp-33973)
+                        (let ((tmp-34010
+                                ($sc-dispatch args-33846 '((any any) . any))))
+                          (if (if tmp-34010
+                                (@apply
+                                  (lambda (a-34014 init-34015 b-34016)
+                                    (if (symbol? a-34014)
+                                      #t
+                                      (if (if (vector? a-34014)
+                                            (if (= (vector-length a-34014) 4)
+                                              (eq? (vector-ref a-34014 0)
+                                                   'syntax-object)
+                                              #f)
+                                            #f)
+                                        (symbol? (vector-ref a-34014 1))
+                                        #f)))
+                                  tmp-34010)
+                                #f)
+                            (@apply
+                              (lambda (a-34043 init-34044 b-34045)
+                                (let ((tmp-34046
+                                        (symbol->keyword
+                                          (syntax->datum a-34043))))
+                                  (key-33338
+                                    b-34045
+                                    req-33847
+                                    opt-33848
+                                    (cons (list tmp-34046 a-34043 init-34044)
+                                          rkey-33849))))
+                              tmp-34010)
+                            (let ((tmp-34049
+                                    ($sc-dispatch
+                                      args-33846
+                                      '((any any any) . any))))
+                              (if (if tmp-34049
+                                    (@apply
+                                      (lambda (a-34053
+                                               init-34054
+                                               k-34055
+                                               b-34056)
+                                        (if (if (symbol? a-34053)
+                                              #t
+                                              (if (if (vector? a-34053)
+                                                    (if (= (vector-length
+                                                             a-34053)
+                                                           4)
+                                                      (eq? (vector-ref
+                                                             a-34053
+                                                             0)
+                                                           'syntax-object)
+                                                      #f)
+                                                    #f)
+                                                (symbol?
+                                                  (vector-ref a-34053 1))
+                                                #f))
+                                          (keyword? (syntax->datum k-34055))
+                                          #f))
+                                      tmp-34049)
+                                    #f)
+                                (@apply
+                                  (lambda (a-34083 init-34084 k-34085 b-34086)
+                                    (key-33338
+                                      b-34086
+                                      req-33847
+                                      opt-33848
+                                      (cons (list k-34085 a-34083 init-34084)
+                                            rkey-33849)))
+                                  tmp-34049)
+                                (let ((tmp-34087
+                                        ($sc-dispatch args-33846 '(any))))
+                                  (if (if tmp-34087
+                                        (@apply
+                                          (lambda (aok-34091)
+                                            (eq? (syntax->datum aok-34091)
+                                                 #:allow-other-keys))
+                                          tmp-34087)
+                                        #f)
+                                    (@apply
+                                      (lambda (aok-34092)
+                                        (check-33340
+                                          req-33847
+                                          opt-33848
+                                          #f
+                                          (cons #t (reverse rkey-33849))))
+                                      tmp-34087)
+                                    (let ((tmp-34211
+                                            ($sc-dispatch
+                                              args-33846
+                                              '(any any any))))
+                                      (if (if tmp-34211
+                                            (@apply
+                                              (lambda (aok-34215
+                                                       a-34216
+                                                       b-34217)
+                                                (if (eq? (syntax->datum
+                                                           aok-34215)
+                                                         #:allow-other-keys)
+                                                  (eq? (syntax->datum a-34216)
+                                                       #:rest)
+                                                  #f))
+                                              tmp-34211)
+                                            #f)
+                                        (@apply
+                                          (lambda (aok-34218 a-34219 b-34220)
+                                            (rest-33339
+                                              b-34220
+                                              req-33847
+                                              opt-33848
+                                              (cons #t (reverse rkey-33849))))
+                                          tmp-34211)
+                                        (let ((tmp-34223
+                                                ($sc-dispatch
+                                                  args-33846
+                                                  '(any . any))))
+                                          (if (if tmp-34223
+                                                (@apply
+                                                  (lambda (aok-34227 r-34228)
+                                                    (if (eq? (syntax->datum
+                                                               aok-34227)
+                                                             
#:allow-other-keys)
+                                                      (if (symbol? r-34228)
+                                                        #t
+                                                        (if (if (vector?
+                                                                  r-34228)
+                                                              (if (= 
(vector-length
+                                                                       r-34228)
+                                                                     4)
+                                                                (eq? 
(vector-ref
+                                                                       r-34228
+                                                                       0)
+                                                                     
'syntax-object)
+                                                                #f)
+                                                              #f)
+                                                          (symbol?
+                                                            (vector-ref
+                                                              r-34228
+                                                              1))
+                                                          #f))
+                                                      #f))
+                                                  tmp-34223)
+                                                #f)
+                                            (@apply
+                                              (lambda (aok-34255 r-34256)
+                                                (rest-33339
+                                                  r-34256
+                                                  req-33847
+                                                  opt-33848
+                                                  (cons #t
+                                                        (reverse rkey-33849))))
+                                              tmp-34223)
+                                            (let ((tmp-34259
+                                                    ($sc-dispatch
+                                                      args-33846
+                                                      '(any any))))
+                                              (if (if tmp-34259
+                                                    (@apply
+                                                      (lambda (a-34263 b-34264)
+                                                        (eq? (syntax->datum
+                                                               a-34263)
+                                                             #:rest))
+                                                      tmp-34259)
+                                                    #f)
+                                                (@apply
+                                                  (lambda (a-34265 b-34266)
+                                                    (rest-33339
+                                                      b-34266
+                                                      req-33847
+                                                      opt-33848
+                                                      (cons #f
+                                                            (reverse
+                                                              rkey-33849))))
+                                                  tmp-34259)
+                                                (let ((tmp-34269
+                                                        (list args-33846)))
+                                                  (if (@apply
+                                                        (lambda (r-34271)
+                                                          (if (symbol? r-34271)
+                                                            #t
+                                                            (if (if (vector?
+                                                                      r-34271)
+                                                                  (if (= 
(vector-length
+                                                                           
r-34271)
+                                                                         4)
+                                                                    (eq? 
(vector-ref
+                                                                           
r-34271
+                                                                           0)
+                                                                         
'syntax-object)
+                                                                    #f)
+                                                                  #f)
+                                                              (symbol?
+                                                                (vector-ref
+                                                                  r-34271
+                                                                  1))
+                                                              #f)))
+                                                        tmp-34269)
+                                                    (@apply
+                                                      (lambda (r-34301)
+                                                        (rest-33339
+                                                          r-34301
+                                                          req-33847
+                                                          opt-33848
+                                                          (cons #f
+                                                                (reverse
+                                                                  
rkey-33849))))
+                                                      tmp-34269)
+                                                    (syntax-violation
+                                                      'lambda*
+                                                      "invalid keyword 
argument list"
+                                                      orig-args-33335
+                                                      
args-33846)))))))))))))))))))))
+            (rest-33339
+              (lambda (args-34329 req-34330 opt-34331 kw-34332)
+                (let ((tmp-34334 (list args-34329)))
+                  (if (@apply
+                        (lambda (r-34336)
+                          (if (symbol? r-34336)
+                            #t
+                            (if (if (vector? r-34336)
+                                  (if (= (vector-length r-34336) 4)
+                                    (eq? (vector-ref r-34336 0) 'syntax-object)
+                                    #f)
+                                  #f)
+                              (symbol? (vector-ref r-34336 1))
+                              #f)))
+                        tmp-34334)
+                    (@apply
+                      (lambda (r-34366)
+                        (check-33340
+                          req-34330
+                          opt-34331
+                          r-34366
+                          kw-34332))
+                      tmp-34334)
+                    (syntax-violation
+                      'lambda*
+                      "invalid rest argument"
+                      orig-args-33335
+                      args-34329)))))
+            (check-33340
+              (lambda (req-34494 opt-34495 rest-34496 kw-34497)
+                (if (distinct-bound-ids?-4577
+                      (append
+                        req-34494
+                        (map car opt-34495)
+                        (if rest-34496 (list rest-34496) '())
+                        (if (pair? kw-34497)
+                          (map cadr (cdr kw-34497))
+                          '())))
+                  (values req-34494 opt-34495 rest-34496 kw-34497)
+                  (syntax-violation
+                    'lambda*
+                    "duplicate identifier in argument list"
+                    orig-args-33335)))))
+           (req-33336 orig-args-33335 '()))))
+     (expand-lambda-case-4598
+       (lambda (e-34606
+                r-34607
+                w-34608
+                s-34609
+                mod-34610
+                get-formals-34611
+                clauses-34612)
+         (letrec*
+           ((parse-req-34613
+              (lambda (req-34746
+                       opt-34747
+                       rest-34748
+                       kw-34749
+                       body-34750)
+                (let ((vars-34751 (map gen-var-4600 req-34746))
+                      (labels-34752 (gen-labels-4553 req-34746)))
+                  (let ((r*-34753
+                          (extend-var-env-4546
+                            labels-34752
+                            vars-34751
+                            r-34607))
+                        (w*-34754
+                          (make-binding-wrap-4564
+                            req-34746
+                            labels-34752
+                            w-34608)))
+                    (parse-opt-34614
+                      (map syntax->datum req-34746)
+                      opt-34747
+                      rest-34748
+                      kw-34749
+                      body-34750
+                      (reverse vars-34751)
+                      r*-34753
+                      w*-34754
+                      '()
+                      '())))))
+            (parse-opt-34614
+              (lambda (req-34951
+                       opt-34952
+                       rest-34953
+                       kw-34954
+                       body-34955
+                       vars-34956
+                       r*-34957
+                       w*-34958
+                       out-34959
+                       inits-34960)
+                (if (pair? opt-34952)
+                  (let ((tmp-34961 (car opt-34952)))
+                    (let ((tmp-34962 ($sc-dispatch tmp-34961 '(any any))))
+                      (if tmp-34962
+                        (@apply
+                          (lambda (id-34964 i-34965)
+                            (let ((v-34966
+                                    (let ((id-34974
+                                            (if (if (vector? id-34964)
+                                                  (if (= (vector-length
+                                                           id-34964)
+                                                         4)
+                                                    (eq? (vector-ref
+                                                           id-34964
+                                                           0)
+                                                         'syntax-object)
+                                                    #f)
+                                                  #f)
+                                              (vector-ref id-34964 1)
+                                              id-34964)))
+                                      (gensym
+                                        (string-append
+                                          (symbol->string id-34974)
+                                          "-")))))
+                              (let ((l-34967 (gen-labels-4553 (list v-34966))))
+                                (let ((r**-34968
+                                        (extend-var-env-4546
+                                          l-34967
+                                          (list v-34966)
+                                          r*-34957)))
+                                  (let ((w**-34969
+                                          (make-binding-wrap-4564
+                                            (list id-34964)
+                                            l-34967
+                                            w*-34958)))
+                                    (parse-opt-34614
+                                      req-34951
+                                      (cdr opt-34952)
+                                      rest-34953
+                                      kw-34954
+                                      body-34955
+                                      (cons v-34966 vars-34956)
+                                      r**-34968
+                                      w**-34969
+                                      (cons (syntax->datum id-34964) out-34959)
+                                      (cons (expand-4586
+                                              i-34965
+                                              r*-34957
+                                              w*-34958
+                                              mod-34610)
+                                            inits-34960)))))))
+                          tmp-34962)
+                        (syntax-violation
+                          #f
+                          "source expression failed to match any pattern"
+                          tmp-34961))))
+                  (if rest-34953
+                    (let ((v-35232
+                            (let ((id-35242
+                                    (if (if (vector? rest-34953)
+                                          (if (= (vector-length rest-34953) 4)
+                                            (eq? (vector-ref rest-34953 0)
+                                                 'syntax-object)
+                                            #f)
+                                          #f)
+                                      (vector-ref rest-34953 1)
+                                      rest-34953)))
+                              (gensym
+                                (string-append
+                                  (symbol->string id-35242)
+                                  "-")))))
+                      (let ((l-35233 (gen-labels-4553 (list v-35232))))
+                        (let ((r*-35234
+                                (extend-var-env-4546
+                                  l-35233
+                                  (list v-35232)
+                                  r*-34957)))
+                          (let ((w*-35235
+                                  (make-binding-wrap-4564
+                                    (list rest-34953)
+                                    l-35233
+                                    w*-34958)))
+                            (parse-kw-34615
+                              req-34951
+                              (if (pair? out-34959) (reverse out-34959) #f)
+                              (syntax->datum rest-34953)
+                              (if (pair? kw-34954) (cdr kw-34954) kw-34954)
+                              body-34955
+                              (cons v-35232 vars-34956)
+                              r*-35234
+                              w*-35235
+                              (if (pair? kw-34954) (car kw-34954) #f)
+                              '()
+                              inits-34960)))))
+                    (parse-kw-34615
+                      req-34951
+                      (if (pair? out-34959) (reverse out-34959) #f)
+                      #f
+                      (if (pair? kw-34954) (cdr kw-34954) kw-34954)
+                      body-34955
+                      vars-34956
+                      r*-34957
+                      w*-34958
+                      (if (pair? kw-34954) (car kw-34954) #f)
+                      '()
+                      inits-34960)))))
+            (parse-kw-34615
+              (lambda (req-35425
+                       opt-35426
+                       rest-35427
+                       kw-35428
+                       body-35429
+                       vars-35430
+                       r*-35431
+                       w*-35432
+                       aok-35433
+                       out-35434
+                       inits-35435)
+                (if (pair? kw-35428)
+                  (let ((tmp-35436 (car kw-35428)))
+                    (let ((tmp-35437
+                            ($sc-dispatch tmp-35436 '(any any any))))
+                      (if tmp-35437
+                        (@apply
+                          (lambda (k-35439 id-35440 i-35441)
+                            (let ((v-35442
+                                    (let ((id-35450
+                                            (if (if (vector? id-35440)
+                                                  (if (= (vector-length
+                                                           id-35440)
+                                                         4)
+                                                    (eq? (vector-ref
+                                                           id-35440
+                                                           0)
+                                                         'syntax-object)
+                                                    #f)
+                                                  #f)
+                                              (vector-ref id-35440 1)
+                                              id-35440)))
+                                      (gensym
+                                        (string-append
+                                          (symbol->string id-35450)
+                                          "-")))))
+                              (let ((l-35443 (gen-labels-4553 (list v-35442))))
+                                (let ((r**-35444
+                                        (extend-var-env-4546
+                                          l-35443
+                                          (list v-35442)
+                                          r*-35431)))
+                                  (let ((w**-35445
+                                          (make-binding-wrap-4564
+                                            (list id-35440)
+                                            l-35443
+                                            w*-35432)))
+                                    (parse-kw-34615
+                                      req-35425
+                                      opt-35426
+                                      rest-35427
+                                      (cdr kw-35428)
+                                      body-35429
+                                      (cons v-35442 vars-35430)
+                                      r**-35444
+                                      w**-35445
+                                      aok-35433
+                                      (cons (list (syntax->datum k-35439)
+                                                  (syntax->datum id-35440)
+                                                  v-35442)
+                                            out-35434)
+                                      (cons (expand-4586
+                                              i-35441
+                                              r*-35431
+                                              w*-35432
+                                              mod-34610)
+                                            inits-35435)))))))
+                          tmp-35437)
+                        (syntax-violation
+                          #f
+                          "source expression failed to match any pattern"
+                          tmp-35436))))
+                  (parse-body-34616
+                    req-35425
+                    opt-35426
+                    rest-35427
+                    (if (if aok-35433 aok-35433 (pair? out-35434))
+                      (cons aok-35433 (reverse out-35434))
+                      #f)
+                    body-35429
+                    (reverse vars-35430)
+                    r*-35431
+                    w*-35432
+                    (reverse inits-35435)
+                    '()))))
+            (parse-body-34616
+              (lambda (req-35717
+                       opt-35718
+                       rest-35719
+                       kw-35720
+                       body-35721
+                       vars-35722
+                       r*-35723
+                       w*-35724
+                       inits-35725
+                       meta-35726)
+                (let ((tmp-35728
+                        ($sc-dispatch body-35721 '(any any . each-any))))
+                  (if (if tmp-35728
+                        (@apply
+                          (lambda (docstring-35732 e1-35733 e2-35734)
+                            (string? (syntax->datum docstring-35732)))
+                          tmp-35728)
+                        #f)
+                    (@apply
+                      (lambda (docstring-35735 e1-35736 e2-35737)
+                        (parse-body-34616
+                          req-35717
+                          opt-35718
+                          rest-35719
+                          kw-35720
+                          (cons e1-35736 e2-35737)
+                          vars-35722
+                          r*-35723
+                          w*-35724
+                          inits-35725
+                          (append
+                            meta-35726
+                            (list (cons 'documentation
+                                        (syntax->datum docstring-35735))))))
+                      tmp-35728)
+                    (let ((tmp-35738
+                            ($sc-dispatch
+                              body-35721
+                              '(#(vector #(each (any . any)))
+                                any
+                                .
+                                each-any))))
+                      (if tmp-35738
+                        (@apply
+                          (lambda (k-35742 v-35743 e1-35744 e2-35745)
+                            (parse-body-34616
+                              req-35717
+                              opt-35718
+                              rest-35719
+                              kw-35720
+                              (cons e1-35744 e2-35745)
+                              vars-35722
+                              r*-35723
+                              w*-35724
+                              inits-35725
+                              (append
+                                meta-35726
+                                (syntax->datum (map cons k-35742 v-35743)))))
+                          tmp-35738)
+                        (let ((tmp-35746
+                                ($sc-dispatch body-35721 '(any . each-any))))
+                          (if tmp-35746
+                            (@apply
+                              (lambda (e1-35750 e2-35751)
+                                (values
+                                  meta-35726
+                                  req-35717
+                                  opt-35718
+                                  rest-35719
+                                  kw-35720
+                                  inits-35725
+                                  vars-35722
+                                  (expand-body-4590
+                                    (cons e1-35750 e2-35751)
+                                    (let ((x-35763
+                                            (begin
+                                              (if (if (pair? e-34606)
+                                                    s-34609
+                                                    #f)
+                                                (set-source-properties!
+                                                  e-34606
+                                                  s-34609))
+                                              e-34606)))
+                                      (if (if (null? (car w-34608))
+                                            (null? (cdr w-34608))
+                                            #f)
+                                        x-35763
+                                        (if (if (vector? x-35763)
+                                              (if (= (vector-length x-35763) 4)
+                                                (eq? (vector-ref x-35763 0)
+                                                     'syntax-object)
+                                                #f)
+                                              #f)
+                                          (let ((expression-35795
+                                                  (vector-ref x-35763 1))
+                                                (wrap-35796
+                                                  (let ((w2-35804
+                                                          (vector-ref
+                                                            x-35763
+                                                            2)))
+                                                    (let ((m1-35805
+                                                            (car w-34608))
+                                                          (s1-35806
+                                                            (cdr w-34608)))
+                                                      (if (null? m1-35805)
+                                                        (if (null? s1-35806)
+                                                          w2-35804
+                                                          (cons (car w2-35804)
+                                                                (let ((m2-35821
+                                                                        (cdr 
w2-35804)))
+                                                                  (if (null? 
m2-35821)
+                                                                    s1-35806
+                                                                    (append
+                                                                      s1-35806
+                                                                      
m2-35821)))))
+                                                        (cons (let ((m2-35829
+                                                                      (car 
w2-35804)))
+                                                                (if (null? 
m2-35829)
+                                                                  m1-35805
+                                                                  (append
+                                                                    m1-35805
+                                                                    m2-35829)))
+                                                              (let ((m2-35837
+                                                                      (cdr 
w2-35804)))
+                                                                (if (null? 
m2-35837)
+                                                                  s1-35806
+                                                                  (append
+                                                                    s1-35806
+                                                                    
m2-35837))))))))
+                                                (module-35797
+                                                  (vector-ref x-35763 3)))
+                                            (vector
+                                              'syntax-object
+                                              expression-35795
+                                              wrap-35796
+                                              module-35797))
+                                          (if (null? x-35763)
+                                            x-35763
+                                            (vector
+                                              'syntax-object
+                                              x-35763
+                                              w-34608
+                                              mod-34610)))))
+                                    r*-35723
+                                    w*-35724
+                                    mod-34610)))
+                              tmp-35746)
+                            (syntax-violation
+                              #f
+                              "source expression failed to match any pattern"
+                              body-35721))))))))))
+           (let ((tmp-34618 ($sc-dispatch clauses-34612 '())))
+             (if tmp-34618
+               (@apply (lambda () (values '() #f)) tmp-34618)
+               (let ((tmp-34622
+                       ($sc-dispatch
+                         clauses-34612
+                         '((any any . each-any)
+                           .
+                           #(each (any any . each-any))))))
+                 (if tmp-34622
+                   (@apply
+                     (lambda (args-34626
+                              e1-34627
+                              e2-34628
+                              args*-34629
+                              e1*-34630
+                              e2*-34631)
+                       (call-with-values
+                         (lambda () (get-formals-34611 args-34626))
+                         (lambda (req-34632 opt-34633 rest-34634 kw-34635)
+                           (call-with-values
+                             (lambda ()
+                               (parse-req-34613
+                                 req-34632
+                                 opt-34633
+                                 rest-34634
+                                 kw-34635
+                                 (cons e1-34627 e2-34628)))
+                             (lambda (meta-34702
+                                      req-34703
+                                      opt-34704
+                                      rest-34705
+                                      kw-34706
+                                      inits-34707
+                                      vars-34708
+                                      body-34709)
+                               (call-with-values
+                                 (lambda ()
+                                   (expand-lambda-case-4598
+                                     e-34606
+                                     r-34607
+                                     w-34608
+                                     s-34609
+                                     mod-34610
+                                     get-formals-34611
+                                     (map (lambda (tmp-2961-34710
+                                                   tmp-2960-34711
+                                                   tmp-2959-34712)
+                                            (cons tmp-2959-34712
+                                                  (cons tmp-2960-34711
+                                                        tmp-2961-34710)))
+                                          e2*-34631
+                                          e1*-34630
+                                          args*-34629)))
+                                 (lambda (meta*-34713 else*-34714)
+                                   (values
+                                     (append meta-34702 meta*-34713)
+                                     (make-struct/no-tail
+                                       (vector-ref %expanded-vtables 15)
+                                       s-34609
+                                       req-34703
+                                       opt-34704
+                                       rest-34705
+                                       kw-34706
+                                       inits-34707
+                                       vars-34708
+                                       body-34709
+                                       else*-34714)))))))))
+                     tmp-34622)
+                   (syntax-violation
+                     #f
+                     "source expression failed to match any pattern"
+                     clauses-34612))))))))
+     (strip-4599
+       (lambda (x-35864 w-35865)
+         (if (memq 'top (car w-35865))
+           x-35864
+           (letrec*
+             ((f-35866
+                (lambda (x-35869)
+                  (if (if (vector? x-35869)
+                        (if (= (vector-length x-35869) 4)
+                          (eq? (vector-ref x-35869 0) 'syntax-object)
+                          #f)
+                        #f)
+                    (strip-4599
+                      (vector-ref x-35869 1)
+                      (vector-ref x-35869 2))
+                    (if (pair? x-35869)
+                      (let ((a-35888 (f-35866 (car x-35869)))
+                            (d-35889 (f-35866 (cdr x-35869))))
+                        (if (if (eq? a-35888 (car x-35869))
+                              (eq? d-35889 (cdr x-35869))
+                              #f)
+                          x-35869
+                          (cons a-35888 d-35889)))
+                      (if (vector? x-35869)
+                        (let ((old-35892 (vector->list x-35869)))
+                          (let ((new-35893 (map f-35866 old-35892)))
+                            (letrec*
+                              ((lp-35894
+                                 (lambda (l1-35991 l2-35992)
+                                   (if (null? l1-35991)
+                                     x-35869
+                                     (if (eq? (car l1-35991) (car l2-35992))
+                                       (lp-35894 (cdr l1-35991) (cdr l2-35992))
+                                       (list->vector new-35893))))))
+                              (lp-35894 old-35892 new-35893))))
+                        x-35869))))))
+             (f-35866 x-35864)))))
+     (gen-var-4600
+       (lambda (id-34758)
+         (let ((id-34759
+                 (if (if (vector? id-34758)
+                       (if (= (vector-length id-34758) 4)
+                         (eq? (vector-ref id-34758 0) 'syntax-object)
+                         #f)
+                       #f)
+                   (vector-ref id-34758 1)
+                   id-34758)))
+           (gensym
+             (string-append (symbol->string id-34759) "-")))))
+     (lambda-var-list-4601
+       (lambda (vars-35993)
+         (letrec*
+           ((lvl-35994
+              (lambda (vars-35997 ls-35998 w-35999)
+                (if (pair? vars-35997)
+                  (lvl-35994
+                    (cdr vars-35997)
+                    (cons (let ((x-36003 (car vars-35997)))
+                            (if (if (null? (car w-35999))
+                                  (null? (cdr w-35999))
+                                  #f)
+                              x-36003
+                              (if (if (vector? x-36003)
+                                    (if (= (vector-length x-36003) 4)
+                                      (eq? (vector-ref x-36003 0)
+                                           'syntax-object)
+                                      #f)
+                                    #f)
+                                (let ((expression-36021 (vector-ref x-36003 1))
+                                      (wrap-36022
+                                        (let ((w2-36030
+                                                (vector-ref x-36003 2)))
+                                          (let ((m1-36031 (car w-35999))
+                                                (s1-36032 (cdr w-35999)))
+                                            (if (null? m1-36031)
+                                              (if (null? s1-36032)
+                                                w2-36030
+                                                (cons (car w2-36030)
+                                                      (let ((m2-36047
+                                                              (cdr w2-36030)))
+                                                        (if (null? m2-36047)
+                                                          s1-36032
+                                                          (append
+                                                            s1-36032
+                                                            m2-36047)))))
+                                              (cons (let ((m2-36055
+                                                            (car w2-36030)))
+                                                      (if (null? m2-36055)
+                                                        m1-36031
+                                                        (append
+                                                          m1-36031
+                                                          m2-36055)))
+                                                    (let ((m2-36063
+                                                            (cdr w2-36030)))
+                                                      (if (null? m2-36063)
+                                                        s1-36032
+                                                        (append
+                                                          s1-36032
+                                                          m2-36063))))))))
+                                      (module-36023 (vector-ref x-36003 3)))
+                                  (vector
+                                    'syntax-object
+                                    expression-36021
+                                    wrap-36022
+                                    module-36023))
+                                (if (null? x-36003)
+                                  x-36003
+                                  (vector
+                                    'syntax-object
+                                    x-36003
+                                    w-35999
+                                    #f)))))
+                          ls-35998)
+                    w-35999)
+                  (if (if (symbol? vars-35997)
+                        #t
+                        (if (if (vector? vars-35997)
+                              (if (= (vector-length vars-35997) 4)
+                                (eq? (vector-ref vars-35997 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (symbol? (vector-ref vars-35997 1))
+                          #f))
+                    (cons (if (if (null? (car w-35999))
+                                (null? (cdr w-35999))
+                                #f)
+                            vars-35997
+                            (if (if (vector? vars-35997)
+                                  (if (= (vector-length vars-35997) 4)
+                                    (eq? (vector-ref vars-35997 0)
+                                         'syntax-object)
+                                    #f)
+                                  #f)
+                              (let ((expression-36133
+                                      (vector-ref vars-35997 1))
+                                    (wrap-36134
+                                      (let ((w2-36144
+                                              (vector-ref vars-35997 2)))
+                                        (let ((m1-36145 (car w-35999))
+                                              (s1-36146 (cdr w-35999)))
+                                          (if (null? m1-36145)
+                                            (if (null? s1-36146)
+                                              w2-36144
+                                              (cons (car w2-36144)
+                                                    (let ((m2-36163
+                                                            (cdr w2-36144)))
+                                                      (if (null? m2-36163)
+                                                        s1-36146
+                                                        (append
+                                                          s1-36146
+                                                          m2-36163)))))
+                                            (cons (let ((m2-36171
+                                                          (car w2-36144)))
+                                                    (if (null? m2-36171)
+                                                      m1-36145
+                                                      (append
+                                                        m1-36145
+                                                        m2-36171)))
+                                                  (let ((m2-36179
+                                                          (cdr w2-36144)))
+                                                    (if (null? m2-36179)
+                                                      s1-36146
+                                                      (append
+                                                        s1-36146
+                                                        m2-36179))))))))
+                                    (module-36135 (vector-ref vars-35997 3)))
+                                (vector
+                                  'syntax-object
+                                  expression-36133
+                                  wrap-36134
+                                  module-36135))
+                              (if (null? vars-35997)
+                                vars-35997
+                                (vector
+                                  'syntax-object
+                                  vars-35997
+                                  w-35999
+                                  #f))))
+                          ls-35998)
+                    (if (null? vars-35997)
+                      ls-35998
+                      (if (if (vector? vars-35997)
+                            (if (= (vector-length vars-35997) 4)
+                              (eq? (vector-ref vars-35997 0) 'syntax-object)
+                              #f)
+                            #f)
+                        (lvl-35994
+                          (vector-ref vars-35997 1)
+                          ls-35998
+                          (let ((w2-36220 (vector-ref vars-35997 2)))
+                            (let ((m1-36221 (car w-35999))
+                                  (s1-36222 (cdr w-35999)))
+                              (if (null? m1-36221)
+                                (if (null? s1-36222)
+                                  w2-36220
+                                  (cons (car w2-36220)
+                                        (let ((m2-36233 (cdr w2-36220)))
+                                          (if (null? m2-36233)
+                                            s1-36222
+                                            (append s1-36222 m2-36233)))))
+                                (cons (let ((m2-36241 (car w2-36220)))
+                                        (if (null? m2-36241)
+                                          m1-36221
+                                          (append m1-36221 m2-36241)))
+                                      (let ((m2-36249 (cdr w2-36220)))
+                                        (if (null? m2-36249)
+                                          s1-36222
+                                          (append s1-36222 m2-36249))))))))
+                        (cons vars-35997 ls-35998))))))))
+           (lvl-35994 vars-35993 '() '(()))))))
+    (begin
+      (set! session-id-4511
+        (let ((v-18812
+                (module-variable
+                  (current-module)
+                  'syntax-session-id)))
+          (lambda () ((variable-ref v-18812)))))
+      (set! transformer-environment-4572
+        (make-fluid
+          (lambda (k-17456)
+            (error "called outside the dynamic extent of a syntax 
transformer"))))
+      (module-define!
+        (current-module)
+        'letrec-syntax
+        (make-syntax-transformer
+          'letrec-syntax
+          'local-syntax
+          #t))
+      (module-define!
+        (current-module)
+        'let-syntax
+        (make-syntax-transformer
+          'let-syntax
+          'local-syntax
+          #f))
+      (global-extend-4548
+        'core
+        'syntax-parameterize
+        (lambda (e-4728 r-4729 w-4730 s-4731 mod-4732)
+          (let ((tmp-4734
+                  ($sc-dispatch
+                    e-4728
+                    '(_ #(each (any any)) any . each-any))))
+            (if (if tmp-4734
+                  (@apply
+                    (lambda (var-4738 val-4739 e1-4740 e2-4741)
+                      (valid-bound-ids?-4576 var-4738))
+                    tmp-4734)
+                  #f)
+              (@apply
+                (lambda (var-4826 val-4827 e1-4828 e2-4829)
+                  (let ((names-4830
+                          (map (lambda (x-5170)
+                                 (call-with-values
+                                   (lambda ()
+                                     (resolve-identifier-4571
+                                       x-5170
+                                       w-4730
+                                       r-4729
+                                       mod-4732
+                                       #f))
+                                   (lambda (type-5173 value-5174 mod-5175)
+                                     (if (eqv? type-5173 'displaced-lexical)
+                                       (syntax-violation
+                                         'syntax-parameterize
+                                         "identifier out of context"
+                                         e-4728
+                                         (let ((x-5188
+                                                 (begin
+                                                   (if (if (pair? x-5170)
+                                                         s-4731
+                                                         #f)
+                                                     (set-source-properties!
+                                                       x-5170
+                                                       s-4731))
+                                                   x-5170)))
+                                           (if (if (null? (car w-4730))
+                                                 (null? (cdr w-4730))
+                                                 #f)
+                                             x-5188
+                                             (if (if (vector? x-5188)
+                                                   (if (= (vector-length
+                                                            x-5188)
+                                                          4)
+                                                     (eq? (vector-ref x-5188 0)
+                                                          'syntax-object)
+                                                     #f)
+                                                   #f)
+                                               (let ((expression-5220
+                                                       (vector-ref x-5188 1))
+                                                     (wrap-5221
+                                                       (let ((w2-5229
+                                                               (vector-ref
+                                                                 x-5188
+                                                                 2)))
+                                                         (let ((m1-5230
+                                                                 (car w-4730))
+                                                               (s1-5231
+                                                                 (cdr w-4730)))
+                                                           (if (null? m1-5230)
+                                                             (if (null? 
s1-5231)
+                                                               w2-5229
+                                                               (cons (car 
w2-5229)
+                                                                     (let 
((m2-5246
+                                                                             
(cdr w2-5229)))
+                                                                       (if 
(null? m2-5246)
+                                                                         
s1-5231
+                                                                         
(append
+                                                                           
s1-5231
+                                                                           
m2-5246)))))
+                                                             (cons (let 
((m2-5254
+                                                                           
(car w2-5229)))
+                                                                     (if 
(null? m2-5254)
+                                                                       m1-5230
+                                                                       (append
+                                                                         
m1-5230
+                                                                         
m2-5254)))
+                                                                   (let 
((m2-5262
+                                                                           
(cdr w2-5229)))
+                                                                     (if 
(null? m2-5262)
+                                                                       s1-5231
+                                                                       (append
+                                                                         
s1-5231
+                                                                         
m2-5262))))))))
+                                                     (module-5222
+                                                       (vector-ref x-5188 3)))
+                                                 (vector
+                                                   'syntax-object
+                                                   expression-5220
+                                                   wrap-5221
+                                                   module-5222))
+                                               (if (null? x-5188)
+                                                 x-5188
+                                                 (vector
+                                                   'syntax-object
+                                                   x-5188
+                                                   w-4730
+                                                   mod-5175))))))
+                                       (if (eqv? type-5173 'syntax-parameter)
+                                         value-5174
+                                         (syntax-violation
+                                           'syntax-parameterize
+                                           "invalid syntax parameter"
+                                           e-4728
+                                           (let ((x-5289
+                                                   (begin
+                                                     (if (if (pair? x-5170)
+                                                           s-4731
+                                                           #f)
+                                                       (set-source-properties!
+                                                         x-5170
+                                                         s-4731))
+                                                     x-5170)))
+                                             (if (if (null? (car w-4730))
+                                                   (null? (cdr w-4730))
+                                                   #f)
+                                               x-5289
+                                               (if (if (vector? x-5289)
+                                                     (if (= (vector-length
+                                                              x-5289)
+                                                            4)
+                                                       (eq? (vector-ref
+                                                              x-5289
+                                                              0)
+                                                            'syntax-object)
+                                                       #f)
+                                                     #f)
+                                                 (let ((expression-5321
+                                                         (vector-ref x-5289 1))
+                                                       (wrap-5322
+                                                         (let ((w2-5330
+                                                                 (vector-ref
+                                                                   x-5289
+                                                                   2)))
+                                                           (let ((m1-5331
+                                                                   (car 
w-4730))
+                                                                 (s1-5332
+                                                                   (cdr 
w-4730)))
+                                                             (if (null? 
m1-5331)
+                                                               (if (null? 
s1-5332)
+                                                                 w2-5330
+                                                                 (cons (car 
w2-5330)
+                                                                       (let 
((m2-5347
+                                                                               
(cdr w2-5330)))
+                                                                         (if 
(null? m2-5347)
+                                                                           
s1-5332
+                                                                           
(append
+                                                                             
s1-5332
+                                                                             
m2-5347)))))
+                                                               (cons (let 
((m2-5355
+                                                                             
(car w2-5330)))
+                                                                       (if 
(null? m2-5355)
+                                                                         
m1-5331
+                                                                         
(append
+                                                                           
m1-5331
+                                                                           
m2-5355)))
+                                                                     (let 
((m2-5363
+                                                                             
(cdr w2-5330)))
+                                                                       (if 
(null? m2-5363)
+                                                                         
s1-5332
+                                                                         
(append
+                                                                           
s1-5332
+                                                                           
m2-5363))))))))
+                                                       (module-5323
+                                                         (vector-ref
+                                                           x-5289
+                                                           3)))
+                                                   (vector
+                                                     'syntax-object
+                                                     expression-5321
+                                                     wrap-5322
+                                                     module-5323))
+                                                 (if (null? x-5289)
+                                                   x-5289
+                                                   (vector
+                                                     'syntax-object
+                                                     x-5289
+                                                     w-4730
+                                                     mod-5175)))))))))))
+                               var-4826))
+                        (bindings-4831
+                          (let ((trans-r-5378 (macros-only-env-4547 r-4729)))
+                            (map (lambda (x-5379)
+                                   (cons 'macro
+                                         (eval-local-transformer-4592
+                                           (expand-4586
+                                             x-5379
+                                             trans-r-5378
+                                             w-4730
+                                             mod-4732)
+                                           mod-4732)))
+                                 val-4827))))
+                    (expand-body-4590
+                      (cons e1-4828 e2-4829)
+                      (let ((x-4843
+                              (begin
+                                (if (if (pair? e-4728) s-4731 #f)
+                                  (set-source-properties! e-4728 s-4731))
+                                e-4728)))
+                        (if (if (null? (car w-4730)) (null? (cdr w-4730)) #f)
+                          x-4843
+                          (if (if (vector? x-4843)
+                                (if (= (vector-length x-4843) 4)
+                                  (eq? (vector-ref x-4843 0) 'syntax-object)
+                                  #f)
+                                #f)
+                            (let ((expression-4875 (vector-ref x-4843 1))
+                                  (wrap-4876
+                                    (let ((w2-4884 (vector-ref x-4843 2)))
+                                      (let ((m1-4885 (car w-4730))
+                                            (s1-4886 (cdr w-4730)))
+                                        (if (null? m1-4885)
+                                          (if (null? s1-4886)
+                                            w2-4884
+                                            (cons (car w2-4884)
+                                                  (let ((m2-4901
+                                                          (cdr w2-4884)))
+                                                    (if (null? m2-4901)
+                                                      s1-4886
+                                                      (append
+                                                        s1-4886
+                                                        m2-4901)))))
+                                          (cons (let ((m2-4909 (car w2-4884)))
+                                                  (if (null? m2-4909)
+                                                    m1-4885
+                                                    (append m1-4885 m2-4909)))
+                                                (let ((m2-4917 (cdr w2-4884)))
+                                                  (if (null? m2-4917)
+                                                    s1-4886
+                                                    (append
+                                                      s1-4886
+                                                      m2-4917))))))))
+                                  (module-4877 (vector-ref x-4843 3)))
+                              (vector
+                                'syntax-object
+                                expression-4875
+                                wrap-4876
+                                module-4877))
+                            (if (null? x-4843)
+                              x-4843
+                              (vector
+                                'syntax-object
+                                x-4843
+                                w-4730
+                                mod-4732)))))
+                      (extend-env-4545 names-4830 bindings-4831 r-4729)
+                      w-4730
+                      mod-4732)))
+                tmp-4734)
+              (syntax-violation
+                'syntax-parameterize
+                "bad syntax"
+                (let ((x-5599
+                        (begin
+                          (if (if (pair? e-4728) s-4731 #f)
+                            (set-source-properties! e-4728 s-4731))
+                          e-4728)))
+                  (if (if (null? (car w-4730)) (null? (cdr w-4730)) #f)
+                    x-5599
+                    (if (if (vector? x-5599)
+                          (if (= (vector-length x-5599) 4)
+                            (eq? (vector-ref x-5599 0) 'syntax-object)
+                            #f)
+                          #f)
+                      (let ((expression-5631 (vector-ref x-5599 1))
+                            (wrap-5632
+                              (let ((w2-5640 (vector-ref x-5599 2)))
+                                (let ((m1-5641 (car w-4730))
+                                      (s1-5642 (cdr w-4730)))
+                                  (if (null? m1-5641)
+                                    (if (null? s1-5642)
+                                      w2-5640
+                                      (cons (car w2-5640)
+                                            (let ((m2-5657 (cdr w2-5640)))
+                                              (if (null? m2-5657)
+                                                s1-5642
+                                                (append s1-5642 m2-5657)))))
+                                    (cons (let ((m2-5665 (car w2-5640)))
+                                            (if (null? m2-5665)
+                                              m1-5641
+                                              (append m1-5641 m2-5665)))
+                                          (let ((m2-5673 (cdr w2-5640)))
+                                            (if (null? m2-5673)
+                                              s1-5642
+                                              (append s1-5642 m2-5673))))))))
+                            (module-5633 (vector-ref x-5599 3)))
+                        (vector
+                          'syntax-object
+                          expression-5631
+                          wrap-5632
+                          module-5633))
+                      (if (null? x-5599)
+                        x-5599
+                        (vector 'syntax-object x-5599 w-4730 mod-4732))))))))))
+      (module-define!
+        (current-module)
+        'quote
+        (make-syntax-transformer
+          'quote
+          'core
+          (lambda (e-5701 r-5702 w-5703 s-5704 mod-5705)
+            (let ((tmp-5707 ($sc-dispatch e-5701 '(_ any))))
+              (if tmp-5707
+                (@apply
+                  (lambda (e-5710)
+                    (let ((exp-5714 (strip-4599 e-5710 w-5703)))
+                      (make-struct/no-tail
+                        (vector-ref %expanded-vtables 1)
+                        s-5704
+                        exp-5714)))
+                  tmp-5707)
+                (syntax-violation
+                  'quote
+                  "bad syntax"
+                  (let ((x-5728
+                          (begin
+                            (if (if (pair? e-5701) s-5704 #f)
+                              (set-source-properties! e-5701 s-5704))
+                            e-5701)))
+                    (if (if (null? (car w-5703)) (null? (cdr w-5703)) #f)
+                      x-5728
+                      (if (if (vector? x-5728)
+                            (if (= (vector-length x-5728) 4)
+                              (eq? (vector-ref x-5728 0) 'syntax-object)
+                              #f)
+                            #f)
+                        (let ((expression-5760 (vector-ref x-5728 1))
+                              (wrap-5761
+                                (let ((w2-5769 (vector-ref x-5728 2)))
+                                  (let ((m1-5770 (car w-5703))
+                                        (s1-5771 (cdr w-5703)))
+                                    (if (null? m1-5770)
+                                      (if (null? s1-5771)
+                                        w2-5769
+                                        (cons (car w2-5769)
+                                              (let ((m2-5786 (cdr w2-5769)))
+                                                (if (null? m2-5786)
+                                                  s1-5771
+                                                  (append s1-5771 m2-5786)))))
+                                      (cons (let ((m2-5794 (car w2-5769)))
+                                              (if (null? m2-5794)
+                                                m1-5770
+                                                (append m1-5770 m2-5794)))
+                                            (let ((m2-5802 (cdr w2-5769)))
+                                              (if (null? m2-5802)
+                                                s1-5771
+                                                (append s1-5771 m2-5802))))))))
+                              (module-5762 (vector-ref x-5728 3)))
+                          (vector
+                            'syntax-object
+                            expression-5760
+                            wrap-5761
+                            module-5762))
+                        (if (null? x-5728)
+                          x-5728
+                          (vector
+                            'syntax-object
+                            x-5728
+                            w-5703
+                            mod-5705)))))))))))
+      (global-extend-4548
+        'core
+        'syntax
+        (letrec*
+          ((gen-syntax-6020
+             (lambda (src-6451
+                      e-6452
+                      r-6453
+                      maps-6454
+                      ellipsis?-6455
+                      mod-6456)
+               (if (if (symbol? e-6452)
+                     #t
+                     (if (if (vector? e-6452)
+                           (if (= (vector-length e-6452) 4)
+                             (eq? (vector-ref e-6452 0) 'syntax-object)
+                             #f)
+                           #f)
+                       (symbol? (vector-ref e-6452 1))
+                       #f))
+                 (call-with-values
+                   (lambda ()
+                     (resolve-identifier-4571
+                       e-6452
+                       '(())
+                       r-6453
+                       mod-6456
+                       #f))
+                   (lambda (type-6485 value-6486 mod-6487)
+                     (if (eqv? type-6485 'syntax)
+                       (call-with-values
+                         (lambda ()
+                           (gen-ref-6021
+                             src-6451
+                             (car value-6486)
+                             (cdr value-6486)
+                             maps-6454))
+                         (lambda (var-6493 maps-6494)
+                           (values (list 'ref var-6493) maps-6494)))
+                       (if (ellipsis?-6455 e-6452)
+                         (syntax-violation
+                           'syntax
+                           "misplaced ellipsis"
+                           src-6451)
+                         (values (list 'quote e-6452) maps-6454)))))
+                 (let ((tmp-6496 ($sc-dispatch e-6452 '(any any))))
+                   (if (if tmp-6496
+                         (@apply
+                           (lambda (dots-6500 e-6501)
+                             (ellipsis?-6455 dots-6500))
+                           tmp-6496)
+                         #f)
+                     (@apply
+                       (lambda (dots-6502 e-6503)
+                         (gen-syntax-6020
+                           src-6451
+                           e-6503
+                           r-6453
+                           maps-6454
+                           (lambda (x-6504) #f)
+                           mod-6456))
+                       tmp-6496)
+                     (let ((tmp-6505 ($sc-dispatch e-6452 '(any any . any))))
+                       (if (if tmp-6505
+                             (@apply
+                               (lambda (x-6509 dots-6510 y-6511)
+                                 (ellipsis?-6455 dots-6510))
+                               tmp-6505)
+                             #f)
+                         (@apply
+                           (lambda (x-6512 dots-6513 y-6514)
+                             (letrec*
+                               ((f-6515
+                                  (lambda (y-6523 k-6524)
+                                    (let ((tmp-6526
+                                            ($sc-dispatch
+                                              y-6523
+                                              '(any . any))))
+                                      (if (if tmp-6526
+                                            (@apply
+                                              (lambda (dots-6530 y-6531)
+                                                (ellipsis?-6455 dots-6530))
+                                              tmp-6526)
+                                            #f)
+                                        (@apply
+                                          (lambda (dots-6532 y-6533)
+                                            (f-6515
+                                              y-6533
+                                              (lambda (maps-6534)
+                                                (call-with-values
+                                                  (lambda ()
+                                                    (k-6524
+                                                      (cons '() maps-6534)))
+                                                  (lambda (x-6535 maps-6536)
+                                                    (if (null? (car maps-6536))
+                                                      (syntax-violation
+                                                        'syntax
+                                                        "extra ellipsis"
+                                                        src-6451)
+                                                      (values
+                                                        (let ((map-env-6540
+                                                                (car 
maps-6536)))
+                                                          (list 'apply
+                                                                '(primitive
+                                                                   append)
+                                                                (gen-map-6023
+                                                                  x-6535
+                                                                  
map-env-6540)))
+                                                        (cdr maps-6536))))))))
+                                          tmp-6526)
+                                        (call-with-values
+                                          (lambda ()
+                                            (gen-syntax-6020
+                                              src-6451
+                                              y-6523
+                                              r-6453
+                                              maps-6454
+                                              ellipsis?-6455
+                                              mod-6456))
+                                          (lambda (y-6543 maps-6544)
+                                            (call-with-values
+                                              (lambda () (k-6524 maps-6544))
+                                              (lambda (x-6545 maps-6546)
+                                                (values
+                                                  (if (equal? y-6543 ''())
+                                                    x-6545
+                                                    (list 'append
+                                                          x-6545
+                                                          y-6543))
+                                                  maps-6546))))))))))
+                               (f-6515
+                                 y-6514
+                                 (lambda (maps-6518)
+                                   (call-with-values
+                                     (lambda ()
+                                       (gen-syntax-6020
+                                         src-6451
+                                         x-6512
+                                         r-6453
+                                         (cons '() maps-6518)
+                                         ellipsis?-6455
+                                         mod-6456))
+                                     (lambda (x-6519 maps-6520)
+                                       (if (null? (car maps-6520))
+                                         (syntax-violation
+                                           'syntax
+                                           "extra ellipsis"
+                                           src-6451)
+                                         (values
+                                           (gen-map-6023
+                                             x-6519
+                                             (car maps-6520))
+                                           (cdr maps-6520)))))))))
+                           tmp-6505)
+                         (let ((tmp-6562 ($sc-dispatch e-6452 '(any . any))))
+                           (if tmp-6562
+                             (@apply
+                               (lambda (x-6566 y-6567)
+                                 (call-with-values
+                                   (lambda ()
+                                     (gen-syntax-6020
+                                       src-6451
+                                       x-6566
+                                       r-6453
+                                       maps-6454
+                                       ellipsis?-6455
+                                       mod-6456))
+                                   (lambda (x-6568 maps-6569)
+                                     (call-with-values
+                                       (lambda ()
+                                         (gen-syntax-6020
+                                           src-6451
+                                           y-6567
+                                           r-6453
+                                           maps-6569
+                                           ellipsis?-6455
+                                           mod-6456))
+                                       (lambda (y-6570 maps-6571)
+                                         (values
+                                           (let ((atom-key-6576 (car y-6570)))
+                                             (if (eqv? atom-key-6576 'quote)
+                                               (if (eq? (car x-6568) 'quote)
+                                                 (list 'quote
+                                                       (cons (car (cdr x-6568))
+                                                             (car (cdr 
y-6570))))
+                                                 (if (eq? (car (cdr y-6570))
+                                                          '())
+                                                   (list 'list x-6568)
+                                                   (list 'cons x-6568 y-6570)))
+                                               (if (eqv? atom-key-6576 'list)
+                                                 (cons 'list
+                                                       (cons x-6568
+                                                             (cdr y-6570)))
+                                                 (list 'cons x-6568 y-6570))))
+                                           maps-6571))))))
+                               tmp-6562)
+                             (let ((tmp-6605
+                                     ($sc-dispatch
+                                       e-6452
+                                       '#(vector (any . each-any)))))
+                               (if tmp-6605
+                                 (@apply
+                                   (lambda (e1-6609 e2-6610)
+                                     (call-with-values
+                                       (lambda ()
+                                         (gen-syntax-6020
+                                           src-6451
+                                           (cons e1-6609 e2-6610)
+                                           r-6453
+                                           maps-6454
+                                           ellipsis?-6455
+                                           mod-6456))
+                                       (lambda (e-6611 maps-6612)
+                                         (values
+                                           (if (eq? (car e-6611) 'list)
+                                             (cons 'vector (cdr e-6611))
+                                             (if (eq? (car e-6611) 'quote)
+                                               (list 'quote
+                                                     (list->vector
+                                                       (car (cdr e-6611))))
+                                               (list 'list->vector e-6611)))
+                                           maps-6612))))
+                                   tmp-6605)
+                                 (values
+                                   (list 'quote e-6452)
+                                   maps-6454))))))))))))
+           (gen-ref-6021
+             (lambda (src-6639 var-6640 level-6641 maps-6642)
+               (if (= level-6641 0)
+                 (values var-6640 maps-6642)
+                 (if (null? maps-6642)
+                   (syntax-violation
+                     'syntax
+                     "missing ellipsis"
+                     src-6639)
+                   (call-with-values
+                     (lambda ()
+                       (gen-ref-6021
+                         src-6639
+                         var-6640
+                         (#{1-}# level-6641)
+                         (cdr maps-6642)))
+                     (lambda (outer-var-6643 outer-maps-6644)
+                       (let ((b-6645 (assq outer-var-6643 (car maps-6642))))
+                         (if b-6645
+                           (values (cdr b-6645) maps-6642)
+                           (let ((inner-var-6647
+                                   (gensym
+                                     (string-append
+                                       (symbol->string 'tmp)
+                                       "-"))))
+                             (values
+                               inner-var-6647
+                               (cons (cons (cons outer-var-6643 inner-var-6647)
+                                           (car maps-6642))
+                                     outer-maps-6644)))))))))))
+           (gen-map-6023
+             (lambda (e-6661 map-env-6662)
+               (let ((formals-6663 (map cdr map-env-6662))
+                     (actuals-6664
+                       (map (lambda (x-6666) (list 'ref (car x-6666)))
+                            map-env-6662)))
+                 (if (eq? (car e-6661) 'ref)
+                   (car actuals-6664)
+                   (if (and-map
+                         (lambda (x-6667)
+                           (if (eq? (car x-6667) 'ref)
+                             (memq (car (cdr x-6667)) formals-6663)
+                             #f))
+                         (cdr e-6661))
+                     (cons 'map
+                           (cons (list 'primitive (car e-6661))
+                                 (map (let ((r-6669
+                                              (map cons
+                                                   formals-6663
+                                                   actuals-6664)))
+                                        (lambda (x-6670)
+                                          (cdr (assq (car (cdr x-6670))
+                                                     r-6669))))
+                                      (cdr e-6661))))
+                     (cons 'map
+                           (cons (list 'lambda formals-6663 e-6661)
+                                 actuals-6664)))))))
+           (regen-6027
+             (lambda (x-6672)
+               (let ((atom-key-6673 (car x-6672)))
+                 (if (eqv? atom-key-6673 'ref)
+                   (let ((name-6683 (car (cdr x-6672)))
+                         (var-6684 (car (cdr x-6672))))
+                     (make-struct/no-tail
+                       (vector-ref %expanded-vtables 3)
+                       #f
+                       name-6683
+                       var-6684))
+                   (if (eqv? atom-key-6673 'primitive)
+                     (let ((name-6695 (car (cdr x-6672))))
+                       (make-struct/no-tail
+                         (vector-ref %expanded-vtables 2)
+                         #f
+                         name-6695))
+                     (if (eqv? atom-key-6673 'quote)
+                       (let ((exp-6706 (car (cdr x-6672))))
+                         (make-struct/no-tail
+                           (vector-ref %expanded-vtables 1)
+                           #f
+                           exp-6706))
+                       (if (eqv? atom-key-6673 'lambda)
+                         (if (list? (car (cdr x-6672)))
+                           (let ((req-6717 (car (cdr x-6672)))
+                                 (vars-6719 (car (cdr x-6672)))
+                                 (exp-6721
+                                   (regen-6027 (car (cdr (cdr x-6672))))))
+                             (let ((body-6726
+                                     (make-struct/no-tail
+                                       (vector-ref %expanded-vtables 15)
+                                       #f
+                                       req-6717
+                                       #f
+                                       #f
+                                       #f
+                                       '()
+                                       vars-6719
+                                       exp-6721
+                                       #f)))
+                               (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 14)
+                                 #f
+                                 '()
+                                 body-6726)))
+                           (error "how did we get here" x-6672))
+                         (let ((name-6742 (car x-6672))
+                               (args-6743 (map regen-6027 (cdr x-6672))))
+                           (make-struct/no-tail
+                             (vector-ref %expanded-vtables 12)
+                             #f
+                             name-6742
+                             args-6743))))))))))
+          (lambda (e-6028 r-6029 w-6030 s-6031 mod-6032)
+            (let ((e-6033
+                    (let ((x-6362
+                            (begin
+                              (if (if (pair? e-6028) s-6031 #f)
+                                (set-source-properties! e-6028 s-6031))
+                              e-6028)))
+                      (if (if (null? (car w-6030)) (null? (cdr w-6030)) #f)
+                        x-6362
+                        (if (if (vector? x-6362)
+                              (if (= (vector-length x-6362) 4)
+                                (eq? (vector-ref x-6362 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (let ((expression-6394 (vector-ref x-6362 1))
+                                (wrap-6395
+                                  (let ((w2-6403 (vector-ref x-6362 2)))
+                                    (let ((m1-6404 (car w-6030))
+                                          (s1-6405 (cdr w-6030)))
+                                      (if (null? m1-6404)
+                                        (if (null? s1-6405)
+                                          w2-6403
+                                          (cons (car w2-6403)
+                                                (let ((m2-6420 (cdr w2-6403)))
+                                                  (if (null? m2-6420)
+                                                    s1-6405
+                                                    (append
+                                                      s1-6405
+                                                      m2-6420)))))
+                                        (cons (let ((m2-6428 (car w2-6403)))
+                                                (if (null? m2-6428)
+                                                  m1-6404
+                                                  (append m1-6404 m2-6428)))
+                                              (let ((m2-6436 (cdr w2-6403)))
+                                                (if (null? m2-6436)
+                                                  s1-6405
+                                                  (append
+                                                    s1-6405
+                                                    m2-6436))))))))
+                                (module-6396 (vector-ref x-6362 3)))
+                            (vector
+                              'syntax-object
+                              expression-6394
+                              wrap-6395
+                              module-6396))
+                          (if (null? x-6362)
+                            x-6362
+                            (vector
+                              'syntax-object
+                              x-6362
+                              w-6030
+                              mod-6032)))))))
+              (let ((tmp-6034 e-6033))
+                (let ((tmp-6035 ($sc-dispatch tmp-6034 '(_ any))))
+                  (if tmp-6035
+                    (@apply
+                      (lambda (x-6083)
+                        (call-with-values
+                          (lambda ()
+                            (gen-syntax-6020
+                              e-6033
+                              x-6083
+                              r-6029
+                              '()
+                              ellipsis?-4594
+                              mod-6032))
+                          (lambda (e-6160 maps-6161) (regen-6027 e-6160))))
+                      tmp-6035)
+                    (syntax-violation
+                      'syntax
+                      "bad `syntax' form"
+                      e-6033))))))))
+      (global-extend-4548
+        'core
+        'lambda
+        (lambda (e-6974 r-6975 w-6976 s-6977 mod-6978)
+          (let ((tmp-6980
+                  ($sc-dispatch e-6974 '(_ any any . each-any))))
+            (if tmp-6980
+              (@apply
+                (lambda (args-6984 e1-6985 e2-6986)
+                  (call-with-values
+                    (lambda () (lambda-formals-4595 args-6984))
+                    (lambda (req-6989 opt-6990 rest-6991 kw-6992)
+                      (letrec*
+                        ((lp-6993
+                           (lambda (body-6996 meta-6997)
+                             (let ((tmp-6999
+                                     ($sc-dispatch
+                                       body-6996
+                                       '(any any . each-any))))
+                               (if (if tmp-6999
+                                     (@apply
+                                       (lambda (docstring-7003 e1-7004 e2-7005)
+                                         (string?
+                                           (syntax->datum docstring-7003)))
+                                       tmp-6999)
+                                     #f)
+                                 (@apply
+                                   (lambda (docstring-7006 e1-7007 e2-7008)
+                                     (lp-6993
+                                       (cons e1-7007 e2-7008)
+                                       (append
+                                         meta-6997
+                                         (list (cons 'documentation
+                                                     (syntax->datum
+                                                       docstring-7006))))))
+                                   tmp-6999)
+                                 (let ((tmp-7009
+                                         ($sc-dispatch
+                                           body-6996
+                                           '(#(vector #(each (any . any)))
+                                             any
+                                             .
+                                             each-any))))
+                                   (if tmp-7009
+                                     (@apply
+                                       (lambda (k-7013 v-7014 e1-7015 e2-7016)
+                                         (lp-6993
+                                           (cons e1-7015 e2-7016)
+                                           (append
+                                             meta-6997
+                                             (syntax->datum
+                                               (map cons k-7013 v-7014)))))
+                                       tmp-7009)
+                                     (expand-simple-lambda-4596
+                                       e-6974
+                                       r-6975
+                                       w-6976
+                                       s-6977
+                                       mod-6978
+                                       req-6989
+                                       rest-6991
+                                       meta-6997
+                                       body-6996))))))))
+                        (lp-6993 (cons e1-6985 e2-6986) '())))))
+                tmp-6980)
+              (syntax-violation 'lambda "bad lambda" e-6974)))))
+      (global-extend-4548
+        'core
+        'lambda*
+        (lambda (e-7391 r-7392 w-7393 s-7394 mod-7395)
+          (let ((tmp-7397
+                  ($sc-dispatch e-7391 '(_ any any . each-any))))
+            (if tmp-7397
+              (@apply
+                (lambda (args-7401 e1-7402 e2-7403)
+                  (call-with-values
+                    (lambda ()
+                      (expand-lambda-case-4598
+                        e-7391
+                        r-7392
+                        w-7393
+                        s-7394
+                        mod-7395
+                        lambda*-formals-4597
+                        (list (cons args-7401 (cons e1-7402 e2-7403)))))
+                    (lambda (meta-7406 lcase-7407)
+                      (make-struct/no-tail
+                        (vector-ref %expanded-vtables 14)
+                        s-7394
+                        meta-7406
+                        lcase-7407))))
+                tmp-7397)
+              (syntax-violation 'lambda "bad lambda*" e-7391)))))
+      (global-extend-4548
+        'core
+        'case-lambda
+        (lambda (e-7570 r-7571 w-7572 s-7573 mod-7574)
+          (let ((tmp-7576
+                  ($sc-dispatch
+                    e-7570
+                    '(_ (any any . each-any)
+                        .
+                        #(each (any any . each-any))))))
+            (if tmp-7576
+              (@apply
+                (lambda (args-7580
+                         e1-7581
+                         e2-7582
+                         args*-7583
+                         e1*-7584
+                         e2*-7585)
+                  (call-with-values
+                    (lambda ()
+                      (expand-lambda-case-4598
+                        e-7570
+                        r-7571
+                        w-7572
+                        s-7573
+                        mod-7574
+                        lambda-formals-4595
+                        (cons (cons args-7580 (cons e1-7581 e2-7582))
+                              (map (lambda (tmp-3460-7588
+                                            tmp-3459-7589
+                                            tmp-3458-7590)
+                                     (cons tmp-3458-7590
+                                           (cons tmp-3459-7589 tmp-3460-7588)))
+                                   e2*-7585
+                                   e1*-7584
+                                   args*-7583))))
+                    (lambda (meta-7591 lcase-7592)
+                      (make-struct/no-tail
+                        (vector-ref %expanded-vtables 14)
+                        s-7573
+                        meta-7591
+                        lcase-7592))))
+                tmp-7576)
+              (syntax-violation
+                'case-lambda
+                "bad case-lambda"
+                e-7570)))))
+      (global-extend-4548
+        'core
+        'case-lambda*
+        (lambda (e-7761 r-7762 w-7763 s-7764 mod-7765)
+          (let ((tmp-7767
+                  ($sc-dispatch
+                    e-7761
+                    '(_ (any any . each-any)
+                        .
+                        #(each (any any . each-any))))))
+            (if tmp-7767
+              (@apply
+                (lambda (args-7771
+                         e1-7772
+                         e2-7773
+                         args*-7774
+                         e1*-7775
+                         e2*-7776)
+                  (call-with-values
+                    (lambda ()
+                      (expand-lambda-case-4598
+                        e-7761
+                        r-7762
+                        w-7763
+                        s-7764
+                        mod-7765
+                        lambda*-formals-4597
+                        (cons (cons args-7771 (cons e1-7772 e2-7773))
+                              (map (lambda (tmp-3495-7779
+                                            tmp-3494-7780
+                                            tmp-3493-7781)
+                                     (cons tmp-3493-7781
+                                           (cons tmp-3494-7780 tmp-3495-7779)))
+                                   e2*-7776
+                                   e1*-7775
+                                   args*-7774))))
+                    (lambda (meta-7782 lcase-7783)
+                      (make-struct/no-tail
+                        (vector-ref %expanded-vtables 14)
+                        s-7764
+                        meta-7782
+                        lcase-7783))))
+                tmp-7767)
+              (syntax-violation
+                'case-lambda
+                "bad case-lambda*"
+                e-7761)))))
+      (global-extend-4548
+        'core
+        'let
+        (letrec*
+          ((expand-let-7991
+             (lambda (e-8201
+                      r-8202
+                      w-8203
+                      s-8204
+                      mod-8205
+                      constructor-8206
+                      ids-8207
+                      vals-8208
+                      exps-8209)
+               (if (not (valid-bound-ids?-4576 ids-8207))
+                 (syntax-violation
+                   'let
+                   "duplicate bound variable"
+                   e-8201)
+                 (let ((labels-8294 (gen-labels-4553 ids-8207))
+                       (new-vars-8295 (map gen-var-4600 ids-8207)))
+                   (let ((nw-8296
+                           (make-binding-wrap-4564
+                             ids-8207
+                             labels-8294
+                             w-8203))
+                         (nr-8297
+                           (extend-var-env-4546
+                             labels-8294
+                             new-vars-8295
+                             r-8202)))
+                     (constructor-8206
+                       s-8204
+                       (map syntax->datum ids-8207)
+                       new-vars-8295
+                       (map (lambda (x-8314)
+                              (expand-4586 x-8314 r-8202 w-8203 mod-8205))
+                            vals-8208)
+                       (expand-body-4590
+                         exps-8209
+                         (source-wrap-4580 e-8201 nw-8296 s-8204 mod-8205)
+                         nr-8297
+                         nw-8296
+                         mod-8205))))))))
+          (lambda (e-7992 r-7993 w-7994 s-7995 mod-7996)
+            (let ((tmp-7998
+                    ($sc-dispatch
+                      e-7992
+                      '(_ #(each (any any)) any . each-any))))
+              (if (if tmp-7998
+                    (@apply
+                      (lambda (id-8002 val-8003 e1-8004 e2-8005)
+                        (and-map id?-4550 id-8002))
+                      tmp-7998)
+                    #f)
+                (@apply
+                  (lambda (id-8021 val-8022 e1-8023 e2-8024)
+                    (expand-let-7991
+                      e-7992
+                      r-7993
+                      w-7994
+                      s-7995
+                      mod-7996
+                      (lambda (src-8028
+                               ids-8029
+                               vars-8030
+                               val-exps-8031
+                               body-exp-8032)
+                        (begin
+                          (for-each
+                            maybe-name-value!-4515
+                            ids-8029
+                            val-exps-8031)
+                          (if (null? vars-8030)
+                            body-exp-8032
+                            (make-struct/no-tail
+                              (vector-ref %expanded-vtables 16)
+                              src-8028
+                              ids-8029
+                              vars-8030
+                              val-exps-8031
+                              body-exp-8032))))
+                      id-8021
+                      val-8022
+                      (cons e1-8023 e2-8024)))
+                  tmp-7998)
+                (let ((tmp-8039
+                        ($sc-dispatch
+                          e-7992
+                          '(_ any #(each (any any)) any . each-any))))
+                  (if (if tmp-8039
+                        (@apply
+                          (lambda (f-8043 id-8044 val-8045 e1-8046 e2-8047)
+                            (if (if (symbol? f-8043)
+                                  #t
+                                  (if (if (vector? f-8043)
+                                        (if (= (vector-length f-8043) 4)
+                                          (eq? (vector-ref f-8043 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (symbol? (vector-ref f-8043 1))
+                                    #f))
+                              (and-map id?-4550 id-8044)
+                              #f))
+                          tmp-8039)
+                        #f)
+                    (@apply
+                      (lambda (f-8089 id-8090 val-8091 e1-8092 e2-8093)
+                        (expand-let-7991
+                          e-7992
+                          r-7993
+                          w-7994
+                          s-7995
+                          mod-7996
+                          build-named-let-4534
+                          (cons f-8089 id-8090)
+                          val-8091
+                          (cons e1-8092 e2-8093)))
+                      tmp-8039)
+                    (syntax-violation
+                      'let
+                      "bad let"
+                      (let ((x-8106
+                              (begin
+                                (if (if (pair? e-7992) s-7995 #f)
+                                  (set-source-properties! e-7992 s-7995))
+                                e-7992)))
+                        (if (if (null? (car w-7994)) (null? (cdr w-7994)) #f)
+                          x-8106
+                          (if (if (vector? x-8106)
+                                (if (= (vector-length x-8106) 4)
+                                  (eq? (vector-ref x-8106 0) 'syntax-object)
+                                  #f)
+                                #f)
+                            (let ((expression-8138 (vector-ref x-8106 1))
+                                  (wrap-8139
+                                    (let ((w2-8147 (vector-ref x-8106 2)))
+                                      (let ((m1-8148 (car w-7994))
+                                            (s1-8149 (cdr w-7994)))
+                                        (if (null? m1-8148)
+                                          (if (null? s1-8149)
+                                            w2-8147
+                                            (cons (car w2-8147)
+                                                  (let ((m2-8164
+                                                          (cdr w2-8147)))
+                                                    (if (null? m2-8164)
+                                                      s1-8149
+                                                      (append
+                                                        s1-8149
+                                                        m2-8164)))))
+                                          (cons (let ((m2-8172 (car w2-8147)))
+                                                  (if (null? m2-8172)
+                                                    m1-8148
+                                                    (append m1-8148 m2-8172)))
+                                                (let ((m2-8180 (cdr w2-8147)))
+                                                  (if (null? m2-8180)
+                                                    s1-8149
+                                                    (append
+                                                      s1-8149
+                                                      m2-8180))))))))
+                                  (module-8140 (vector-ref x-8106 3)))
+                              (vector
+                                'syntax-object
+                                expression-8138
+                                wrap-8139
+                                module-8140))
+                            (if (null? x-8106)
+                              x-8106
+                              (vector
+                                'syntax-object
+                                x-8106
+                                w-7994
+                                mod-7996)))))))))))))
+      (global-extend-4548
+        'core
+        'letrec
+        (lambda (e-8744 r-8745 w-8746 s-8747 mod-8748)
+          (let ((tmp-8750
+                  ($sc-dispatch
+                    e-8744
+                    '(_ #(each (any any)) any . each-any))))
+            (if (if tmp-8750
+                  (@apply
+                    (lambda (id-8754 val-8755 e1-8756 e2-8757)
+                      (and-map id?-4550 id-8754))
+                    tmp-8750)
+                  #f)
+              (@apply
+                (lambda (id-8773 val-8774 e1-8775 e2-8776)
+                  (if (not (valid-bound-ids?-4576 id-8773))
+                    (syntax-violation
+                      'letrec
+                      "duplicate bound variable"
+                      e-8744)
+                    (let ((labels-8873 (gen-labels-4553 id-8773))
+                          (new-vars-8874 (map gen-var-4600 id-8773)))
+                      (let ((w-8875
+                              (make-binding-wrap-4564
+                                id-8773
+                                labels-8873
+                                w-8746))
+                            (r-8876
+                              (extend-var-env-4546
+                                labels-8873
+                                new-vars-8874
+                                r-8745)))
+                        (build-letrec-4535
+                          s-8747
+                          #f
+                          (map syntax->datum id-8773)
+                          new-vars-8874
+                          (map (lambda (x-8953)
+                                 (expand-4586 x-8953 r-8876 w-8875 mod-8748))
+                               val-8774)
+                          (expand-body-4590
+                            (cons e1-8775 e2-8776)
+                            (let ((x-9015
+                                    (begin
+                                      (if (if (pair? e-8744) s-8747 #f)
+                                        (set-source-properties! e-8744 s-8747))
+                                      e-8744)))
+                              (if (if (null? (car w-8875))
+                                    (null? (cdr w-8875))
+                                    #f)
+                                x-9015
+                                (if (if (vector? x-9015)
+                                      (if (= (vector-length x-9015) 4)
+                                        (eq? (vector-ref x-9015 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (let ((expression-9047 (vector-ref x-9015 1))
+                                        (wrap-9048
+                                          (let ((w2-9056
+                                                  (vector-ref x-9015 2)))
+                                            (let ((m1-9057 (car w-8875))
+                                                  (s1-9058 (cdr w-8875)))
+                                              (if (null? m1-9057)
+                                                (if (null? s1-9058)
+                                                  w2-9056
+                                                  (cons (car w2-9056)
+                                                        (let ((m2-9073
+                                                                (cdr w2-9056)))
+                                                          (if (null? m2-9073)
+                                                            s1-9058
+                                                            (append
+                                                              s1-9058
+                                                              m2-9073)))))
+                                                (cons (let ((m2-9081
+                                                              (car w2-9056)))
+                                                        (if (null? m2-9081)
+                                                          m1-9057
+                                                          (append
+                                                            m1-9057
+                                                            m2-9081)))
+                                                      (let ((m2-9089
+                                                              (cdr w2-9056)))
+                                                        (if (null? m2-9089)
+                                                          s1-9058
+                                                          (append
+                                                            s1-9058
+                                                            m2-9089))))))))
+                                        (module-9049 (vector-ref x-9015 3)))
+                                    (vector
+                                      'syntax-object
+                                      expression-9047
+                                      wrap-9048
+                                      module-9049))
+                                  (if (null? x-9015)
+                                    x-9015
+                                    (vector
+                                      'syntax-object
+                                      x-9015
+                                      w-8875
+                                      mod-8748)))))
+                            r-8876
+                            w-8875
+                            mod-8748))))))
+                tmp-8750)
+              (syntax-violation
+                'letrec
+                "bad letrec"
+                (let ((x-9300
+                        (begin
+                          (if (if (pair? e-8744) s-8747 #f)
+                            (set-source-properties! e-8744 s-8747))
+                          e-8744)))
+                  (if (if (null? (car w-8746)) (null? (cdr w-8746)) #f)
+                    x-9300
+                    (if (if (vector? x-9300)
+                          (if (= (vector-length x-9300) 4)
+                            (eq? (vector-ref x-9300 0) 'syntax-object)
+                            #f)
+                          #f)
+                      (let ((expression-9332 (vector-ref x-9300 1))
+                            (wrap-9333
+                              (let ((w2-9341 (vector-ref x-9300 2)))
+                                (let ((m1-9342 (car w-8746))
+                                      (s1-9343 (cdr w-8746)))
+                                  (if (null? m1-9342)
+                                    (if (null? s1-9343)
+                                      w2-9341
+                                      (cons (car w2-9341)
+                                            (let ((m2-9358 (cdr w2-9341)))
+                                              (if (null? m2-9358)
+                                                s1-9343
+                                                (append s1-9343 m2-9358)))))
+                                    (cons (let ((m2-9366 (car w2-9341)))
+                                            (if (null? m2-9366)
+                                              m1-9342
+                                              (append m1-9342 m2-9366)))
+                                          (let ((m2-9374 (cdr w2-9341)))
+                                            (if (null? m2-9374)
+                                              s1-9343
+                                              (append s1-9343 m2-9374))))))))
+                            (module-9334 (vector-ref x-9300 3)))
+                        (vector
+                          'syntax-object
+                          expression-9332
+                          wrap-9333
+                          module-9334))
+                      (if (null? x-9300)
+                        x-9300
+                        (vector 'syntax-object x-9300 w-8746 mod-8748))))))))))
+      (global-extend-4548
+        'core
+        'letrec*
+        (lambda (e-9525 r-9526 w-9527 s-9528 mod-9529)
+          (let ((tmp-9531
+                  ($sc-dispatch
+                    e-9525
+                    '(_ #(each (any any)) any . each-any))))
+            (if (if tmp-9531
+                  (@apply
+                    (lambda (id-9535 val-9536 e1-9537 e2-9538)
+                      (and-map id?-4550 id-9535))
+                    tmp-9531)
+                  #f)
+              (@apply
+                (lambda (id-9554 val-9555 e1-9556 e2-9557)
+                  (if (not (valid-bound-ids?-4576 id-9554))
+                    (syntax-violation
+                      'letrec*
+                      "duplicate bound variable"
+                      e-9525)
+                    (let ((labels-9654 (gen-labels-4553 id-9554))
+                          (new-vars-9655 (map gen-var-4600 id-9554)))
+                      (let ((w-9656
+                              (make-binding-wrap-4564
+                                id-9554
+                                labels-9654
+                                w-9527))
+                            (r-9657
+                              (extend-var-env-4546
+                                labels-9654
+                                new-vars-9655
+                                r-9526)))
+                        (build-letrec-4535
+                          s-9528
+                          #t
+                          (map syntax->datum id-9554)
+                          new-vars-9655
+                          (map (lambda (x-9734)
+                                 (expand-4586 x-9734 r-9657 w-9656 mod-9529))
+                               val-9555)
+                          (expand-body-4590
+                            (cons e1-9556 e2-9557)
+                            (let ((x-9796
+                                    (begin
+                                      (if (if (pair? e-9525) s-9528 #f)
+                                        (set-source-properties! e-9525 s-9528))
+                                      e-9525)))
+                              (if (if (null? (car w-9656))
+                                    (null? (cdr w-9656))
+                                    #f)
+                                x-9796
+                                (if (if (vector? x-9796)
+                                      (if (= (vector-length x-9796) 4)
+                                        (eq? (vector-ref x-9796 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (let ((expression-9828 (vector-ref x-9796 1))
+                                        (wrap-9829
+                                          (let ((w2-9837
+                                                  (vector-ref x-9796 2)))
+                                            (let ((m1-9838 (car w-9656))
+                                                  (s1-9839 (cdr w-9656)))
+                                              (if (null? m1-9838)
+                                                (if (null? s1-9839)
+                                                  w2-9837
+                                                  (cons (car w2-9837)
+                                                        (let ((m2-9854
+                                                                (cdr w2-9837)))
+                                                          (if (null? m2-9854)
+                                                            s1-9839
+                                                            (append
+                                                              s1-9839
+                                                              m2-9854)))))
+                                                (cons (let ((m2-9862
+                                                              (car w2-9837)))
+                                                        (if (null? m2-9862)
+                                                          m1-9838
+                                                          (append
+                                                            m1-9838
+                                                            m2-9862)))
+                                                      (let ((m2-9870
+                                                              (cdr w2-9837)))
+                                                        (if (null? m2-9870)
+                                                          s1-9839
+                                                          (append
+                                                            s1-9839
+                                                            m2-9870))))))))
+                                        (module-9830 (vector-ref x-9796 3)))
+                                    (vector
+                                      'syntax-object
+                                      expression-9828
+                                      wrap-9829
+                                      module-9830))
+                                  (if (null? x-9796)
+                                    x-9796
+                                    (vector
+                                      'syntax-object
+                                      x-9796
+                                      w-9656
+                                      mod-9529)))))
+                            r-9657
+                            w-9656
+                            mod-9529))))))
+                tmp-9531)
+              (syntax-violation
+                'letrec*
+                "bad letrec*"
+                (let ((x-10081
+                        (begin
+                          (if (if (pair? e-9525) s-9528 #f)
+                            (set-source-properties! e-9525 s-9528))
+                          e-9525)))
+                  (if (if (null? (car w-9527)) (null? (cdr w-9527)) #f)
+                    x-10081
+                    (if (if (vector? x-10081)
+                          (if (= (vector-length x-10081) 4)
+                            (eq? (vector-ref x-10081 0) 'syntax-object)
+                            #f)
+                          #f)
+                      (let ((expression-10113 (vector-ref x-10081 1))
+                            (wrap-10114
+                              (let ((w2-10122 (vector-ref x-10081 2)))
+                                (let ((m1-10123 (car w-9527))
+                                      (s1-10124 (cdr w-9527)))
+                                  (if (null? m1-10123)
+                                    (if (null? s1-10124)
+                                      w2-10122
+                                      (cons (car w2-10122)
+                                            (let ((m2-10139 (cdr w2-10122)))
+                                              (if (null? m2-10139)
+                                                s1-10124
+                                                (append s1-10124 m2-10139)))))
+                                    (cons (let ((m2-10147 (car w2-10122)))
+                                            (if (null? m2-10147)
+                                              m1-10123
+                                              (append m1-10123 m2-10147)))
+                                          (let ((m2-10155 (cdr w2-10122)))
+                                            (if (null? m2-10155)
+                                              s1-10124
+                                              (append s1-10124 m2-10155))))))))
+                            (module-10115 (vector-ref x-10081 3)))
+                        (vector
+                          'syntax-object
+                          expression-10113
+                          wrap-10114
+                          module-10115))
+                      (if (null? x-10081)
+                        x-10081
+                        (vector
+                          'syntax-object
+                          x-10081
+                          w-9527
+                          mod-9529))))))))))
+      (global-extend-4548
+        'core
+        'set!
+        (lambda (e-10314 r-10315 w-10316 s-10317 mod-10318)
+          (let ((tmp-10320 ($sc-dispatch e-10314 '(_ any any))))
+            (if (if tmp-10320
+                  (@apply
+                    (lambda (id-10324 val-10325)
+                      (if (symbol? id-10324)
+                        #t
+                        (if (if (vector? id-10324)
+                              (if (= (vector-length id-10324) 4)
+                                (eq? (vector-ref id-10324 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (symbol? (vector-ref id-10324 1))
+                          #f)))
+                    tmp-10320)
+                  #f)
+              (@apply
+                (lambda (id-10352 val-10353)
+                  (call-with-values
+                    (lambda ()
+                      (resolve-identifier-4571
+                        id-10352
+                        w-10316
+                        r-10315
+                        mod-10318
+                        #t))
+                    (lambda (type-10356 value-10357 id-mod-10358)
+                      (if (eqv? type-10356 'lexical)
+                        (build-lexical-assignment-4521
+                          s-10317
+                          (syntax->datum id-10352)
+                          value-10357
+                          (expand-4586 val-10353 r-10315 w-10316 mod-10318))
+                        (if (eqv? type-10356 'global)
+                          (build-global-assignment-4524
+                            s-10317
+                            value-10357
+                            (expand-4586 val-10353 r-10315 w-10316 mod-10318)
+                            id-mod-10358)
+                          (if (eqv? type-10356 'macro)
+                            (if (procedure-property
+                                  value-10357
+                                  'variable-transformer)
+                              (expand-4586
+                                (expand-macro-4589
+                                  value-10357
+                                  e-10314
+                                  r-10315
+                                  w-10316
+                                  s-10317
+                                  #f
+                                  mod-10318)
+                                r-10315
+                                '(())
+                                mod-10318)
+                              (syntax-violation
+                                'set!
+                                "not a variable transformer"
+                                (if (if (null? (car w-10316))
+                                      (null? (cdr w-10316))
+                                      #f)
+                                  e-10314
+                                  (if (if (vector? e-10314)
+                                        (if (= (vector-length e-10314) 4)
+                                          (eq? (vector-ref e-10314 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (let ((expression-10798
+                                            (vector-ref e-10314 1))
+                                          (wrap-10799
+                                            (let ((w2-10809
+                                                    (vector-ref e-10314 2)))
+                                              (let ((m1-10810 (car w-10316))
+                                                    (s1-10811 (cdr w-10316)))
+                                                (if (null? m1-10810)
+                                                  (if (null? s1-10811)
+                                                    w2-10809
+                                                    (cons (car w2-10809)
+                                                          (let ((m2-10828
+                                                                  (cdr 
w2-10809)))
+                                                            (if (null? 
m2-10828)
+                                                              s1-10811
+                                                              (append
+                                                                s1-10811
+                                                                m2-10828)))))
+                                                  (cons (let ((m2-10836
+                                                                (car 
w2-10809)))
+                                                          (if (null? m2-10836)
+                                                            m1-10810
+                                                            (append
+                                                              m1-10810
+                                                              m2-10836)))
+                                                        (let ((m2-10844
+                                                                (cdr 
w2-10809)))
+                                                          (if (null? m2-10844)
+                                                            s1-10811
+                                                            (append
+                                                              s1-10811
+                                                              m2-10844))))))))
+                                          (module-10800
+                                            (vector-ref e-10314 3)))
+                                      (vector
+                                        'syntax-object
+                                        expression-10798
+                                        wrap-10799
+                                        module-10800))
+                                    (if (null? e-10314)
+                                      e-10314
+                                      (vector
+                                        'syntax-object
+                                        e-10314
+                                        w-10316
+                                        mod-10318))))
+                                (if (if (null? (car w-10316))
+                                      (null? (cdr w-10316))
+                                      #f)
+                                  id-10352
+                                  (if (if (vector? id-10352)
+                                        (if (= (vector-length id-10352) 4)
+                                          (eq? (vector-ref id-10352 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (let ((expression-10896
+                                            (vector-ref id-10352 1))
+                                          (wrap-10897
+                                            (let ((w2-10907
+                                                    (vector-ref id-10352 2)))
+                                              (let ((m1-10908 (car w-10316))
+                                                    (s1-10909 (cdr w-10316)))
+                                                (if (null? m1-10908)
+                                                  (if (null? s1-10909)
+                                                    w2-10907
+                                                    (cons (car w2-10907)
+                                                          (let ((m2-10926
+                                                                  (cdr 
w2-10907)))
+                                                            (if (null? 
m2-10926)
+                                                              s1-10909
+                                                              (append
+                                                                s1-10909
+                                                                m2-10926)))))
+                                                  (cons (let ((m2-10934
+                                                                (car 
w2-10907)))
+                                                          (if (null? m2-10934)
+                                                            m1-10908
+                                                            (append
+                                                              m1-10908
+                                                              m2-10934)))
+                                                        (let ((m2-10942
+                                                                (cdr 
w2-10907)))
+                                                          (if (null? m2-10942)
+                                                            s1-10909
+                                                            (append
+                                                              s1-10909
+                                                              m2-10942))))))))
+                                          (module-10898
+                                            (vector-ref id-10352 3)))
+                                      (vector
+                                        'syntax-object
+                                        expression-10896
+                                        wrap-10897
+                                        module-10898))
+                                    (if (null? id-10352)
+                                      id-10352
+                                      (vector
+                                        'syntax-object
+                                        id-10352
+                                        w-10316
+                                        id-mod-10358))))))
+                            (if (eqv? type-10356 'displaced-lexical)
+                              (syntax-violation
+                                'set!
+                                "identifier out of context"
+                                (if (if (null? (car w-10316))
+                                      (null? (cdr w-10316))
+                                      #f)
+                                  id-10352
+                                  (if (if (vector? id-10352)
+                                        (if (= (vector-length id-10352) 4)
+                                          (eq? (vector-ref id-10352 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (let ((expression-10997
+                                            (vector-ref id-10352 1))
+                                          (wrap-10998
+                                            (let ((w2-11008
+                                                    (vector-ref id-10352 2)))
+                                              (let ((m1-11009 (car w-10316))
+                                                    (s1-11010 (cdr w-10316)))
+                                                (if (null? m1-11009)
+                                                  (if (null? s1-11010)
+                                                    w2-11008
+                                                    (cons (car w2-11008)
+                                                          (let ((m2-11027
+                                                                  (cdr 
w2-11008)))
+                                                            (if (null? 
m2-11027)
+                                                              s1-11010
+                                                              (append
+                                                                s1-11010
+                                                                m2-11027)))))
+                                                  (cons (let ((m2-11035
+                                                                (car 
w2-11008)))
+                                                          (if (null? m2-11035)
+                                                            m1-11009
+                                                            (append
+                                                              m1-11009
+                                                              m2-11035)))
+                                                        (let ((m2-11043
+                                                                (cdr 
w2-11008)))
+                                                          (if (null? m2-11043)
+                                                            s1-11010
+                                                            (append
+                                                              s1-11010
+                                                              m2-11043))))))))
+                                          (module-10999
+                                            (vector-ref id-10352 3)))
+                                      (vector
+                                        'syntax-object
+                                        expression-10997
+                                        wrap-10998
+                                        module-10999))
+                                    (if (null? id-10352)
+                                      id-10352
+                                      (vector
+                                        'syntax-object
+                                        id-10352
+                                        w-10316
+                                        mod-10318)))))
+                              (syntax-violation
+                                'set!
+                                "bad set!"
+                                (let ((x-11075
+                                        (begin
+                                          (if (if (pair? e-10314) s-10317 #f)
+                                            (set-source-properties!
+                                              e-10314
+                                              s-10317))
+                                          e-10314)))
+                                  (if (if (null? (car w-10316))
+                                        (null? (cdr w-10316))
+                                        #f)
+                                    x-11075
+                                    (if (if (vector? x-11075)
+                                          (if (= (vector-length x-11075) 4)
+                                            (eq? (vector-ref x-11075 0)
+                                                 'syntax-object)
+                                            #f)
+                                          #f)
+                                      (let ((expression-11107
+                                              (vector-ref x-11075 1))
+                                            (wrap-11108
+                                              (let ((w2-11116
+                                                      (vector-ref x-11075 2)))
+                                                (let ((m1-11117 (car w-10316))
+                                                      (s1-11118 (cdr w-10316)))
+                                                  (if (null? m1-11117)
+                                                    (if (null? s1-11118)
+                                                      w2-11116
+                                                      (cons (car w2-11116)
+                                                            (let ((m2-11133
+                                                                    (cdr 
w2-11116)))
+                                                              (if (null? 
m2-11133)
+                                                                s1-11118
+                                                                (append
+                                                                  s1-11118
+                                                                  m2-11133)))))
+                                                    (cons (let ((m2-11141
+                                                                  (car 
w2-11116)))
+                                                            (if (null? 
m2-11141)
+                                                              m1-11117
+                                                              (append
+                                                                m1-11117
+                                                                m2-11141)))
+                                                          (let ((m2-11149
+                                                                  (cdr 
w2-11116)))
+                                                            (if (null? 
m2-11149)
+                                                              s1-11118
+                                                              (append
+                                                                s1-11118
+                                                                
m2-11149))))))))
+                                            (module-11109
+                                              (vector-ref x-11075 3)))
+                                        (vector
+                                          'syntax-object
+                                          expression-11107
+                                          wrap-11108
+                                          module-11109))
+                                      (if (null? x-11075)
+                                        x-11075
+                                        (vector
+                                          'syntax-object
+                                          x-11075
+                                          w-10316
+                                          mod-10318)))))))))))))
+                tmp-10320)
+              (let ((tmp-11164
+                      ($sc-dispatch e-10314 '(_ (any . each-any) any))))
+                (if tmp-11164
+                  (@apply
+                    (lambda (head-11168 tail-11169 val-11170)
+                      (call-with-values
+                        (lambda ()
+                          (syntax-type-4585
+                            head-11168
+                            r-10315
+                            '(())
+                            #f
+                            #f
+                            mod-10318
+                            #t))
+                        (lambda (type-11173
+                                 value-11174
+                                 ee*-11175
+                                 ee-11176
+                                 ww-11177
+                                 ss-11178
+                                 modmod-11179)
+                          (if (eqv? type-11173 'module-ref)
+                            (let ((val-11183
+                                    (expand-4586
+                                      val-11170
+                                      r-10315
+                                      w-10316
+                                      mod-10318)))
+                              (call-with-values
+                                (lambda ()
+                                  (value-11174
+                                    (cons head-11168 tail-11169)
+                                    r-10315
+                                    w-10316))
+                                (lambda (e-11184
+                                         r-11185
+                                         w-11186
+                                         s*-11187
+                                         mod-11188)
+                                  (let ((tmp-11190 (list e-11184)))
+                                    (if (@apply
+                                          (lambda (e-11192)
+                                            (if (symbol? e-11192)
+                                              #t
+                                              (if (if (vector? e-11192)
+                                                    (if (= (vector-length
+                                                             e-11192)
+                                                           4)
+                                                      (eq? (vector-ref
+                                                             e-11192
+                                                             0)
+                                                           'syntax-object)
+                                                      #f)
+                                                    #f)
+                                                (symbol?
+                                                  (vector-ref e-11192 1))
+                                                #f)))
+                                          tmp-11190)
+                                      (@apply
+                                        (lambda (e-11222)
+                                          (build-global-assignment-4524
+                                            s-10317
+                                            (syntax->datum e-11222)
+                                            val-11183
+                                            mod-11188))
+                                        tmp-11190)
+                                      (syntax-violation
+                                        #f
+                                        "source expression failed to match any 
pattern"
+                                        e-11184))))))
+                            (build-call-4517
+                              s-10317
+                              (expand-4586
+                                (list '#(syntax-object
+                                         setter
+                                         ((top)
+                                          #(ribcage () () ())
+                                          #(ribcage () () ())
+                                          #(ribcage
+                                            #(type value ee* ee ww ss modmod)
+                                            #((top)
                                               (top)
                                               (top)
                                               (top)
                                               (top)
                                               (top)
                                               (top))
-                                             ("i24298"
-                                              "i24296"
-                                              "i24294"
-                                              "i24292"
-                                              "i24290"
-                                              "i24288"
-                                              "i24286"
-                                              "i24284"
-                                              "i24282"
-                                              "i24280"
-                                              "i24278"
-                                              "i24276"
-                                              "i24274"
-                                              "i24272"
-                                              "i24270"
-                                              "i24268"
-                                              "i24266"
-                                              "i24264"
-                                              "i24262"
-                                              "i24260"
-                                              "i24258"
-                                              "i24256"
-                                              "i24254"
-                                              "i24252"
-                                              "i24250"
-                                              "i24248"
-                                              "i24246"
-                                              "i24244"
-                                              "i24242"
-                                              "i24240"
-                                              "i24238"
-                                              "i24236"
-                                              "i24234"
-                                              "i24232"
-                                              "i24230"
-                                              "i24228"
-                                              "i24227"
-                                              "i24225"
-                                              "i24222"
-                                              "i24221"
-                                              "i24220"
-                                              "i24218"
-                                              "i24217"
-                                              "i24215"
-                                              "i24213"
-                                              "i24211"
-                                              "i24209"
-                                              "i24207"
-                                              "i24205"
-                                              "i24203"
-                                              "i24201"
-                                              "i24198"
-                                              "i24196"
-                                              "i24195"
-                                              "i24193"
-                                              "i24191"
-                                              "i24189"
-                                              "i24187"
-                                              "i24186"
-                                              "i24185"
-                                              "i24184"
-                                              "i24182"
-                                              "i24181"
-                                              "i24178"
-                                              "i24176"
-                                              "i24174"
-                                              "i24172"
-                                              "i24170"
-                                              "i24168"
-                                              "i24167"
-                                              "i24166"
-                                              "i24164"
-                                              "i24162"
-                                              "i24161"
-                                              "i24158"
-                                              "i24157"
-                                              "i24155"
-                                              "i24153"
-                                              "i24151"
-                                              "i24149"
-                                              "i24147"
-                                              "i24145"
-                                              "i24143"
-                                              "i24141"
-                                              "i24139"
-                                              "i24136"
-                                              "i24134"
-                                              "i24132"
-                                              "i24130"
-                                              "i24128"
-                                              "i24126"
-                                              "i24124"
-                                              "i24122"
-                                              "i24120"
-                                              "i24118"
-                                              "i24116"
-                                              "i24114"
-                                              "i24112"
-                                              "i24110"
-                                              "i24108"
-                                              "i24106"
-                                              "i24104"
-                                              "i24102"
-                                              "i24100"
-                                              "i24098"
-                                              "i24096"
-                                              "i24094"
-                                              "i24092"
-                                              "i24090"
-                                              "i24089"
-                                              "i24086"
-                                              "i24084"
-                                              "i24083"
-                                              "i24082"
-                                              "i24081"
-                                              "i24080"
-                                              "i24078"
-                                              "i24076"
-                                              "i24074"
-                                              "i24071"
-                                              "i24069"
-                                              "i24067"
-                                              "i24065"
-                                              "i24063"
-                                              "i24061"
-                                              "i24059"
-                                              "i24057"
-                                              "i24055"
-                                              "i24053"
-                                              "i24051"
-                                              "i24049"
-                                              "i24047"
-                                              "i24045"
-                                              "i24043"
-                                              "i24041"
-                                              "i24039"
-                                              "i24037"
-                                              "i24035"))
-                                           #(ribcage
-                                             (define-structure
-                                               define-expansion-accessors
-                                               define-expansion-constructors)
-                                             ((top) (top) (top))
-                                             ("i23873" "i23872" "i23871"))
-                                           #(ribcage () () ()))
-                                          (hygiene guile))
-                                       #{keys 38134}#))
-                               #f)
-                           (if (#{free-id=? 28259}#
-                                 '#(syntax-object
-                                    pad
-                                    ((top)
-                                     #(ribcage
-                                       #(pat exp)
-                                       #((top) (top))
-                                       #("i27835" "i27836"))
-                                     #(ribcage () () ())
-                                     #(ribcage
-                                       #(x keys clauses r mod)
-                                       #((top) (top) (top) (top) (top))
-                                       #("i27825"
-                                         "i27826"
-                                         "i27827"
-                                         "i27828"
-                                         "i27829"))
-                                     #(ribcage
-                                       (gen-syntax-case
-                                         gen-clause
-                                         build-dispatch-call
-                                         convert-pattern)
-                                       ((top) (top) (top) (top))
-                                       ("i27638" "i27636" "i27634" "i27632"))
-                                     #(ribcage
-                                       (lambda-var-list
-                                         gen-var
-                                         strip
-                                         expand-lambda-case
-                                         lambda*-formals
-                                         expand-simple-lambda
-                                         lambda-formals
-                                         ellipsis?
-                                         expand-void
-                                         eval-local-transformer
-                                         expand-local-syntax
-                                         expand-body
-                                         expand-macro
-                                         expand-call
-                                         expand-expr
-                                         expand
-                                         syntax-type
-                                         parse-when-list
-                                         expand-install-global
-                                         expand-top-sequence
-                                         expand-sequence
-                                         source-wrap
-                                         wrap
-                                         bound-id-member?
-                                         distinct-bound-ids?
-                                         valid-bound-ids?
-                                         bound-id=?
-                                         free-id=?
-                                         resolve-identifier
-                                         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
-                                         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))
-                                       ("i24298"
-                                        "i24296"
-                                        "i24294"
-                                        "i24292"
-                                        "i24290"
-                                        "i24288"
-                                        "i24286"
-                                        "i24284"
-                                        "i24282"
-                                        "i24280"
-                                        "i24278"
-                                        "i24276"
-                                        "i24274"
-                                        "i24272"
-                                        "i24270"
-                                        "i24268"
-                                        "i24266"
-                                        "i24264"
-                                        "i24262"
-                                        "i24260"
-                                        "i24258"
-                                        "i24256"
-                                        "i24254"
-                                        "i24252"
-                                        "i24250"
-                                        "i24248"
-                                        "i24246"
-                                        "i24244"
-                                        "i24242"
-                                        "i24240"
-                                        "i24238"
-                                        "i24236"
-                                        "i24234"
-                                        "i24232"
-                                        "i24230"
-                                        "i24228"
-                                        "i24227"
-                                        "i24225"
-                                        "i24222"
-                                        "i24221"
-                                        "i24220"
-                                        "i24218"
-                                        "i24217"
-                                        "i24215"
-                                        "i24213"
-                                        "i24211"
-                                        "i24209"
-                                        "i24207"
-                                        "i24205"
-                                        "i24203"
-                                        "i24201"
-                                        "i24198"
-                                        "i24196"
-                                        "i24195"
-                                        "i24193"
-                                        "i24191"
-                                        "i24189"
-                                        "i24187"
-                                        "i24186"
-                                        "i24185"
-                                        "i24184"
-                                        "i24182"
-                                        "i24181"
-                                        "i24178"
-                                        "i24176"
-                                        "i24174"
-                                        "i24172"
-                                        "i24170"
-                                        "i24168"
-                                        "i24167"
-                                        "i24166"
-                                        "i24164"
-                                        "i24162"
-                                        "i24161"
-                                        "i24158"
-                                        "i24157"
-                                        "i24155"
-                                        "i24153"
-                                        "i24151"
-                                        "i24149"
-                                        "i24147"
-                                        "i24145"
-                                        "i24143"
-                                        "i24141"
-                                        "i24139"
-                                        "i24136"
-                                        "i24134"
-                                        "i24132"
-                                        "i24130"
-                                        "i24128"
-                                        "i24126"
-                                        "i24124"
-                                        "i24122"
-                                        "i24120"
-                                        "i24118"
-                                        "i24116"
-                                        "i24114"
-                                        "i24112"
-                                        "i24110"
-                                        "i24108"
-                                        "i24106"
-                                        "i24104"
-                                        "i24102"
-                                        "i24100"
-                                        "i24098"
-                                        "i24096"
-                                        "i24094"
-                                        "i24092"
-                                        "i24090"
-                                        "i24089"
-                                        "i24086"
-                                        "i24084"
-                                        "i24083"
-                                        "i24082"
-                                        "i24081"
-                                        "i24080"
-                                        "i24078"
-                                        "i24076"
-                                        "i24074"
-                                        "i24071"
-                                        "i24069"
-                                        "i24067"
-                                        "i24065"
-                                        "i24063"
-                                        "i24061"
-                                        "i24059"
-                                        "i24057"
-                                        "i24055"
-                                        "i24053"
-                                        "i24051"
-                                        "i24049"
-                                        "i24047"
-                                        "i24045"
-                                        "i24043"
-                                        "i24041"
-                                        "i24039"
-                                        "i24037"
-                                        "i24035"))
-                                     #(ribcage
-                                       (define-structure
-                                         define-expansion-accessors
-                                         define-expansion-constructors)
-                                       ((top) (top) (top))
-                                       ("i23873" "i23872" "i23871"))
-                                     #(ribcage () () ()))
-                                    (hygiene guile))
-                                 '#(syntax-object
-                                    _
+                                            #("l-*-3734"
+                                              "l-*-3735"
+                                              "l-*-3736"
+                                              "l-*-3737"
+                                              "l-*-3738"
+                                              "l-*-3739"
+                                              "l-*-3740"))
+                                          #(ribcage
+                                            #(head tail val)
+                                            #((top) (top) (top))
+                                            #("l-*-3719"
+                                              "l-*-3720"
+                                              "l-*-3721"))
+                                          #(ribcage () () ())
+                                          #(ribcage
+                                            #(e r w s mod)
+                                            #((top) (top) (top) (top) (top))
+                                            #("l-*-3691"
+                                              "l-*-3692"
+                                              "l-*-3693"
+                                              "l-*-3694"
+                                              "l-*-3695"))
+                                          #(ribcage
+                                            (lambda-var-list
+                                              gen-var
+                                              strip
+                                              expand-lambda-case
+                                              lambda*-formals
+                                              expand-simple-lambda
+                                              lambda-formals
+                                              ellipsis?
+                                              expand-void
+                                              eval-local-transformer
+                                              expand-local-syntax
+                                              expand-body
+                                              expand-macro
+                                              expand-call
+                                              expand-expr
+                                              expand
+                                              syntax-type
+                                              parse-when-list
+                                              expand-install-global
+                                              expand-top-sequence
+                                              expand-sequence
+                                              source-wrap
+                                              wrap
+                                              bound-id-member?
+                                              distinct-bound-ids?
+                                              valid-bound-ids?
+                                              bound-id=?
+                                              free-id=?
+                                              with-transformer-environment
+                                              transformer-environment
+                                              resolve-identifier
+                                              locally-bound-identifiers
+                                              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
+                                              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
+                                              session-id
+                                              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)
+                                             (top)
+                                             (top)
+                                             (top))
+                                            ("l-*-478"
+                                             "l-*-476"
+                                             "l-*-474"
+                                             "l-*-472"
+                                             "l-*-470"
+                                             "l-*-468"
+                                             "l-*-466"
+                                             "l-*-464"
+                                             "l-*-462"
+                                             "l-*-460"
+                                             "l-*-458"
+                                             "l-*-456"
+                                             "l-*-454"
+                                             "l-*-452"
+                                             "l-*-450"
+                                             "l-*-448"
+                                             "l-*-446"
+                                             "l-*-444"
+                                             "l-*-442"
+                                             "l-*-440"
+                                             "l-*-438"
+                                             "l-*-436"
+                                             "l-*-434"
+                                             "l-*-432"
+                                             "l-*-430"
+                                             "l-*-428"
+                                             "l-*-426"
+                                             "l-*-424"
+                                             "l-*-422"
+                                             "l-*-420"
+                                             "l-*-418"
+                                             "l-*-416"
+                                             "l-*-414"
+                                             "l-*-412"
+                                             "l-*-410"
+                                             "l-*-408"
+                                             "l-*-406"
+                                             "l-*-404"
+                                             "l-*-402"
+                                             "l-*-401"
+                                             "l-*-399"
+                                             "l-*-396"
+                                             "l-*-395"
+                                             "l-*-394"
+                                             "l-*-392"
+                                             "l-*-391"
+                                             "l-*-389"
+                                             "l-*-387"
+                                             "l-*-385"
+                                             "l-*-383"
+                                             "l-*-381"
+                                             "l-*-379"
+                                             "l-*-377"
+                                             "l-*-375"
+                                             "l-*-372"
+                                             "l-*-370"
+                                             "l-*-369"
+                                             "l-*-367"
+                                             "l-*-365"
+                                             "l-*-363"
+                                             "l-*-361"
+                                             "l-*-360"
+                                             "l-*-359"
+                                             "l-*-358"
+                                             "l-*-356"
+                                             "l-*-355"
+                                             "l-*-352"
+                                             "l-*-350"
+                                             "l-*-348"
+                                             "l-*-346"
+                                             "l-*-344"
+                                             "l-*-342"
+                                             "l-*-341"
+                                             "l-*-340"
+                                             "l-*-338"
+                                             "l-*-336"
+                                             "l-*-335"
+                                             "l-*-332"
+                                             "l-*-331"
+                                             "l-*-329"
+                                             "l-*-327"
+                                             "l-*-325"
+                                             "l-*-323"
+                                             "l-*-321"
+                                             "l-*-319"
+                                             "l-*-317"
+                                             "l-*-315"
+                                             "l-*-313"
+                                             "l-*-310"
+                                             "l-*-308"
+                                             "l-*-306"
+                                             "l-*-304"
+                                             "l-*-302"
+                                             "l-*-300"
+                                             "l-*-298"
+                                             "l-*-296"
+                                             "l-*-294"
+                                             "l-*-292"
+                                             "l-*-290"
+                                             "l-*-288"
+                                             "l-*-286"
+                                             "l-*-284"
+                                             "l-*-282"
+                                             "l-*-280"
+                                             "l-*-278"
+                                             "l-*-276"
+                                             "l-*-274"
+                                             "l-*-272"
+                                             "l-*-270"
+                                             "l-*-268"
+                                             "l-*-266"
+                                             "l-*-264"
+                                             "l-*-262"
+                                             "l-*-260"
+                                             "l-*-258"
+                                             "l-*-257"
+                                             "l-*-256"
+                                             "l-*-255"
+                                             "l-*-254"
+                                             "l-*-252"
+                                             "l-*-250"
+                                             "l-*-248"
+                                             "l-*-245"
+                                             "l-*-243"
+                                             "l-*-241"
+                                             "l-*-239"
+                                             "l-*-237"
+                                             "l-*-235"
+                                             "l-*-233"
+                                             "l-*-231"
+                                             "l-*-229"
+                                             "l-*-227"
+                                             "l-*-225"
+                                             "l-*-223"
+                                             "l-*-221"
+                                             "l-*-219"
+                                             "l-*-217"
+                                             "l-*-215"
+                                             "l-*-213"
+                                             "l-*-211"
+                                             "l-*-209"))
+                                          #(ribcage
+                                            (define-structure
+                                              define-expansion-accessors
+                                              define-expansion-constructors)
+                                            ((top) (top) (top))
+                                            ("l-*-47" "l-*-46" "l-*-45"))
+                                          #(ribcage () () ()))
+                                         (hygiene guile))
+                                      head-11168)
+                                r-10315
+                                w-10316
+                                mod-10318)
+                              (map (lambda (e-11535)
+                                     (expand-4586
+                                       e-11535
+                                       r-10315
+                                       w-10316
+                                       mod-10318))
+                                   (append tail-11169 (list val-11170))))))))
+                    tmp-11164)
+                  (syntax-violation
+                    'set!
+                    "bad set!"
+                    (let ((x-11623
+                            (begin
+                              (if (if (pair? e-10314) s-10317 #f)
+                                (set-source-properties! e-10314 s-10317))
+                              e-10314)))
+                      (if (if (null? (car w-10316))
+                            (null? (cdr w-10316))
+                            #f)
+                        x-11623
+                        (if (if (vector? x-11623)
+                              (if (= (vector-length x-11623) 4)
+                                (eq? (vector-ref x-11623 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (let ((expression-11655 (vector-ref x-11623 1))
+                                (wrap-11656
+                                  (let ((w2-11664 (vector-ref x-11623 2)))
+                                    (let ((m1-11665 (car w-10316))
+                                          (s1-11666 (cdr w-10316)))
+                                      (if (null? m1-11665)
+                                        (if (null? s1-11666)
+                                          w2-11664
+                                          (cons (car w2-11664)
+                                                (let ((m2-11681
+                                                        (cdr w2-11664)))
+                                                  (if (null? m2-11681)
+                                                    s1-11666
+                                                    (append
+                                                      s1-11666
+                                                      m2-11681)))))
+                                        (cons (let ((m2-11689 (car w2-11664)))
+                                                (if (null? m2-11689)
+                                                  m1-11665
+                                                  (append m1-11665 m2-11689)))
+                                              (let ((m2-11697 (cdr w2-11664)))
+                                                (if (null? m2-11697)
+                                                  s1-11666
+                                                  (append
+                                                    s1-11666
+                                                    m2-11697))))))))
+                                (module-11657 (vector-ref x-11623 3)))
+                            (vector
+                              'syntax-object
+                              expression-11655
+                              wrap-11656
+                              module-11657))
+                          (if (null? x-11623)
+                            x-11623
+                            (vector
+                              'syntax-object
+                              x-11623
+                              w-10316
+                              mod-10318))))))))))))
+      (module-define!
+        (current-module)
+        '@
+        (make-syntax-transformer
+          '@
+          'module-ref
+          (lambda (e-11728 r-11729 w-11730)
+            (let ((tmp-11732
+                    ($sc-dispatch e-11728 '(_ each-any any))))
+              (if (if tmp-11732
+                    (@apply
+                      (lambda (mod-11735 id-11736)
+                        (if (and-map id?-4550 mod-11735)
+                          (if (symbol? id-11736)
+                            #t
+                            (if (if (vector? id-11736)
+                                  (if (= (vector-length id-11736) 4)
+                                    (eq? (vector-ref id-11736 0)
+                                         'syntax-object)
+                                    #f)
+                                  #f)
+                              (symbol? (vector-ref id-11736 1))
+                              #f))
+                          #f))
+                      tmp-11732)
+                    #f)
+                (@apply
+                  (lambda (mod-11776 id-11777)
+                    (values
+                      (syntax->datum id-11777)
+                      r-11729
+                      w-11730
+                      #f
+                      (syntax->datum
+                        (cons '#(syntax-object
+                                 public
+                                 ((top)
+                                  #(ribcage
+                                    #(mod id)
+                                    #((top) (top))
+                                    #("l-*-3782" "l-*-3783"))
+                                  #(ribcage () () ())
+                                  #(ribcage
+                                    #(e r w)
+                                    #((top) (top) (top))
+                                    #("l-*-3770" "l-*-3771" "l-*-3772"))
+                                  #(ribcage
+                                    (lambda-var-list
+                                      gen-var
+                                      strip
+                                      expand-lambda-case
+                                      lambda*-formals
+                                      expand-simple-lambda
+                                      lambda-formals
+                                      ellipsis?
+                                      expand-void
+                                      eval-local-transformer
+                                      expand-local-syntax
+                                      expand-body
+                                      expand-macro
+                                      expand-call
+                                      expand-expr
+                                      expand
+                                      syntax-type
+                                      parse-when-list
+                                      expand-install-global
+                                      expand-top-sequence
+                                      expand-sequence
+                                      source-wrap
+                                      wrap
+                                      bound-id-member?
+                                      distinct-bound-ids?
+                                      valid-bound-ids?
+                                      bound-id=?
+                                      free-id=?
+                                      with-transformer-environment
+                                      transformer-environment
+                                      resolve-identifier
+                                      locally-bound-identifiers
+                                      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
+                                      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
+                                      session-id
+                                      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)
-                                     #(ribcage
-                                       #(pat exp)
-                                       #((top) (top))
-                                       #("i27835" "i27836"))
-                                     #(ribcage () () ())
-                                     #(ribcage
-                                       #(x keys clauses r mod)
-                                       #((top) (top) (top) (top) (top))
-                                       #("i27825"
-                                         "i27826"
-                                         "i27827"
-                                         "i27828"
-                                         "i27829"))
-                                     #(ribcage
-                                       (gen-syntax-case
-                                         gen-clause
-                                         build-dispatch-call
-                                         convert-pattern)
-                                       ((top) (top) (top) (top))
-                                       ("i27638" "i27636" "i27634" "i27632"))
-                                     #(ribcage
-                                       (lambda-var-list
-                                         gen-var
-                                         strip
-                                         expand-lambda-case
-                                         lambda*-formals
-                                         expand-simple-lambda
-                                         lambda-formals
-                                         ellipsis?
-                                         expand-void
-                                         eval-local-transformer
-                                         expand-local-syntax
-                                         expand-body
-                                         expand-macro
-                                         expand-call
-                                         expand-expr
-                                         expand
-                                         syntax-type
-                                         parse-when-list
-                                         expand-install-global
-                                         expand-top-sequence
-                                         expand-sequence
-                                         source-wrap
-                                         wrap
-                                         bound-id-member?
-                                         distinct-bound-ids?
-                                         valid-bound-ids?
-                                         bound-id=?
-                                         free-id=?
-                                         resolve-identifier
-                                         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
-                                         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)
+                                     (top)
+                                     (top))
+                                    ("l-*-478"
+                                     "l-*-476"
+                                     "l-*-474"
+                                     "l-*-472"
+                                     "l-*-470"
+                                     "l-*-468"
+                                     "l-*-466"
+                                     "l-*-464"
+                                     "l-*-462"
+                                     "l-*-460"
+                                     "l-*-458"
+                                     "l-*-456"
+                                     "l-*-454"
+                                     "l-*-452"
+                                     "l-*-450"
+                                     "l-*-448"
+                                     "l-*-446"
+                                     "l-*-444"
+                                     "l-*-442"
+                                     "l-*-440"
+                                     "l-*-438"
+                                     "l-*-436"
+                                     "l-*-434"
+                                     "l-*-432"
+                                     "l-*-430"
+                                     "l-*-428"
+                                     "l-*-426"
+                                     "l-*-424"
+                                     "l-*-422"
+                                     "l-*-420"
+                                     "l-*-418"
+                                     "l-*-416"
+                                     "l-*-414"
+                                     "l-*-412"
+                                     "l-*-410"
+                                     "l-*-408"
+                                     "l-*-406"
+                                     "l-*-404"
+                                     "l-*-402"
+                                     "l-*-401"
+                                     "l-*-399"
+                                     "l-*-396"
+                                     "l-*-395"
+                                     "l-*-394"
+                                     "l-*-392"
+                                     "l-*-391"
+                                     "l-*-389"
+                                     "l-*-387"
+                                     "l-*-385"
+                                     "l-*-383"
+                                     "l-*-381"
+                                     "l-*-379"
+                                     "l-*-377"
+                                     "l-*-375"
+                                     "l-*-372"
+                                     "l-*-370"
+                                     "l-*-369"
+                                     "l-*-367"
+                                     "l-*-365"
+                                     "l-*-363"
+                                     "l-*-361"
+                                     "l-*-360"
+                                     "l-*-359"
+                                     "l-*-358"
+                                     "l-*-356"
+                                     "l-*-355"
+                                     "l-*-352"
+                                     "l-*-350"
+                                     "l-*-348"
+                                     "l-*-346"
+                                     "l-*-344"
+                                     "l-*-342"
+                                     "l-*-341"
+                                     "l-*-340"
+                                     "l-*-338"
+                                     "l-*-336"
+                                     "l-*-335"
+                                     "l-*-332"
+                                     "l-*-331"
+                                     "l-*-329"
+                                     "l-*-327"
+                                     "l-*-325"
+                                     "l-*-323"
+                                     "l-*-321"
+                                     "l-*-319"
+                                     "l-*-317"
+                                     "l-*-315"
+                                     "l-*-313"
+                                     "l-*-310"
+                                     "l-*-308"
+                                     "l-*-306"
+                                     "l-*-304"
+                                     "l-*-302"
+                                     "l-*-300"
+                                     "l-*-298"
+                                     "l-*-296"
+                                     "l-*-294"
+                                     "l-*-292"
+                                     "l-*-290"
+                                     "l-*-288"
+                                     "l-*-286"
+                                     "l-*-284"
+                                     "l-*-282"
+                                     "l-*-280"
+                                     "l-*-278"
+                                     "l-*-276"
+                                     "l-*-274"
+                                     "l-*-272"
+                                     "l-*-270"
+                                     "l-*-268"
+                                     "l-*-266"
+                                     "l-*-264"
+                                     "l-*-262"
+                                     "l-*-260"
+                                     "l-*-258"
+                                     "l-*-257"
+                                     "l-*-256"
+                                     "l-*-255"
+                                     "l-*-254"
+                                     "l-*-252"
+                                     "l-*-250"
+                                     "l-*-248"
+                                     "l-*-245"
+                                     "l-*-243"
+                                     "l-*-241"
+                                     "l-*-239"
+                                     "l-*-237"
+                                     "l-*-235"
+                                     "l-*-233"
+                                     "l-*-231"
+                                     "l-*-229"
+                                     "l-*-227"
+                                     "l-*-225"
+                                     "l-*-223"
+                                     "l-*-221"
+                                     "l-*-219"
+                                     "l-*-217"
+                                     "l-*-215"
+                                     "l-*-213"
+                                     "l-*-211"
+                                     "l-*-209"))
+                                  #(ribcage
+                                    (define-structure
+                                      define-expansion-accessors
+                                      define-expansion-constructors)
+                                    ((top) (top) (top))
+                                    ("l-*-47" "l-*-46" "l-*-45"))
+                                  #(ribcage () () ()))
+                                 (hygiene guile))
+                              mod-11776))))
+                  tmp-11732)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  e-11728))))))
+      (global-extend-4548
+        'module-ref
+        '@@
+        (lambda (e-11877 r-11878 w-11879)
+          (letrec*
+            ((remodulate-11880
+               (lambda (x-12098 mod-12099)
+                 (if (pair? x-12098)
+                   (cons (remodulate-11880 (car x-12098) mod-12099)
+                         (remodulate-11880 (cdr x-12098) mod-12099))
+                   (if (if (vector? x-12098)
+                         (if (= (vector-length x-12098) 4)
+                           (eq? (vector-ref x-12098 0) 'syntax-object)
+                           #f)
+                         #f)
+                     (let ((expression-12113
+                             (remodulate-11880
+                               (vector-ref x-12098 1)
+                               mod-12099))
+                           (wrap-12114 (vector-ref x-12098 2)))
+                       (vector
+                         'syntax-object
+                         expression-12113
+                         wrap-12114
+                         mod-12099))
+                     (if (vector? x-12098)
+                       (let ((n-12122 (vector-length x-12098)))
+                         (let ((v-12123 (make-vector n-12122)))
+                           (letrec*
+                             ((loop-12124
+                                (lambda (i-12179)
+                                  (if (= i-12179 n-12122)
+                                    v-12123
+                                    (begin
+                                      (vector-set!
+                                        v-12123
+                                        i-12179
+                                        (remodulate-11880
+                                          (vector-ref x-12098 i-12179)
+                                          mod-12099))
+                                      (loop-12124 (#{1+}# i-12179)))))))
+                             (loop-12124 0))))
+                       x-12098))))))
+            (let ((tmp-11882
+                    ($sc-dispatch e-11877 '(_ each-any any))))
+              (if (if tmp-11882
+                    (@apply
+                      (lambda (mod-11886 exp-11887)
+                        (and-map id?-4550 mod-11886))
+                      tmp-11882)
+                    #f)
+                (@apply
+                  (lambda (mod-11903 exp-11904)
+                    (let ((mod-11905
+                            (syntax->datum
+                              (cons '#(syntax-object
+                                       private
                                        ((top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top)
-                                        (top))
-                                       ("i24298"
-                                        "i24296"
-                                        "i24294"
-                                        "i24292"
-                                        "i24290"
-                                        "i24288"
-                                        "i24286"
-                                        "i24284"
-                                        "i24282"
-                                        "i24280"
-                                        "i24278"
-                                        "i24276"
-                                        "i24274"
-                                        "i24272"
-                                        "i24270"
-                                        "i24268"
-                                        "i24266"
-                                        "i24264"
-                                        "i24262"
-                                        "i24260"
-                                        "i24258"
-                                        "i24256"
-                                        "i24254"
-                                        "i24252"
-                                        "i24250"
-                                        "i24248"
-                                        "i24246"
-                                        "i24244"
-                                        "i24242"
-                                        "i24240"
-                                        "i24238"
-                                        "i24236"
-                                        "i24234"
-                                        "i24232"
-                                        "i24230"
-                                        "i24228"
-                                        "i24227"
-                                        "i24225"
-                                        "i24222"
-                                        "i24221"
-                                        "i24220"
-                                        "i24218"
-                                        "i24217"
-                                        "i24215"
-                                        "i24213"
-                                        "i24211"
-                                        "i24209"
-                                        "i24207"
-                                        "i24205"
-                                        "i24203"
-                                        "i24201"
-                                        "i24198"
-                                        "i24196"
-                                        "i24195"
-                                        "i24193"
-                                        "i24191"
-                                        "i24189"
-                                        "i24187"
-                                        "i24186"
-                                        "i24185"
-                                        "i24184"
-                                        "i24182"
-                                        "i24181"
-                                        "i24178"
-                                        "i24176"
-                                        "i24174"
-                                        "i24172"
-                                        "i24170"
-                                        "i24168"
-                                        "i24167"
-                                        "i24166"
-                                        "i24164"
-                                        "i24162"
-                                        "i24161"
-                                        "i24158"
-                                        "i24157"
-                                        "i24155"
-                                        "i24153"
-                                        "i24151"
-                                        "i24149"
-                                        "i24147"
-                                        "i24145"
-                                        "i24143"
-                                        "i24141"
-                                        "i24139"
-                                        "i24136"
-                                        "i24134"
-                                        "i24132"
-                                        "i24130"
-                                        "i24128"
-                                        "i24126"
-                                        "i24124"
-                                        "i24122"
-                                        "i24120"
-                                        "i24118"
-                                        "i24116"
-                                        "i24114"
-                                        "i24112"
-                                        "i24110"
-                                        "i24108"
-                                        "i24106"
-                                        "i24104"
-                                        "i24102"
-                                        "i24100"
-                                        "i24098"
-                                        "i24096"
-                                        "i24094"
-                                        "i24092"
-                                        "i24090"
-                                        "i24089"
-                                        "i24086"
-                                        "i24084"
-                                        "i24083"
-                                        "i24082"
-                                        "i24081"
-                                        "i24080"
-                                        "i24078"
-                                        "i24076"
-                                        "i24074"
-                                        "i24071"
-                                        "i24069"
-                                        "i24067"
-                                        "i24065"
-                                        "i24063"
-                                        "i24061"
-                                        "i24059"
-                                        "i24057"
-                                        "i24055"
-                                        "i24053"
-                                        "i24051"
-                                        "i24049"
-                                        "i24047"
-                                        "i24045"
-                                        "i24043"
-                                        "i24041"
-                                        "i24039"
-                                        "i24037"
-                                        "i24035"))
-                                     #(ribcage
-                                       (define-structure
-                                         define-expansion-accessors
-                                         define-expansion-constructors)
-                                       ((top) (top) (top))
-                                       ("i23873" "i23872" "i23871"))
-                                     #(ribcage () () ()))
-                                    (hygiene guile)))
-                             (#{expand 28271}#
-                               #{exp 38166}#
-                               #{r 38136}#
-                               '(())
-                               #{mod 38137}#)
-                             (let ((#{labels 38275}#
-                                     (list (symbol->string (gensym "i"))))
-                                   (#{var 38276}#
-                                     (let ((#{id 38314}#
-                                             (if (if (vector? #{pat 38165}#)
+                                        #(ribcage
+                                          #(mod exp)
+                                          #((top) (top))
+                                          #("l-*-3826" "l-*-3827"))
+                                        #(ribcage
+                                          (remodulate)
+                                          ((top))
+                                          ("l-*-3793"))
+                                        #(ribcage
+                                          #(e r w)
+                                          #((top) (top) (top))
+                                          #("l-*-3790" "l-*-3791" "l-*-3792"))
+                                        #(ribcage
+                                          (lambda-var-list
+                                            gen-var
+                                            strip
+                                            expand-lambda-case
+                                            lambda*-formals
+                                            expand-simple-lambda
+                                            lambda-formals
+                                            ellipsis?
+                                            expand-void
+                                            eval-local-transformer
+                                            expand-local-syntax
+                                            expand-body
+                                            expand-macro
+                                            expand-call
+                                            expand-expr
+                                            expand
+                                            syntax-type
+                                            parse-when-list
+                                            expand-install-global
+                                            expand-top-sequence
+                                            expand-sequence
+                                            source-wrap
+                                            wrap
+                                            bound-id-member?
+                                            distinct-bound-ids?
+                                            valid-bound-ids?
+                                            bound-id=?
+                                            free-id=?
+                                            with-transformer-environment
+                                            transformer-environment
+                                            resolve-identifier
+                                            locally-bound-identifiers
+                                            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
+                                            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
+                                            session-id
+                                            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)
+                                           (top)
+                                           (top)
+                                           (top))
+                                          ("l-*-478"
+                                           "l-*-476"
+                                           "l-*-474"
+                                           "l-*-472"
+                                           "l-*-470"
+                                           "l-*-468"
+                                           "l-*-466"
+                                           "l-*-464"
+                                           "l-*-462"
+                                           "l-*-460"
+                                           "l-*-458"
+                                           "l-*-456"
+                                           "l-*-454"
+                                           "l-*-452"
+                                           "l-*-450"
+                                           "l-*-448"
+                                           "l-*-446"
+                                           "l-*-444"
+                                           "l-*-442"
+                                           "l-*-440"
+                                           "l-*-438"
+                                           "l-*-436"
+                                           "l-*-434"
+                                           "l-*-432"
+                                           "l-*-430"
+                                           "l-*-428"
+                                           "l-*-426"
+                                           "l-*-424"
+                                           "l-*-422"
+                                           "l-*-420"
+                                           "l-*-418"
+                                           "l-*-416"
+                                           "l-*-414"
+                                           "l-*-412"
+                                           "l-*-410"
+                                           "l-*-408"
+                                           "l-*-406"
+                                           "l-*-404"
+                                           "l-*-402"
+                                           "l-*-401"
+                                           "l-*-399"
+                                           "l-*-396"
+                                           "l-*-395"
+                                           "l-*-394"
+                                           "l-*-392"
+                                           "l-*-391"
+                                           "l-*-389"
+                                           "l-*-387"
+                                           "l-*-385"
+                                           "l-*-383"
+                                           "l-*-381"
+                                           "l-*-379"
+                                           "l-*-377"
+                                           "l-*-375"
+                                           "l-*-372"
+                                           "l-*-370"
+                                           "l-*-369"
+                                           "l-*-367"
+                                           "l-*-365"
+                                           "l-*-363"
+                                           "l-*-361"
+                                           "l-*-360"
+                                           "l-*-359"
+                                           "l-*-358"
+                                           "l-*-356"
+                                           "l-*-355"
+                                           "l-*-352"
+                                           "l-*-350"
+                                           "l-*-348"
+                                           "l-*-346"
+                                           "l-*-344"
+                                           "l-*-342"
+                                           "l-*-341"
+                                           "l-*-340"
+                                           "l-*-338"
+                                           "l-*-336"
+                                           "l-*-335"
+                                           "l-*-332"
+                                           "l-*-331"
+                                           "l-*-329"
+                                           "l-*-327"
+                                           "l-*-325"
+                                           "l-*-323"
+                                           "l-*-321"
+                                           "l-*-319"
+                                           "l-*-317"
+                                           "l-*-315"
+                                           "l-*-313"
+                                           "l-*-310"
+                                           "l-*-308"
+                                           "l-*-306"
+                                           "l-*-304"
+                                           "l-*-302"
+                                           "l-*-300"
+                                           "l-*-298"
+                                           "l-*-296"
+                                           "l-*-294"
+                                           "l-*-292"
+                                           "l-*-290"
+                                           "l-*-288"
+                                           "l-*-286"
+                                           "l-*-284"
+                                           "l-*-282"
+                                           "l-*-280"
+                                           "l-*-278"
+                                           "l-*-276"
+                                           "l-*-274"
+                                           "l-*-272"
+                                           "l-*-270"
+                                           "l-*-268"
+                                           "l-*-266"
+                                           "l-*-264"
+                                           "l-*-262"
+                                           "l-*-260"
+                                           "l-*-258"
+                                           "l-*-257"
+                                           "l-*-256"
+                                           "l-*-255"
+                                           "l-*-254"
+                                           "l-*-252"
+                                           "l-*-250"
+                                           "l-*-248"
+                                           "l-*-245"
+                                           "l-*-243"
+                                           "l-*-241"
+                                           "l-*-239"
+                                           "l-*-237"
+                                           "l-*-235"
+                                           "l-*-233"
+                                           "l-*-231"
+                                           "l-*-229"
+                                           "l-*-227"
+                                           "l-*-225"
+                                           "l-*-223"
+                                           "l-*-221"
+                                           "l-*-219"
+                                           "l-*-217"
+                                           "l-*-215"
+                                           "l-*-213"
+                                           "l-*-211"
+                                           "l-*-209"))
+                                        #(ribcage
+                                          (define-structure
+                                            define-expansion-accessors
+                                            define-expansion-constructors)
+                                          ((top) (top) (top))
+                                          ("l-*-47" "l-*-46" "l-*-45"))
+                                        #(ribcage () () ()))
+                                       (hygiene guile))
+                                    mod-11903))))
+                      (values
+                        (remodulate-11880 exp-11904 mod-11905)
+                        r-11878
+                        w-11879
+                        (source-annotation-4544 exp-11904)
+                        mod-11905)))
+                  tmp-11882)
+                (syntax-violation
+                  #f
+                  "source expression failed to match any pattern"
+                  e-11877))))))
+      (global-extend-4548
+        'core
+        'if
+        (lambda (e-12288 r-12289 w-12290 s-12291 mod-12292)
+          (let ((tmp-12294 ($sc-dispatch e-12288 '(_ any any))))
+            (if tmp-12294
+              (@apply
+                (lambda (test-12298 then-12299)
+                  (build-conditional-4518
+                    s-12291
+                    (expand-4586
+                      test-12298
+                      r-12289
+                      w-12290
+                      mod-12292)
+                    (expand-4586
+                      then-12299
+                      r-12289
+                      w-12290
+                      mod-12292)
+                    (make-struct/no-tail
+                      (vector-ref %expanded-vtables 0)
+                      #f)))
+                tmp-12294)
+              (let ((tmp-12548
+                      ($sc-dispatch e-12288 '(_ any any any))))
+                (if tmp-12548
+                  (@apply
+                    (lambda (test-12552 then-12553 else-12554)
+                      (build-conditional-4518
+                        s-12291
+                        (expand-4586
+                          test-12552
+                          r-12289
+                          w-12290
+                          mod-12292)
+                        (expand-4586
+                          then-12553
+                          r-12289
+                          w-12290
+                          mod-12292)
+                        (expand-4586
+                          else-12554
+                          r-12289
+                          w-12290
+                          mod-12292)))
+                    tmp-12548)
+                  (syntax-violation
+                    #f
+                    "source expression failed to match any pattern"
+                    e-12288)))))))
+      (global-extend-4548
+        'core
+        'with-fluids
+        (lambda (e-12993 r-12994 w-12995 s-12996 mod-12997)
+          (let ((tmp-12999
+                  ($sc-dispatch
+                    e-12993
+                    '(_ #(each (any any)) any . each-any))))
+            (if tmp-12999
+              (@apply
+                (lambda (fluid-13003 val-13004 b-13005 b*-13006)
+                  (build-dynlet-4519
+                    s-12996
+                    (map (lambda (x-13095)
+                           (expand-4586 x-13095 r-12994 w-12995 mod-12997))
+                         fluid-13003)
+                    (map (lambda (x-13173)
+                           (expand-4586 x-13173 r-12994 w-12995 mod-12997))
+                         val-13004)
+                    (expand-body-4590
+                      (cons b-13005 b*-13006)
+                      (let ((x-13262
+                              (begin
+                                (if (if (pair? e-12993) s-12996 #f)
+                                  (set-source-properties! e-12993 s-12996))
+                                e-12993)))
+                        (if (if (null? (car w-12995))
+                              (null? (cdr w-12995))
+                              #f)
+                          x-13262
+                          (if (if (vector? x-13262)
+                                (if (= (vector-length x-13262) 4)
+                                  (eq? (vector-ref x-13262 0) 'syntax-object)
+                                  #f)
+                                #f)
+                            (let ((expression-13294 (vector-ref x-13262 1))
+                                  (wrap-13295
+                                    (let ((w2-13303 (vector-ref x-13262 2)))
+                                      (let ((m1-13304 (car w-12995))
+                                            (s1-13305 (cdr w-12995)))
+                                        (if (null? m1-13304)
+                                          (if (null? s1-13305)
+                                            w2-13303
+                                            (cons (car w2-13303)
+                                                  (let ((m2-13320
+                                                          (cdr w2-13303)))
+                                                    (if (null? m2-13320)
+                                                      s1-13305
+                                                      (append
+                                                        s1-13305
+                                                        m2-13320)))))
+                                          (cons (let ((m2-13328
+                                                        (car w2-13303)))
+                                                  (if (null? m2-13328)
+                                                    m1-13304
+                                                    (append
+                                                      m1-13304
+                                                      m2-13328)))
+                                                (let ((m2-13336
+                                                        (cdr w2-13303)))
+                                                  (if (null? m2-13336)
+                                                    s1-13305
+                                                    (append
+                                                      s1-13305
+                                                      m2-13336))))))))
+                                  (module-13296 (vector-ref x-13262 3)))
+                              (vector
+                                'syntax-object
+                                expression-13294
+                                wrap-13295
+                                module-13296))
+                            (if (null? x-13262)
+                              x-13262
+                              (vector
+                                'syntax-object
+                                x-13262
+                                w-12995
+                                mod-12997)))))
+                      r-12994
+                      w-12995
+                      mod-12997)))
+                tmp-12999)
+              (syntax-violation
+                #f
+                "source expression failed to match any pattern"
+                e-12993)))))
+      (module-define!
+        (current-module)
+        'begin
+        (make-syntax-transformer 'begin 'begin '()))
+      (module-define!
+        (current-module)
+        'define
+        (make-syntax-transformer 'define 'define '()))
+      (module-define!
+        (current-module)
+        'define-syntax
+        (make-syntax-transformer
+          'define-syntax
+          'define-syntax
+          '()))
+      (module-define!
+        (current-module)
+        'define-syntax-parameter
+        (make-syntax-transformer
+          'define-syntax-parameter
+          'define-syntax-parameter
+          '()))
+      (module-define!
+        (current-module)
+        'eval-when
+        (make-syntax-transformer
+          'eval-when
+          'eval-when
+          '()))
+      (global-extend-4548
+        'core
+        'syntax-case
+        (letrec*
+          ((convert-pattern-13636
+             (lambda (pattern-15258 keys-15259)
+               (letrec*
+                 ((cvt*-15260
+                    (lambda (p*-16059 n-16060 ids-16061)
+                      (if (not (pair? p*-16059))
+                        (cvt-15262 p*-16059 n-16060 ids-16061)
+                        (call-with-values
+                          (lambda ()
+                            (cvt*-15260 (cdr p*-16059) n-16060 ids-16061))
+                          (lambda (y-16064 ids-16065)
+                            (call-with-values
+                              (lambda ()
+                                (cvt-15262 (car p*-16059) n-16060 ids-16065))
+                              (lambda (x-16068 ids-16069)
+                                (values
+                                  (cons x-16068 y-16064)
+                                  ids-16069))))))))
+                  (v-reverse-15261
+                    (lambda (x-16070)
+                      (letrec*
+                        ((loop-16071
+                           (lambda (r-16172 x-16173)
+                             (if (not (pair? x-16173))
+                               (values r-16172 x-16173)
+                               (loop-16071
+                                 (cons (car x-16173) r-16172)
+                                 (cdr x-16173))))))
+                        (loop-16071 '() x-16070))))
+                  (cvt-15262
+                    (lambda (p-15265 n-15266 ids-15267)
+                      (if (if (symbol? p-15265)
+                            #t
+                            (if (if (vector? p-15265)
+                                  (if (= (vector-length p-15265) 4)
+                                    (eq? (vector-ref p-15265 0) 'syntax-object)
+                                    #f)
+                                  #f)
+                              (symbol? (vector-ref p-15265 1))
+                              #f))
+                        (if (bound-id-member?-4578 p-15265 keys-15259)
+                          (values (vector 'free-id p-15265) ids-15267)
+                          (if (free-id=?-4574
+                                p-15265
+                                '#(syntax-object
+                                   _
+                                   ((top)
+                                    #(ribcage () () ())
+                                    #(ribcage
+                                      #(p n ids)
+                                      #((top) (top) (top))
+                                      #("l-*-3927" "l-*-3928" "l-*-3929"))
+                                    #(ribcage
+                                      (cvt v-reverse cvt*)
+                                      ((top) (top) (top))
+                                      ("l-*-3900" "l-*-3898" "l-*-3896"))
+                                    #(ribcage
+                                      #(pattern keys)
+                                      #((top) (top))
+                                      #("l-*-3894" "l-*-3895"))
+                                    #(ribcage
+                                      (gen-syntax-case
+                                        gen-clause
+                                        build-dispatch-call
+                                        convert-pattern)
+                                      ((top) (top) (top) (top))
+                                      ("l-*-3890"
+                                       "l-*-3888"
+                                       "l-*-3886"
+                                       "l-*-3884"))
+                                    #(ribcage
+                                      (lambda-var-list
+                                        gen-var
+                                        strip
+                                        expand-lambda-case
+                                        lambda*-formals
+                                        expand-simple-lambda
+                                        lambda-formals
+                                        ellipsis?
+                                        expand-void
+                                        eval-local-transformer
+                                        expand-local-syntax
+                                        expand-body
+                                        expand-macro
+                                        expand-call
+                                        expand-expr
+                                        expand
+                                        syntax-type
+                                        parse-when-list
+                                        expand-install-global
+                                        expand-top-sequence
+                                        expand-sequence
+                                        source-wrap
+                                        wrap
+                                        bound-id-member?
+                                        distinct-bound-ids?
+                                        valid-bound-ids?
+                                        bound-id=?
+                                        free-id=?
+                                        with-transformer-environment
+                                        transformer-environment
+                                        resolve-identifier
+                                        locally-bound-identifiers
+                                        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
+                                        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
+                                        session-id
+                                        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)
+                                       (top)
+                                       (top)
+                                       (top))
+                                      ("l-*-478"
+                                       "l-*-476"
+                                       "l-*-474"
+                                       "l-*-472"
+                                       "l-*-470"
+                                       "l-*-468"
+                                       "l-*-466"
+                                       "l-*-464"
+                                       "l-*-462"
+                                       "l-*-460"
+                                       "l-*-458"
+                                       "l-*-456"
+                                       "l-*-454"
+                                       "l-*-452"
+                                       "l-*-450"
+                                       "l-*-448"
+                                       "l-*-446"
+                                       "l-*-444"
+                                       "l-*-442"
+                                       "l-*-440"
+                                       "l-*-438"
+                                       "l-*-436"
+                                       "l-*-434"
+                                       "l-*-432"
+                                       "l-*-430"
+                                       "l-*-428"
+                                       "l-*-426"
+                                       "l-*-424"
+                                       "l-*-422"
+                                       "l-*-420"
+                                       "l-*-418"
+                                       "l-*-416"
+                                       "l-*-414"
+                                       "l-*-412"
+                                       "l-*-410"
+                                       "l-*-408"
+                                       "l-*-406"
+                                       "l-*-404"
+                                       "l-*-402"
+                                       "l-*-401"
+                                       "l-*-399"
+                                       "l-*-396"
+                                       "l-*-395"
+                                       "l-*-394"
+                                       "l-*-392"
+                                       "l-*-391"
+                                       "l-*-389"
+                                       "l-*-387"
+                                       "l-*-385"
+                                       "l-*-383"
+                                       "l-*-381"
+                                       "l-*-379"
+                                       "l-*-377"
+                                       "l-*-375"
+                                       "l-*-372"
+                                       "l-*-370"
+                                       "l-*-369"
+                                       "l-*-367"
+                                       "l-*-365"
+                                       "l-*-363"
+                                       "l-*-361"
+                                       "l-*-360"
+                                       "l-*-359"
+                                       "l-*-358"
+                                       "l-*-356"
+                                       "l-*-355"
+                                       "l-*-352"
+                                       "l-*-350"
+                                       "l-*-348"
+                                       "l-*-346"
+                                       "l-*-344"
+                                       "l-*-342"
+                                       "l-*-341"
+                                       "l-*-340"
+                                       "l-*-338"
+                                       "l-*-336"
+                                       "l-*-335"
+                                       "l-*-332"
+                                       "l-*-331"
+                                       "l-*-329"
+                                       "l-*-327"
+                                       "l-*-325"
+                                       "l-*-323"
+                                       "l-*-321"
+                                       "l-*-319"
+                                       "l-*-317"
+                                       "l-*-315"
+                                       "l-*-313"
+                                       "l-*-310"
+                                       "l-*-308"
+                                       "l-*-306"
+                                       "l-*-304"
+                                       "l-*-302"
+                                       "l-*-300"
+                                       "l-*-298"
+                                       "l-*-296"
+                                       "l-*-294"
+                                       "l-*-292"
+                                       "l-*-290"
+                                       "l-*-288"
+                                       "l-*-286"
+                                       "l-*-284"
+                                       "l-*-282"
+                                       "l-*-280"
+                                       "l-*-278"
+                                       "l-*-276"
+                                       "l-*-274"
+                                       "l-*-272"
+                                       "l-*-270"
+                                       "l-*-268"
+                                       "l-*-266"
+                                       "l-*-264"
+                                       "l-*-262"
+                                       "l-*-260"
+                                       "l-*-258"
+                                       "l-*-257"
+                                       "l-*-256"
+                                       "l-*-255"
+                                       "l-*-254"
+                                       "l-*-252"
+                                       "l-*-250"
+                                       "l-*-248"
+                                       "l-*-245"
+                                       "l-*-243"
+                                       "l-*-241"
+                                       "l-*-239"
+                                       "l-*-237"
+                                       "l-*-235"
+                                       "l-*-233"
+                                       "l-*-231"
+                                       "l-*-229"
+                                       "l-*-227"
+                                       "l-*-225"
+                                       "l-*-223"
+                                       "l-*-221"
+                                       "l-*-219"
+                                       "l-*-217"
+                                       "l-*-215"
+                                       "l-*-213"
+                                       "l-*-211"
+                                       "l-*-209"))
+                                    #(ribcage
+                                      (define-structure
+                                        define-expansion-accessors
+                                        define-expansion-constructors)
+                                      ((top) (top) (top))
+                                      ("l-*-47" "l-*-46" "l-*-45"))
+                                    #(ribcage () () ()))
+                                   (hygiene guile)))
+                            (values '_ ids-15267)
+                            (values
+                              'any
+                              (cons (cons p-15265 n-15266) ids-15267))))
+                        (let ((tmp-15399 ($sc-dispatch p-15265 '(any any))))
+                          (if (if tmp-15399
+                                (@apply
+                                  (lambda (x-15403 dots-15404)
+                                    (if (if (if (vector? dots-15404)
+                                              (if (= (vector-length dots-15404)
+                                                     4)
+                                                (eq? (vector-ref dots-15404 0)
+                                                     'syntax-object)
+                                                #f)
+                                              #f)
+                                          (symbol? (vector-ref dots-15404 1))
+                                          #f)
+                                      (free-id=?-4574
+                                        dots-15404
+                                        '#(syntax-object
+                                           ...
+                                           ((top)
+                                            #(ribcage () () ())
+                                            #(ribcage () () ())
+                                            #(ribcage
+                                              #(x)
+                                              #((top))
+                                              #("l-*-2416"))
+                                            #(ribcage
+                                              (lambda-var-list
+                                                gen-var
+                                                strip
+                                                expand-lambda-case
+                                                lambda*-formals
+                                                expand-simple-lambda
+                                                lambda-formals
+                                                ellipsis?
+                                                expand-void
+                                                eval-local-transformer
+                                                expand-local-syntax
+                                                expand-body
+                                                expand-macro
+                                                expand-call
+                                                expand-expr
+                                                expand
+                                                syntax-type
+                                                parse-when-list
+                                                expand-install-global
+                                                expand-top-sequence
+                                                expand-sequence
+                                                source-wrap
+                                                wrap
+                                                bound-id-member?
+                                                distinct-bound-ids?
+                                                valid-bound-ids?
+                                                bound-id=?
+                                                free-id=?
+                                                with-transformer-environment
+                                                transformer-environment
+                                                resolve-identifier
+                                                locally-bound-identifiers
+                                                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
+                                                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
+                                                session-id
+                                                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)
+                                               (top)
+                                               (top)
+                                               (top))
+                                              ("l-*-478"
+                                               "l-*-476"
+                                               "l-*-474"
+                                               "l-*-472"
+                                               "l-*-470"
+                                               "l-*-468"
+                                               "l-*-466"
+                                               "l-*-464"
+                                               "l-*-462"
+                                               "l-*-460"
+                                               "l-*-458"
+                                               "l-*-456"
+                                               "l-*-454"
+                                               "l-*-452"
+                                               "l-*-450"
+                                               "l-*-448"
+                                               "l-*-446"
+                                               "l-*-444"
+                                               "l-*-442"
+                                               "l-*-440"
+                                               "l-*-438"
+                                               "l-*-436"
+                                               "l-*-434"
+                                               "l-*-432"
+                                               "l-*-430"
+                                               "l-*-428"
+                                               "l-*-426"
+                                               "l-*-424"
+                                               "l-*-422"
+                                               "l-*-420"
+                                               "l-*-418"
+                                               "l-*-416"
+                                               "l-*-414"
+                                               "l-*-412"
+                                               "l-*-410"
+                                               "l-*-408"
+                                               "l-*-406"
+                                               "l-*-404"
+                                               "l-*-402"
+                                               "l-*-401"
+                                               "l-*-399"
+                                               "l-*-396"
+                                               "l-*-395"
+                                               "l-*-394"
+                                               "l-*-392"
+                                               "l-*-391"
+                                               "l-*-389"
+                                               "l-*-387"
+                                               "l-*-385"
+                                               "l-*-383"
+                                               "l-*-381"
+                                               "l-*-379"
+                                               "l-*-377"
+                                               "l-*-375"
+                                               "l-*-372"
+                                               "l-*-370"
+                                               "l-*-369"
+                                               "l-*-367"
+                                               "l-*-365"
+                                               "l-*-363"
+                                               "l-*-361"
+                                               "l-*-360"
+                                               "l-*-359"
+                                               "l-*-358"
+                                               "l-*-356"
+                                               "l-*-355"
+                                               "l-*-352"
+                                               "l-*-350"
+                                               "l-*-348"
+                                               "l-*-346"
+                                               "l-*-344"
+                                               "l-*-342"
+                                               "l-*-341"
+                                               "l-*-340"
+                                               "l-*-338"
+                                               "l-*-336"
+                                               "l-*-335"
+                                               "l-*-332"
+                                               "l-*-331"
+                                               "l-*-329"
+                                               "l-*-327"
+                                               "l-*-325"
+                                               "l-*-323"
+                                               "l-*-321"
+                                               "l-*-319"
+                                               "l-*-317"
+                                               "l-*-315"
+                                               "l-*-313"
+                                               "l-*-310"
+                                               "l-*-308"
+                                               "l-*-306"
+                                               "l-*-304"
+                                               "l-*-302"
+                                               "l-*-300"
+                                               "l-*-298"
+                                               "l-*-296"
+                                               "l-*-294"
+                                               "l-*-292"
+                                               "l-*-290"
+                                               "l-*-288"
+                                               "l-*-286"
+                                               "l-*-284"
+                                               "l-*-282"
+                                               "l-*-280"
+                                               "l-*-278"
+                                               "l-*-276"
+                                               "l-*-274"
+                                               "l-*-272"
+                                               "l-*-270"
+                                               "l-*-268"
+                                               "l-*-266"
+                                               "l-*-264"
+                                               "l-*-262"
+                                               "l-*-260"
+                                               "l-*-258"
+                                               "l-*-257"
+                                               "l-*-256"
+                                               "l-*-255"
+                                               "l-*-254"
+                                               "l-*-252"
+                                               "l-*-250"
+                                               "l-*-248"
+                                               "l-*-245"
+                                               "l-*-243"
+                                               "l-*-241"
+                                               "l-*-239"
+                                               "l-*-237"
+                                               "l-*-235"
+                                               "l-*-233"
+                                               "l-*-231"
+                                               "l-*-229"
+                                               "l-*-227"
+                                               "l-*-225"
+                                               "l-*-223"
+                                               "l-*-221"
+                                               "l-*-219"
+                                               "l-*-217"
+                                               "l-*-215"
+                                               "l-*-213"
+                                               "l-*-211"
+                                               "l-*-209"))
+                                            #(ribcage
+                                              (define-structure
+                                                define-expansion-accessors
+                                                define-expansion-constructors)
+                                              ((top) (top) (top))
+                                              ("l-*-47" "l-*-46" "l-*-45"))
+                                            #(ribcage () () ()))
+                                           (hygiene guile)))
+                                      #f))
+                                  tmp-15399)
+                                #f)
+                            (@apply
+                              (lambda (x-15443 dots-15444)
+                                (call-with-values
+                                  (lambda ()
+                                    (cvt-15262
+                                      x-15443
+                                      (#{1+}# n-15266)
+                                      ids-15267))
+                                  (lambda (p-15445 ids-15446)
+                                    (values
+                                      (if (eq? p-15445 'any)
+                                        'each-any
+                                        (vector 'each p-15445))
+                                      ids-15446))))
+                              tmp-15399)
+                            (let ((tmp-15447
+                                    ($sc-dispatch p-15265 '(any any . any))))
+                              (if (if tmp-15447
+                                    (@apply
+                                      (lambda (x-15451 dots-15452 ys-15453)
+                                        (if (if (if (vector? dots-15452)
+                                                  (if (= (vector-length
+                                                           dots-15452)
+                                                         4)
+                                                    (eq? (vector-ref
+                                                           dots-15452
+                                                           0)
+                                                         'syntax-object)
+                                                    #f)
+                                                  #f)
+                                              (symbol?
+                                                (vector-ref dots-15452 1))
+                                              #f)
+                                          (free-id=?-4574
+                                            dots-15452
+                                            '#(syntax-object
+                                               ...
+                                               ((top)
+                                                #(ribcage () () ())
+                                                #(ribcage () () ())
+                                                #(ribcage
+                                                  #(x)
+                                                  #((top))
+                                                  #("l-*-2416"))
+                                                #(ribcage
+                                                  (lambda-var-list
+                                                    gen-var
+                                                    strip
+                                                    expand-lambda-case
+                                                    lambda*-formals
+                                                    expand-simple-lambda
+                                                    lambda-formals
+                                                    ellipsis?
+                                                    expand-void
+                                                    eval-local-transformer
+                                                    expand-local-syntax
+                                                    expand-body
+                                                    expand-macro
+                                                    expand-call
+                                                    expand-expr
+                                                    expand
+                                                    syntax-type
+                                                    parse-when-list
+                                                    expand-install-global
+                                                    expand-top-sequence
+                                                    expand-sequence
+                                                    source-wrap
+                                                    wrap
+                                                    bound-id-member?
+                                                    distinct-bound-ids?
+                                                    valid-bound-ids?
+                                                    bound-id=?
+                                                    free-id=?
+                                                    
with-transformer-environment
+                                                    transformer-environment
+                                                    resolve-identifier
+                                                    locally-bound-identifiers
+                                                    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
+                                                    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
+                                                    session-id
+                                                    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)
+                                                   (top)
+                                                   (top)
+                                                   (top))
+                                                  ("l-*-478"
+                                                   "l-*-476"
+                                                   "l-*-474"
+                                                   "l-*-472"
+                                                   "l-*-470"
+                                                   "l-*-468"
+                                                   "l-*-466"
+                                                   "l-*-464"
+                                                   "l-*-462"
+                                                   "l-*-460"
+                                                   "l-*-458"
+                                                   "l-*-456"
+                                                   "l-*-454"
+                                                   "l-*-452"
+                                                   "l-*-450"
+                                                   "l-*-448"
+                                                   "l-*-446"
+                                                   "l-*-444"
+                                                   "l-*-442"
+                                                   "l-*-440"
+                                                   "l-*-438"
+                                                   "l-*-436"
+                                                   "l-*-434"
+                                                   "l-*-432"
+                                                   "l-*-430"
+                                                   "l-*-428"
+                                                   "l-*-426"
+                                                   "l-*-424"
+                                                   "l-*-422"
+                                                   "l-*-420"
+                                                   "l-*-418"
+                                                   "l-*-416"
+                                                   "l-*-414"
+                                                   "l-*-412"
+                                                   "l-*-410"
+                                                   "l-*-408"
+                                                   "l-*-406"
+                                                   "l-*-404"
+                                                   "l-*-402"
+                                                   "l-*-401"
+                                                   "l-*-399"
+                                                   "l-*-396"
+                                                   "l-*-395"
+                                                   "l-*-394"
+                                                   "l-*-392"
+                                                   "l-*-391"
+                                                   "l-*-389"
+                                                   "l-*-387"
+                                                   "l-*-385"
+                                                   "l-*-383"
+                                                   "l-*-381"
+                                                   "l-*-379"
+                                                   "l-*-377"
+                                                   "l-*-375"
+                                                   "l-*-372"
+                                                   "l-*-370"
+                                                   "l-*-369"
+                                                   "l-*-367"
+                                                   "l-*-365"
+                                                   "l-*-363"
+                                                   "l-*-361"
+                                                   "l-*-360"
+                                                   "l-*-359"
+                                                   "l-*-358"
+                                                   "l-*-356"
+                                                   "l-*-355"
+                                                   "l-*-352"
+                                                   "l-*-350"
+                                                   "l-*-348"
+                                                   "l-*-346"
+                                                   "l-*-344"
+                                                   "l-*-342"
+                                                   "l-*-341"
+                                                   "l-*-340"
+                                                   "l-*-338"
+                                                   "l-*-336"
+                                                   "l-*-335"
+                                                   "l-*-332"
+                                                   "l-*-331"
+                                                   "l-*-329"
+                                                   "l-*-327"
+                                                   "l-*-325"
+                                                   "l-*-323"
+                                                   "l-*-321"
+                                                   "l-*-319"
+                                                   "l-*-317"
+                                                   "l-*-315"
+                                                   "l-*-313"
+                                                   "l-*-310"
+                                                   "l-*-308"
+                                                   "l-*-306"
+                                                   "l-*-304"
+                                                   "l-*-302"
+                                                   "l-*-300"
+                                                   "l-*-298"
+                                                   "l-*-296"
+                                                   "l-*-294"
+                                                   "l-*-292"
+                                                   "l-*-290"
+                                                   "l-*-288"
+                                                   "l-*-286"
+                                                   "l-*-284"
+                                                   "l-*-282"
+                                                   "l-*-280"
+                                                   "l-*-278"
+                                                   "l-*-276"
+                                                   "l-*-274"
+                                                   "l-*-272"
+                                                   "l-*-270"
+                                                   "l-*-268"
+                                                   "l-*-266"
+                                                   "l-*-264"
+                                                   "l-*-262"
+                                                   "l-*-260"
+                                                   "l-*-258"
+                                                   "l-*-257"
+                                                   "l-*-256"
+                                                   "l-*-255"
+                                                   "l-*-254"
+                                                   "l-*-252"
+                                                   "l-*-250"
+                                                   "l-*-248"
+                                                   "l-*-245"
+                                                   "l-*-243"
+                                                   "l-*-241"
+                                                   "l-*-239"
+                                                   "l-*-237"
+                                                   "l-*-235"
+                                                   "l-*-233"
+                                                   "l-*-231"
+                                                   "l-*-229"
+                                                   "l-*-227"
+                                                   "l-*-225"
+                                                   "l-*-223"
+                                                   "l-*-221"
+                                                   "l-*-219"
+                                                   "l-*-217"
+                                                   "l-*-215"
+                                                   "l-*-213"
+                                                   "l-*-211"
+                                                   "l-*-209"))
+                                                #(ribcage
+                                                  (define-structure
+                                                    define-expansion-accessors
+                                                    
define-expansion-constructors)
+                                                  ((top) (top) (top))
+                                                  ("l-*-47" "l-*-46" "l-*-45"))
+                                                #(ribcage () () ()))
+                                               (hygiene guile)))
+                                          #f))
+                                      tmp-15447)
+                                    #f)
+                                (@apply
+                                  (lambda (x-15492 dots-15493 ys-15494)
+                                    (call-with-values
+                                      (lambda ()
+                                        (cvt*-15260
+                                          ys-15494
+                                          n-15266
+                                          ids-15267))
+                                      (lambda (ys-15979 ids-15980)
+                                        (call-with-values
+                                          (lambda ()
+                                            (cvt-15262
+                                              x-15492
+                                              (#{1+}# n-15266)
+                                              ids-15980))
+                                          (lambda (x-15981 ids-15982)
+                                            (call-with-values
+                                              (lambda ()
+                                                (v-reverse-15261 ys-15979))
+                                              (lambda (ys-16018 e-16019)
+                                                (values
+                                                  (vector
+                                                    'each+
+                                                    x-15981
+                                                    ys-16018
+                                                    e-16019)
+                                                  ids-15982))))))))
+                                  tmp-15447)
+                                (let ((tmp-16020
+                                        ($sc-dispatch p-15265 '(any . any))))
+                                  (if tmp-16020
+                                    (@apply
+                                      (lambda (x-16024 y-16025)
+                                        (call-with-values
+                                          (lambda ()
+                                            (cvt-15262
+                                              y-16025
+                                              n-15266
+                                              ids-15267))
+                                          (lambda (y-16026 ids-16027)
+                                            (call-with-values
+                                              (lambda ()
+                                                (cvt-15262
+                                                  x-16024
+                                                  n-15266
+                                                  ids-16027))
+                                              (lambda (x-16028 ids-16029)
+                                                (values
+                                                  (cons x-16028 y-16026)
+                                                  ids-16029))))))
+                                      tmp-16020)
+                                    (let ((tmp-16030
+                                            ($sc-dispatch p-15265 '())))
+                                      (if tmp-16030
+                                        (@apply
+                                          (lambda () (values '() ids-15267))
+                                          tmp-16030)
+                                        (let ((tmp-16034
+                                                ($sc-dispatch
+                                                  p-15265
+                                                  '#(vector each-any))))
+                                          (if tmp-16034
+                                            (@apply
+                                              (lambda (x-16038)
+                                                (call-with-values
+                                                  (lambda ()
+                                                    (cvt-15262
+                                                      x-16038
+                                                      n-15266
+                                                      ids-15267))
+                                                  (lambda (p-16039 ids-16040)
+                                                    (values
+                                                      (vector 'vector p-16039)
+                                                      ids-16040))))
+                                              tmp-16034)
+                                            (values
+                                              (vector
+                                                'atom
+                                                (strip-4599 p-15265 '(())))
+                                              ids-15267)))))))))))))))
+                 (cvt-15262 pattern-15258 0 '()))))
+           (build-dispatch-call-13637
+             (lambda (pvars-16174 exp-16175 y-16176 r-16177 mod-16178)
+               (let ((ids-16179 (map car pvars-16174)))
+                 (begin
+                   (map cdr pvars-16174)
+                   (let ((labels-16181 (gen-labels-4553 ids-16179))
+                         (new-vars-16182 (map gen-var-4600 ids-16179)))
+                     (build-primcall-4529
+                       #f
+                       'apply
+                       (list (build-simple-lambda-4526
+                               #f
+                               (map syntax->datum ids-16179)
+                               #f
+                               new-vars-16182
+                               '()
+                               (expand-4586
+                                 exp-16175
+                                 (extend-env-4545
+                                   labels-16181
+                                   (map (lambda (var-16510 level-16511)
+                                          (cons 'syntax
+                                                (cons var-16510 level-16511)))
+                                        new-vars-16182
+                                        (map cdr pvars-16174))
+                                   r-16177)
+                                 (make-binding-wrap-4564
+                                   ids-16179
+                                   labels-16181
+                                   '(()))
+                                 mod-16178))
+                             y-16176)))))))
+           (gen-clause-13638
+             (lambda (x-14842
+                      keys-14843
+                      clauses-14844
+                      r-14845
+                      pat-14846
+                      fender-14847
+                      exp-14848
+                      mod-14849)
+               (call-with-values
+                 (lambda ()
+                   (convert-pattern-13636 pat-14846 keys-14843))
+                 (lambda (p-14987 pvars-14988)
+                   (if (not (distinct-bound-ids?-4577 (map car pvars-14988)))
+                     (syntax-violation
+                       'syntax-case
+                       "duplicate pattern variable"
+                       pat-14846)
+                     (if (not (and-map
+                                (lambda (x-15097)
+                                  (not (let ((x-15101 (car x-15097)))
+                                         (if (if (if (vector? x-15101)
                                                    (if (= (vector-length
-                                                            #{pat 38165}#)
+                                                            x-15101)
                                                           4)
                                                      (eq? (vector-ref
-                                                            #{pat 38165}#
+                                                            x-15101
                                                             0)
                                                           'syntax-object)
                                                      #f)
                                                    #f)
-                                               (vector-ref #{pat 38165}# 1)
-                                               #{pat 38165}#)))
-                                       (gensym
-                                         (string-append
-                                           (symbol->string #{id 38314}#)
-                                           " ")))))
-                               (#{build-call 28205}#
-                                 #f
-                                 (#{build-simple-lambda 28214}#
-                                   #f
-                                   (list (syntax->datum #{pat 38165}#))
-                                   #f
-                                   (list #{var 38276}#)
-                                   '()
-                                   (#{expand 28271}#
-                                     #{exp 38166}#
-                                     (#{extend-env 28233}#
-                                       #{labels 38275}#
-                                       (list (cons 'syntax
-                                                   (cons #{var 38276}# 0)))
-                                       #{r 38136}#)
-                                     (#{make-binding-wrap 28252}#
-                                       (list #{pat 38165}#)
-                                       #{labels 38275}#
-                                       '(()))
-                                     #{mod 38137}#))
-                                 (list #{x 38133}#))))
-                           (#{gen-clause 37428}#
-                             #{x 38133}#
-                             #{keys 38134}#
-                             (cdr #{clauses 38135}#)
-                             #{r 38136}#
-                             #{pat 38165}#
-                             #t
-                             #{exp 38166}#
-                             #{mod 38137}#)))
-                       #{tmp 38163}#)
-                     (let ((#{tmp 38624}#
-                             ($sc-dispatch #{tmp 38162}# '(any any any))))
-                       (if #{tmp 38624}#
-                         (@apply
-                           (lambda (#{pat 38626}#
-                                    #{fender 38627}#
-                                    #{exp 38628}#)
-                             (#{gen-clause 37428}#
-                               #{x 38133}#
-                               #{keys 38134}#
-                               (cdr #{clauses 38135}#)
-                               #{r 38136}#
-                               #{pat 38626}#
-                               #{fender 38627}#
-                               #{exp 38628}#
-                               #{mod 38137}#))
-                           #{tmp 38624}#)
-                         (syntax-violation
-                           'syntax-case
-                           "invalid clause"
-                           (car #{clauses 38135}#)))))))))))
-        (lambda (#{e 37430}#
-                 #{r 37431}#
-                 #{w 37432}#
-                 #{s 37433}#
-                 #{mod 37434}#)
-          (let ((#{e 37435}#
-                  (let ((#{x 38044}#
-                          (begin
-                            (if (if (pair? #{e 37430}#) #{s 37433}# #f)
-                              (set-source-properties! #{e 37430}# #{s 37433}#))
-                            #{e 37430}#)))
-                    (if (if (null? (car #{w 37432}#))
-                          (null? (cdr #{w 37432}#))
-                          #f)
-                      #{x 38044}#
-                      (if (if (vector? #{x 38044}#)
-                            (if (= (vector-length #{x 38044}#) 4)
-                              (eq? (vector-ref #{x 38044}# 0) 'syntax-object)
-                              #f)
-                            #f)
-                        (let ((#{expression 38076}# (vector-ref #{x 38044}# 1))
-                              (#{wrap 38077}#
-                                (let ((#{w2 38085}#
-                                        (vector-ref #{x 38044}# 2)))
-                                  (let ((#{m1 38086}# (car #{w 37432}#))
-                                        (#{s1 38087}# (cdr #{w 37432}#)))
-                                    (if (null? #{m1 38086}#)
-                                      (if (null? #{s1 38087}#)
-                                        #{w2 38085}#
-                                        (cons (car #{w2 38085}#)
-                                              (let ((#{m2 38102}#
-                                                      (cdr #{w2 38085}#)))
-                                                (if (null? #{m2 38102}#)
-                                                  #{s1 38087}#
-                                                  (append
-                                                    #{s1 38087}#
-                                                    #{m2 38102}#)))))
-                                      (cons (let ((#{m2 38110}#
-                                                    (car #{w2 38085}#)))
-                                              (if (null? #{m2 38110}#)
-                                                #{m1 38086}#
-                                                (append
-                                                  #{m1 38086}#
-                                                  #{m2 38110}#)))
-                                            (let ((#{m2 38118}#
-                                                    (cdr #{w2 38085}#)))
-                                              (if (null? #{m2 38118}#)
-                                                #{s1 38087}#
-                                                (append
-                                                  #{s1 38087}#
-                                                  #{m2 38118}#))))))))
-                              (#{module 38078}# (vector-ref #{x 38044}# 3)))
-                          (vector
-                            'syntax-object
-                            #{expression 38076}#
-                            #{wrap 38077}#
-                            #{module 38078}#))
-                        (if (null? #{x 38044}#)
-                          #{x 38044}#
-                          (vector
-                            'syntax-object
-                            #{x 38044}#
-                            #{w 37432}#
-                            #{mod 37434}#)))))))
-            (let ((#{tmp 37436}# #{e 37435}#))
-              (let ((#{tmp 37437}#
-                      ($sc-dispatch
-                        #{tmp 37436}#
-                        '(_ any each-any . each-any))))
-                (if #{tmp 37437}#
-                  (@apply
-                    (lambda (#{val 37485}# #{key 37486}# #{m 37487}#)
-                      (if (and-map
-                            (lambda (#{x 37488}#)
-                              (if (if (symbol? #{x 37488}#)
-                                    #t
-                                    (if (if (vector? #{x 37488}#)
-                                          (if (= (vector-length #{x 37488}#) 4)
-                                            (eq? (vector-ref #{x 37488}# 0)
-                                                 'syntax-object)
-                                            #f)
-                                          #f)
-                                      (symbol? (vector-ref #{x 37488}# 1))
-                                      #f))
-                                (not (if (if (if (vector? #{x 37488}#)
-                                               (if (= (vector-length
-                                                        #{x 37488}#)
-                                                      4)
-                                                 (eq? (vector-ref
-                                                        #{x 37488}#
-                                                        0)
-                                                      'syntax-object)
-                                                 #f)
+                                               (symbol? (vector-ref x-15101 1))
                                                #f)
-                                           (symbol? (vector-ref #{x 37488}# 1))
+                                           (free-id=?-4574
+                                             x-15101
+                                             '#(syntax-object
+                                                ...
+                                                ((top)
+                                                 #(ribcage () () ())
+                                                 #(ribcage () () ())
+                                                 #(ribcage
+                                                   #(x)
+                                                   #((top))
+                                                   #("l-*-2416"))
+                                                 #(ribcage
+                                                   (lambda-var-list
+                                                     gen-var
+                                                     strip
+                                                     expand-lambda-case
+                                                     lambda*-formals
+                                                     expand-simple-lambda
+                                                     lambda-formals
+                                                     ellipsis?
+                                                     expand-void
+                                                     eval-local-transformer
+                                                     expand-local-syntax
+                                                     expand-body
+                                                     expand-macro
+                                                     expand-call
+                                                     expand-expr
+                                                     expand
+                                                     syntax-type
+                                                     parse-when-list
+                                                     expand-install-global
+                                                     expand-top-sequence
+                                                     expand-sequence
+                                                     source-wrap
+                                                     wrap
+                                                     bound-id-member?
+                                                     distinct-bound-ids?
+                                                     valid-bound-ids?
+                                                     bound-id=?
+                                                     free-id=?
+                                                     
with-transformer-environment
+                                                     transformer-environment
+                                                     resolve-identifier
+                                                     locally-bound-identifiers
+                                                     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
+                                                     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
+                                                     session-id
+                                                     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)
+                                                    (top)
+                                                    (top)
+                                                    (top))
+                                                   ("l-*-478"
+                                                    "l-*-476"
+                                                    "l-*-474"
+                                                    "l-*-472"
+                                                    "l-*-470"
+                                                    "l-*-468"
+                                                    "l-*-466"
+                                                    "l-*-464"
+                                                    "l-*-462"
+                                                    "l-*-460"
+                                                    "l-*-458"
+                                                    "l-*-456"
+                                                    "l-*-454"
+                                                    "l-*-452"
+                                                    "l-*-450"
+                                                    "l-*-448"
+                                                    "l-*-446"
+                                                    "l-*-444"
+                                                    "l-*-442"
+                                                    "l-*-440"
+                                                    "l-*-438"
+                                                    "l-*-436"
+                                                    "l-*-434"
+                                                    "l-*-432"
+                                                    "l-*-430"
+                                                    "l-*-428"
+                                                    "l-*-426"
+                                                    "l-*-424"
+                                                    "l-*-422"
+                                                    "l-*-420"
+                                                    "l-*-418"
+                                                    "l-*-416"
+                                                    "l-*-414"
+                                                    "l-*-412"
+                                                    "l-*-410"
+                                                    "l-*-408"
+                                                    "l-*-406"
+                                                    "l-*-404"
+                                                    "l-*-402"
+                                                    "l-*-401"
+                                                    "l-*-399"
+                                                    "l-*-396"
+                                                    "l-*-395"
+                                                    "l-*-394"
+                                                    "l-*-392"
+                                                    "l-*-391"
+                                                    "l-*-389"
+                                                    "l-*-387"
+                                                    "l-*-385"
+                                                    "l-*-383"
+                                                    "l-*-381"
+                                                    "l-*-379"
+                                                    "l-*-377"
+                                                    "l-*-375"
+                                                    "l-*-372"
+                                                    "l-*-370"
+                                                    "l-*-369"
+                                                    "l-*-367"
+                                                    "l-*-365"
+                                                    "l-*-363"
+                                                    "l-*-361"
+                                                    "l-*-360"
+                                                    "l-*-359"
+                                                    "l-*-358"
+                                                    "l-*-356"
+                                                    "l-*-355"
+                                                    "l-*-352"
+                                                    "l-*-350"
+                                                    "l-*-348"
+                                                    "l-*-346"
+                                                    "l-*-344"
+                                                    "l-*-342"
+                                                    "l-*-341"
+                                                    "l-*-340"
+                                                    "l-*-338"
+                                                    "l-*-336"
+                                                    "l-*-335"
+                                                    "l-*-332"
+                                                    "l-*-331"
+                                                    "l-*-329"
+                                                    "l-*-327"
+                                                    "l-*-325"
+                                                    "l-*-323"
+                                                    "l-*-321"
+                                                    "l-*-319"
+                                                    "l-*-317"
+                                                    "l-*-315"
+                                                    "l-*-313"
+                                                    "l-*-310"
+                                                    "l-*-308"
+                                                    "l-*-306"
+                                                    "l-*-304"
+                                                    "l-*-302"
+                                                    "l-*-300"
+                                                    "l-*-298"
+                                                    "l-*-296"
+                                                    "l-*-294"
+                                                    "l-*-292"
+                                                    "l-*-290"
+                                                    "l-*-288"
+                                                    "l-*-286"
+                                                    "l-*-284"
+                                                    "l-*-282"
+                                                    "l-*-280"
+                                                    "l-*-278"
+                                                    "l-*-276"
+                                                    "l-*-274"
+                                                    "l-*-272"
+                                                    "l-*-270"
+                                                    "l-*-268"
+                                                    "l-*-266"
+                                                    "l-*-264"
+                                                    "l-*-262"
+                                                    "l-*-260"
+                                                    "l-*-258"
+                                                    "l-*-257"
+                                                    "l-*-256"
+                                                    "l-*-255"
+                                                    "l-*-254"
+                                                    "l-*-252"
+                                                    "l-*-250"
+                                                    "l-*-248"
+                                                    "l-*-245"
+                                                    "l-*-243"
+                                                    "l-*-241"
+                                                    "l-*-239"
+                                                    "l-*-237"
+                                                    "l-*-235"
+                                                    "l-*-233"
+                                                    "l-*-231"
+                                                    "l-*-229"
+                                                    "l-*-227"
+                                                    "l-*-225"
+                                                    "l-*-223"
+                                                    "l-*-221"
+                                                    "l-*-219"
+                                                    "l-*-217"
+                                                    "l-*-215"
+                                                    "l-*-213"
+                                                    "l-*-211"
+                                                    "l-*-209"))
+                                                 #(ribcage
+                                                   (define-structure
+                                                     define-expansion-accessors
+                                                     
define-expansion-constructors)
+                                                   ((top) (top) (top))
+                                                   ("l-*-47"
+                                                    "l-*-46"
+                                                    "l-*-45"))
+                                                 #(ribcage () () ()))
+                                                (hygiene guile)))
+                                           #f))))
+                                pvars-14988))
+                       (syntax-violation
+                         'syntax-case
+                         "misplaced ellipsis"
+                         pat-14846)
+                       (let ((y-15126
+                               (gensym
+                                 (string-append (symbol->string 'tmp) "-"))))
+                         (let ((fun-exp-15131
+                                 (let ((req-15140 (list 'tmp))
+                                       (vars-15142 (list y-15126))
+                                       (exp-15144
+                                         (let ((y-15173
+                                                 (make-struct/no-tail
+                                                   (vector-ref
+                                                     %expanded-vtables
+                                                     3)
+                                                   #f
+                                                   'tmp
+                                                   y-15126)))
+                                           (let ((test-exp-15177
+                                                   (let ((tmp-15186
+                                                           ($sc-dispatch
+                                                             fender-14847
+                                                             '#(atom #t))))
+                                                     (if tmp-15186
+                                                       (@apply
+                                                         (lambda () y-15173)
+                                                         tmp-15186)
+                                                       (let ((then-exp-15204
+                                                               
(build-dispatch-call-13637
+                                                                 pvars-14988
+                                                                 fender-14847
+                                                                 y-15173
+                                                                 r-14845
+                                                                 mod-14849))
+                                                             (else-exp-15205
+                                                               
(make-struct/no-tail
+                                                                 (vector-ref
+                                                                   
%expanded-vtables
+                                                                   1)
+                                                                 #f
+                                                                 #f)))
+                                                         (make-struct/no-tail
+                                                           (vector-ref
+                                                             %expanded-vtables
+                                                             10)
+                                                           #f
+                                                           y-15173
+                                                           then-exp-15204
+                                                           else-exp-15205)))))
+                                                 (then-exp-15178
+                                                   (build-dispatch-call-13637
+                                                     pvars-14988
+                                                     exp-14848
+                                                     y-15173
+                                                     r-14845
+                                                     mod-14849))
+                                                 (else-exp-15179
+                                                   (gen-syntax-case-13639
+                                                     x-14842
+                                                     keys-14843
+                                                     clauses-14844
+                                                     r-14845
+                                                     mod-14849)))
+                                             (make-struct/no-tail
+                                               (vector-ref
+                                                 %expanded-vtables
+                                                 10)
+                                               #f
+                                               test-exp-15177
+                                               then-exp-15178
+                                               else-exp-15179)))))
+                                   (let ((body-15149
+                                           (make-struct/no-tail
+                                             (vector-ref %expanded-vtables 15)
+                                             #f
+                                             req-15140
+                                             #f
+                                             #f
+                                             #f
+                                             '()
+                                             vars-15142
+                                             exp-15144
+                                             #f)))
+                                     (make-struct/no-tail
+                                       (vector-ref %expanded-vtables 14)
+                                       #f
+                                       '()
+                                       body-15149))))
+                               (arg-exps-15132
+                                 (list (if (eq? p-14987 'any)
+                                         (let ((args-15237 (list x-14842)))
+                                           (make-struct/no-tail
+                                             (vector-ref %expanded-vtables 12)
+                                             #f
+                                             'list
+                                             args-15237))
+                                         (let ((args-15246
+                                                 (list x-14842
+                                                       (make-struct/no-tail
+                                                         (vector-ref
+                                                           %expanded-vtables
+                                                           1)
+                                                         #f
+                                                         p-14987))))
+                                           (make-struct/no-tail
+                                             (vector-ref %expanded-vtables 12)
+                                             #f
+                                             '$sc-dispatch
+                                             args-15246))))))
+                           (make-struct/no-tail
+                             (vector-ref %expanded-vtables 11)
+                             #f
+                             fun-exp-15131
+                             arg-exps-15132)))))))))
+           (gen-syntax-case-13639
+             (lambda (x-14343
+                      keys-14344
+                      clauses-14345
+                      r-14346
+                      mod-14347)
+               (if (null? clauses-14345)
+                 (let ((args-14353
+                         (list (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 1)
+                                 #f
+                                 #f)
+                               (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 1)
+                                 #f
+                                 "source expression failed to match any 
pattern")
+                               x-14343)))
+                   (make-struct/no-tail
+                     (vector-ref %expanded-vtables 12)
+                     #f
+                     'syntax-violation
+                     args-14353))
+                 (let ((tmp-14372 (car clauses-14345)))
+                   (let ((tmp-14373 ($sc-dispatch tmp-14372 '(any any))))
+                     (if tmp-14373
+                       (@apply
+                         (lambda (pat-14375 exp-14376)
+                           (if (if (if (symbol? pat-14375)
+                                     #t
+                                     (if (if (vector? pat-14375)
+                                           (if (= (vector-length pat-14375) 4)
+                                             (eq? (vector-ref pat-14375 0)
+                                                  'syntax-object)
+                                             #f)
                                            #f)
-                                       (#{free-id=? 28259}#
-                                         #{x 37488}#
-                                         '#(syntax-object
+                                       (symbol? (vector-ref pat-14375 1))
+                                       #f))
+                                 (and-map
+                                   (lambda (x-14403)
+                                     (not (free-id=?-4574 pat-14375 x-14403)))
+                                   (cons '#(syntax-object
                                             ...
                                             ((top)
-                                             #(ribcage () () ())
+                                             #(ribcage
+                                               #(pat exp)
+                                               #((top) (top))
+                                               #("l-*-4087" "l-*-4088"))
                                              #(ribcage () () ())
                                              #(ribcage
-                                               #(x)
-                                               #((top))
-                                               #("i26166"))
+                                               #(x keys clauses r mod)
+                                               #((top) (top) (top) (top) (top))
+                                               #("l-*-4077"
+                                                 "l-*-4078"
+                                                 "l-*-4079"
+                                                 "l-*-4080"
+                                                 "l-*-4081"))
+                                             #(ribcage
+                                               (gen-syntax-case
+                                                 gen-clause
+                                                 build-dispatch-call
+                                                 convert-pattern)
+                                               ((top) (top) (top) (top))
+                                               ("l-*-3890"
+                                                "l-*-3888"
+                                                "l-*-3886"
+                                                "l-*-3884"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -16598,7 +15090,10 @@
                                                  valid-bound-ids?
                                                  bound-id=?
                                                  free-id=?
+                                                 with-transformer-environment
+                                                 transformer-environment
                                                  resolve-identifier
+                                                 locally-bound-identifiers
                                                  id-var-name
                                                  same-marks?
                                                  join-marks
@@ -16679,7 +15174,7 @@
                                                  decorate-source
                                                  get-global-definition-hook
                                                  put-global-definition-hook
-                                                 gensym-hook
+                                                 session-id
                                                  local-eval-hook
                                                  top-level-eval-hook
                                                  fx<
@@ -16845,962 +15340,2540 @@
                                                 (top)
                                                 (top)
                                                 (top)
+                                                (top)
+                                                (top)
+                                                (top)
                                                 (top))
-                                               ("i24298"
-                                                "i24296"
-                                                "i24294"
-                                                "i24292"
-                                                "i24290"
-                                                "i24288"
-                                                "i24286"
-                                                "i24284"
-                                                "i24282"
-                                                "i24280"
-                                                "i24278"
-                                                "i24276"
-                                                "i24274"
-                                                "i24272"
-                                                "i24270"
-                                                "i24268"
-                                                "i24266"
-                                                "i24264"
-                                                "i24262"
-                                                "i24260"
-                                                "i24258"
-                                                "i24256"
-                                                "i24254"
-                                                "i24252"
-                                                "i24250"
-                                                "i24248"
-                                                "i24246"
-                                                "i24244"
-                                                "i24242"
-                                                "i24240"
-                                                "i24238"
-                                                "i24236"
-                                                "i24234"
-                                                "i24232"
-                                                "i24230"
-                                                "i24228"
-                                                "i24227"
-                                                "i24225"
-                                                "i24222"
-                                                "i24221"
-                                                "i24220"
-                                                "i24218"
-                                                "i24217"
-                                                "i24215"
-                                                "i24213"
-                                                "i24211"
-                                                "i24209"
-                                                "i24207"
-                                                "i24205"
-                                                "i24203"
-                                                "i24201"
-                                                "i24198"
-                                                "i24196"
-                                                "i24195"
-                                                "i24193"
-                                                "i24191"
-                                                "i24189"
-                                                "i24187"
-                                                "i24186"
-                                                "i24185"
-                                                "i24184"
-                                                "i24182"
-                                                "i24181"
-                                                "i24178"
-                                                "i24176"
-                                                "i24174"
-                                                "i24172"
-                                                "i24170"
-                                                "i24168"
-                                                "i24167"
-                                                "i24166"
-                                                "i24164"
-                                                "i24162"
-                                                "i24161"
-                                                "i24158"
-                                                "i24157"
-                                                "i24155"
-                                                "i24153"
-                                                "i24151"
-                                                "i24149"
-                                                "i24147"
-                                                "i24145"
-                                                "i24143"
-                                                "i24141"
-                                                "i24139"
-                                                "i24136"
-                                                "i24134"
-                                                "i24132"
-                                                "i24130"
-                                                "i24128"
-                                                "i24126"
-                                                "i24124"
-                                                "i24122"
-                                                "i24120"
-                                                "i24118"
-                                                "i24116"
-                                                "i24114"
-                                                "i24112"
-                                                "i24110"
-                                                "i24108"
-                                                "i24106"
-                                                "i24104"
-                                                "i24102"
-                                                "i24100"
-                                                "i24098"
-                                                "i24096"
-                                                "i24094"
-                                                "i24092"
-                                                "i24090"
-                                                "i24089"
-                                                "i24086"
-                                                "i24084"
-                                                "i24083"
-                                                "i24082"
-                                                "i24081"
-                                                "i24080"
-                                                "i24078"
-                                                "i24076"
-                                                "i24074"
-                                                "i24071"
-                                                "i24069"
-                                                "i24067"
-                                                "i24065"
-                                                "i24063"
-                                                "i24061"
-                                                "i24059"
-                                                "i24057"
-                                                "i24055"
-                                                "i24053"
-                                                "i24051"
-                                                "i24049"
-                                                "i24047"
-                                                "i24045"
-                                                "i24043"
-                                                "i24041"
-                                                "i24039"
-                                                "i24037"
-                                                "i24035"))
+                                               ("l-*-478"
+                                                "l-*-476"
+                                                "l-*-474"
+                                                "l-*-472"
+                                                "l-*-470"
+                                                "l-*-468"
+                                                "l-*-466"
+                                                "l-*-464"
+                                                "l-*-462"
+                                                "l-*-460"
+                                                "l-*-458"
+                                                "l-*-456"
+                                                "l-*-454"
+                                                "l-*-452"
+                                                "l-*-450"
+                                                "l-*-448"
+                                                "l-*-446"
+                                                "l-*-444"
+                                                "l-*-442"
+                                                "l-*-440"
+                                                "l-*-438"
+                                                "l-*-436"
+                                                "l-*-434"
+                                                "l-*-432"
+                                                "l-*-430"
+                                                "l-*-428"
+                                                "l-*-426"
+                                                "l-*-424"
+                                                "l-*-422"
+                                                "l-*-420"
+                                                "l-*-418"
+                                                "l-*-416"
+                                                "l-*-414"
+                                                "l-*-412"
+                                                "l-*-410"
+                                                "l-*-408"
+                                                "l-*-406"
+                                                "l-*-404"
+                                                "l-*-402"
+                                                "l-*-401"
+                                                "l-*-399"
+                                                "l-*-396"
+                                                "l-*-395"
+                                                "l-*-394"
+                                                "l-*-392"
+                                                "l-*-391"
+                                                "l-*-389"
+                                                "l-*-387"
+                                                "l-*-385"
+                                                "l-*-383"
+                                                "l-*-381"
+                                                "l-*-379"
+                                                "l-*-377"
+                                                "l-*-375"
+                                                "l-*-372"
+                                                "l-*-370"
+                                                "l-*-369"
+                                                "l-*-367"
+                                                "l-*-365"
+                                                "l-*-363"
+                                                "l-*-361"
+                                                "l-*-360"
+                                                "l-*-359"
+                                                "l-*-358"
+                                                "l-*-356"
+                                                "l-*-355"
+                                                "l-*-352"
+                                                "l-*-350"
+                                                "l-*-348"
+                                                "l-*-346"
+                                                "l-*-344"
+                                                "l-*-342"
+                                                "l-*-341"
+                                                "l-*-340"
+                                                "l-*-338"
+                                                "l-*-336"
+                                                "l-*-335"
+                                                "l-*-332"
+                                                "l-*-331"
+                                                "l-*-329"
+                                                "l-*-327"
+                                                "l-*-325"
+                                                "l-*-323"
+                                                "l-*-321"
+                                                "l-*-319"
+                                                "l-*-317"
+                                                "l-*-315"
+                                                "l-*-313"
+                                                "l-*-310"
+                                                "l-*-308"
+                                                "l-*-306"
+                                                "l-*-304"
+                                                "l-*-302"
+                                                "l-*-300"
+                                                "l-*-298"
+                                                "l-*-296"
+                                                "l-*-294"
+                                                "l-*-292"
+                                                "l-*-290"
+                                                "l-*-288"
+                                                "l-*-286"
+                                                "l-*-284"
+                                                "l-*-282"
+                                                "l-*-280"
+                                                "l-*-278"
+                                                "l-*-276"
+                                                "l-*-274"
+                                                "l-*-272"
+                                                "l-*-270"
+                                                "l-*-268"
+                                                "l-*-266"
+                                                "l-*-264"
+                                                "l-*-262"
+                                                "l-*-260"
+                                                "l-*-258"
+                                                "l-*-257"
+                                                "l-*-256"
+                                                "l-*-255"
+                                                "l-*-254"
+                                                "l-*-252"
+                                                "l-*-250"
+                                                "l-*-248"
+                                                "l-*-245"
+                                                "l-*-243"
+                                                "l-*-241"
+                                                "l-*-239"
+                                                "l-*-237"
+                                                "l-*-235"
+                                                "l-*-233"
+                                                "l-*-231"
+                                                "l-*-229"
+                                                "l-*-227"
+                                                "l-*-225"
+                                                "l-*-223"
+                                                "l-*-221"
+                                                "l-*-219"
+                                                "l-*-217"
+                                                "l-*-215"
+                                                "l-*-213"
+                                                "l-*-211"
+                                                "l-*-209"))
                                              #(ribcage
                                                (define-structure
                                                  define-expansion-accessors
                                                  define-expansion-constructors)
                                                ((top) (top) (top))
-                                               ("i23873" "i23872" "i23871"))
+                                               ("l-*-47" "l-*-46" "l-*-45"))
                                              #(ribcage () () ()))
-                                            (hygiene guile)))
-                                       #f))
-                                #f))
-                            #{key 37486}#)
-                        (let ((#{x 37553}#
-                                (gensym
-                                  (string-append (symbol->string 'tmp) " "))))
-                          (#{build-call 28205}#
-                            #{s 37433}#
-                            (let ((#{req 37691}# (list 'tmp))
-                                  (#{vars 37693}# (list #{x 37553}#))
-                                  (#{exp 37695}#
-                                    (#{gen-syntax-case 37429}#
-                                      (make-struct/no-tail
-                                        (vector-ref %expanded-vtables 3)
-                                        #f
-                                        'tmp
-                                        #{x 37553}#)
-                                      #{key 37486}#
-                                      #{m 37487}#
-                                      #{r 37431}#
-                                      #{mod 37434}#)))
-                              (let ((#{body 37700}#
-                                      (make-struct/no-tail
-                                        (vector-ref %expanded-vtables 15)
-                                        #f
-                                        #{req 37691}#
-                                        #f
-                                        #f
-                                        #f
-                                        '()
-                                        #{vars 37693}#
-                                        #{exp 37695}#
-                                        #f)))
-                                (make-struct/no-tail
-                                  (vector-ref %expanded-vtables 14)
-                                  #f
-                                  '()
-                                  #{body 37700}#)))
-                            (list (#{expand 28271}#
-                                    #{val 37485}#
-                                    #{r 37431}#
-                                    '(())
-                                    #{mod 37434}#))))
-                        (syntax-violation
-                          'syntax-case
-                          "invalid literals list"
-                          #{e 37435}#)))
-                    #{tmp 37437}#)
-                  (syntax-violation
-                    #f
-                    "source expression failed to match any pattern"
-                    #{tmp 37436}#))))))))
-    (set! macroexpand
-      (lambda*
-        (#{x 40406}#
-          #:optional
-          (#{m 40407}# 'e)
-          (#{esew 40408}# '(eval)))
-        (#{expand-top-sequence 28267}#
-          (list #{x 40406}#)
-          '()
-          '((top))
-          #f
-          #{m 40407}#
-          #{esew 40408}#
-          (cons 'hygiene (module-name (current-module))))))
-    (set! identifier?
-      (lambda (#{x 40411}#)
-        (if (if (vector? #{x 40411}#)
-              (if (= (vector-length #{x 40411}#) 4)
-                (eq? (vector-ref #{x 40411}# 0) 'syntax-object)
+                                            (hygiene guile))
+                                         keys-14344))
+                                 #f)
+                             (if (free-id=?-4574
+                                   '#(syntax-object
+                                      pad
+                                      ((top)
+                                       #(ribcage
+                                         #(pat exp)
+                                         #((top) (top))
+                                         #("l-*-4087" "l-*-4088"))
+                                       #(ribcage () () ())
+                                       #(ribcage
+                                         #(x keys clauses r mod)
+                                         #((top) (top) (top) (top) (top))
+                                         #("l-*-4077"
+                                           "l-*-4078"
+                                           "l-*-4079"
+                                           "l-*-4080"
+                                           "l-*-4081"))
+                                       #(ribcage
+                                         (gen-syntax-case
+                                           gen-clause
+                                           build-dispatch-call
+                                           convert-pattern)
+                                         ((top) (top) (top) (top))
+                                         ("l-*-3890"
+                                          "l-*-3888"
+                                          "l-*-3886"
+                                          "l-*-3884"))
+                                       #(ribcage
+                                         (lambda-var-list
+                                           gen-var
+                                           strip
+                                           expand-lambda-case
+                                           lambda*-formals
+                                           expand-simple-lambda
+                                           lambda-formals
+                                           ellipsis?
+                                           expand-void
+                                           eval-local-transformer
+                                           expand-local-syntax
+                                           expand-body
+                                           expand-macro
+                                           expand-call
+                                           expand-expr
+                                           expand
+                                           syntax-type
+                                           parse-when-list
+                                           expand-install-global
+                                           expand-top-sequence
+                                           expand-sequence
+                                           source-wrap
+                                           wrap
+                                           bound-id-member?
+                                           distinct-bound-ids?
+                                           valid-bound-ids?
+                                           bound-id=?
+                                           free-id=?
+                                           with-transformer-environment
+                                           transformer-environment
+                                           resolve-identifier
+                                           locally-bound-identifiers
+                                           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
+                                           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
+                                           session-id
+                                           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)
+                                          (top)
+                                          (top)
+                                          (top))
+                                         ("l-*-478"
+                                          "l-*-476"
+                                          "l-*-474"
+                                          "l-*-472"
+                                          "l-*-470"
+                                          "l-*-468"
+                                          "l-*-466"
+                                          "l-*-464"
+                                          "l-*-462"
+                                          "l-*-460"
+                                          "l-*-458"
+                                          "l-*-456"
+                                          "l-*-454"
+                                          "l-*-452"
+                                          "l-*-450"
+                                          "l-*-448"
+                                          "l-*-446"
+                                          "l-*-444"
+                                          "l-*-442"
+                                          "l-*-440"
+                                          "l-*-438"
+                                          "l-*-436"
+                                          "l-*-434"
+                                          "l-*-432"
+                                          "l-*-430"
+                                          "l-*-428"
+                                          "l-*-426"
+                                          "l-*-424"
+                                          "l-*-422"
+                                          "l-*-420"
+                                          "l-*-418"
+                                          "l-*-416"
+                                          "l-*-414"
+                                          "l-*-412"
+                                          "l-*-410"
+                                          "l-*-408"
+                                          "l-*-406"
+                                          "l-*-404"
+                                          "l-*-402"
+                                          "l-*-401"
+                                          "l-*-399"
+                                          "l-*-396"
+                                          "l-*-395"
+                                          "l-*-394"
+                                          "l-*-392"
+                                          "l-*-391"
+                                          "l-*-389"
+                                          "l-*-387"
+                                          "l-*-385"
+                                          "l-*-383"
+                                          "l-*-381"
+                                          "l-*-379"
+                                          "l-*-377"
+                                          "l-*-375"
+                                          "l-*-372"
+                                          "l-*-370"
+                                          "l-*-369"
+                                          "l-*-367"
+                                          "l-*-365"
+                                          "l-*-363"
+                                          "l-*-361"
+                                          "l-*-360"
+                                          "l-*-359"
+                                          "l-*-358"
+                                          "l-*-356"
+                                          "l-*-355"
+                                          "l-*-352"
+                                          "l-*-350"
+                                          "l-*-348"
+                                          "l-*-346"
+                                          "l-*-344"
+                                          "l-*-342"
+                                          "l-*-341"
+                                          "l-*-340"
+                                          "l-*-338"
+                                          "l-*-336"
+                                          "l-*-335"
+                                          "l-*-332"
+                                          "l-*-331"
+                                          "l-*-329"
+                                          "l-*-327"
+                                          "l-*-325"
+                                          "l-*-323"
+                                          "l-*-321"
+                                          "l-*-319"
+                                          "l-*-317"
+                                          "l-*-315"
+                                          "l-*-313"
+                                          "l-*-310"
+                                          "l-*-308"
+                                          "l-*-306"
+                                          "l-*-304"
+                                          "l-*-302"
+                                          "l-*-300"
+                                          "l-*-298"
+                                          "l-*-296"
+                                          "l-*-294"
+                                          "l-*-292"
+                                          "l-*-290"
+                                          "l-*-288"
+                                          "l-*-286"
+                                          "l-*-284"
+                                          "l-*-282"
+                                          "l-*-280"
+                                          "l-*-278"
+                                          "l-*-276"
+                                          "l-*-274"
+                                          "l-*-272"
+                                          "l-*-270"
+                                          "l-*-268"
+                                          "l-*-266"
+                                          "l-*-264"
+                                          "l-*-262"
+                                          "l-*-260"
+                                          "l-*-258"
+                                          "l-*-257"
+                                          "l-*-256"
+                                          "l-*-255"
+                                          "l-*-254"
+                                          "l-*-252"
+                                          "l-*-250"
+                                          "l-*-248"
+                                          "l-*-245"
+                                          "l-*-243"
+                                          "l-*-241"
+                                          "l-*-239"
+                                          "l-*-237"
+                                          "l-*-235"
+                                          "l-*-233"
+                                          "l-*-231"
+                                          "l-*-229"
+                                          "l-*-227"
+                                          "l-*-225"
+                                          "l-*-223"
+                                          "l-*-221"
+                                          "l-*-219"
+                                          "l-*-217"
+                                          "l-*-215"
+                                          "l-*-213"
+                                          "l-*-211"
+                                          "l-*-209"))
+                                       #(ribcage
+                                         (define-structure
+                                           define-expansion-accessors
+                                           define-expansion-constructors)
+                                         ((top) (top) (top))
+                                         ("l-*-47" "l-*-46" "l-*-45"))
+                                       #(ribcage () () ()))
+                                      (hygiene guile))
+                                   '#(syntax-object
+                                      _
+                                      ((top)
+                                       #(ribcage
+                                         #(pat exp)
+                                         #((top) (top))
+                                         #("l-*-4087" "l-*-4088"))
+                                       #(ribcage () () ())
+                                       #(ribcage
+                                         #(x keys clauses r mod)
+                                         #((top) (top) (top) (top) (top))
+                                         #("l-*-4077"
+                                           "l-*-4078"
+                                           "l-*-4079"
+                                           "l-*-4080"
+                                           "l-*-4081"))
+                                       #(ribcage
+                                         (gen-syntax-case
+                                           gen-clause
+                                           build-dispatch-call
+                                           convert-pattern)
+                                         ((top) (top) (top) (top))
+                                         ("l-*-3890"
+                                          "l-*-3888"
+                                          "l-*-3886"
+                                          "l-*-3884"))
+                                       #(ribcage
+                                         (lambda-var-list
+                                           gen-var
+                                           strip
+                                           expand-lambda-case
+                                           lambda*-formals
+                                           expand-simple-lambda
+                                           lambda-formals
+                                           ellipsis?
+                                           expand-void
+                                           eval-local-transformer
+                                           expand-local-syntax
+                                           expand-body
+                                           expand-macro
+                                           expand-call
+                                           expand-expr
+                                           expand
+                                           syntax-type
+                                           parse-when-list
+                                           expand-install-global
+                                           expand-top-sequence
+                                           expand-sequence
+                                           source-wrap
+                                           wrap
+                                           bound-id-member?
+                                           distinct-bound-ids?
+                                           valid-bound-ids?
+                                           bound-id=?
+                                           free-id=?
+                                           with-transformer-environment
+                                           transformer-environment
+                                           resolve-identifier
+                                           locally-bound-identifiers
+                                           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
+                                           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
+                                           session-id
+                                           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)
+                                          (top)
+                                          (top)
+                                          (top))
+                                         ("l-*-478"
+                                          "l-*-476"
+                                          "l-*-474"
+                                          "l-*-472"
+                                          "l-*-470"
+                                          "l-*-468"
+                                          "l-*-466"
+                                          "l-*-464"
+                                          "l-*-462"
+                                          "l-*-460"
+                                          "l-*-458"
+                                          "l-*-456"
+                                          "l-*-454"
+                                          "l-*-452"
+                                          "l-*-450"
+                                          "l-*-448"
+                                          "l-*-446"
+                                          "l-*-444"
+                                          "l-*-442"
+                                          "l-*-440"
+                                          "l-*-438"
+                                          "l-*-436"
+                                          "l-*-434"
+                                          "l-*-432"
+                                          "l-*-430"
+                                          "l-*-428"
+                                          "l-*-426"
+                                          "l-*-424"
+                                          "l-*-422"
+                                          "l-*-420"
+                                          "l-*-418"
+                                          "l-*-416"
+                                          "l-*-414"
+                                          "l-*-412"
+                                          "l-*-410"
+                                          "l-*-408"
+                                          "l-*-406"
+                                          "l-*-404"
+                                          "l-*-402"
+                                          "l-*-401"
+                                          "l-*-399"
+                                          "l-*-396"
+                                          "l-*-395"
+                                          "l-*-394"
+                                          "l-*-392"
+                                          "l-*-391"
+                                          "l-*-389"
+                                          "l-*-387"
+                                          "l-*-385"
+                                          "l-*-383"
+                                          "l-*-381"
+                                          "l-*-379"
+                                          "l-*-377"
+                                          "l-*-375"
+                                          "l-*-372"
+                                          "l-*-370"
+                                          "l-*-369"
+                                          "l-*-367"
+                                          "l-*-365"
+                                          "l-*-363"
+                                          "l-*-361"
+                                          "l-*-360"
+                                          "l-*-359"
+                                          "l-*-358"
+                                          "l-*-356"
+                                          "l-*-355"
+                                          "l-*-352"
+                                          "l-*-350"
+                                          "l-*-348"
+                                          "l-*-346"
+                                          "l-*-344"
+                                          "l-*-342"
+                                          "l-*-341"
+                                          "l-*-340"
+                                          "l-*-338"
+                                          "l-*-336"
+                                          "l-*-335"
+                                          "l-*-332"
+                                          "l-*-331"
+                                          "l-*-329"
+                                          "l-*-327"
+                                          "l-*-325"
+                                          "l-*-323"
+                                          "l-*-321"
+                                          "l-*-319"
+                                          "l-*-317"
+                                          "l-*-315"
+                                          "l-*-313"
+                                          "l-*-310"
+                                          "l-*-308"
+                                          "l-*-306"
+                                          "l-*-304"
+                                          "l-*-302"
+                                          "l-*-300"
+                                          "l-*-298"
+                                          "l-*-296"
+                                          "l-*-294"
+                                          "l-*-292"
+                                          "l-*-290"
+                                          "l-*-288"
+                                          "l-*-286"
+                                          "l-*-284"
+                                          "l-*-282"
+                                          "l-*-280"
+                                          "l-*-278"
+                                          "l-*-276"
+                                          "l-*-274"
+                                          "l-*-272"
+                                          "l-*-270"
+                                          "l-*-268"
+                                          "l-*-266"
+                                          "l-*-264"
+                                          "l-*-262"
+                                          "l-*-260"
+                                          "l-*-258"
+                                          "l-*-257"
+                                          "l-*-256"
+                                          "l-*-255"
+                                          "l-*-254"
+                                          "l-*-252"
+                                          "l-*-250"
+                                          "l-*-248"
+                                          "l-*-245"
+                                          "l-*-243"
+                                          "l-*-241"
+                                          "l-*-239"
+                                          "l-*-237"
+                                          "l-*-235"
+                                          "l-*-233"
+                                          "l-*-231"
+                                          "l-*-229"
+                                          "l-*-227"
+                                          "l-*-225"
+                                          "l-*-223"
+                                          "l-*-221"
+                                          "l-*-219"
+                                          "l-*-217"
+                                          "l-*-215"
+                                          "l-*-213"
+                                          "l-*-211"
+                                          "l-*-209"))
+                                       #(ribcage
+                                         (define-structure
+                                           define-expansion-accessors
+                                           define-expansion-constructors)
+                                         ((top) (top) (top))
+                                         ("l-*-47" "l-*-46" "l-*-45"))
+                                       #(ribcage () () ()))
+                                      (hygiene guile)))
+                               (expand-4586 exp-14376 r-14346 '(()) mod-14347)
+                               (let ((labels-14485
+                                       (list (string-append
+                                               "l-"
+                                               (session-id-4511)
+                                               (symbol->string (gensym "-")))))
+                                     (var-14486
+                                       (let ((id-14524
+                                               (if (if (vector? pat-14375)
+                                                     (if (= (vector-length
+                                                              pat-14375)
+                                                            4)
+                                                       (eq? (vector-ref
+                                                              pat-14375
+                                                              0)
+                                                            'syntax-object)
+                                                       #f)
+                                                     #f)
+                                                 (vector-ref pat-14375 1)
+                                                 pat-14375)))
+                                         (gensym
+                                           (string-append
+                                             (symbol->string id-14524)
+                                             "-")))))
+                                 (build-call-4517
+                                   #f
+                                   (build-simple-lambda-4526
+                                     #f
+                                     (list (syntax->datum pat-14375))
+                                     #f
+                                     (list var-14486)
+                                     '()
+                                     (expand-4586
+                                       exp-14376
+                                       (extend-env-4545
+                                         labels-14485
+                                         (list (cons 'syntax
+                                                     (cons var-14486 0)))
+                                         r-14346)
+                                       (make-binding-wrap-4564
+                                         (list pat-14375)
+                                         labels-14485
+                                         '(()))
+                                       mod-14347))
+                                   (list x-14343))))
+                             (gen-clause-13638
+                               x-14343
+                               keys-14344
+                               (cdr clauses-14345)
+                               r-14346
+                               pat-14375
+                               #t
+                               exp-14376
+                               mod-14347)))
+                         tmp-14373)
+                       (let ((tmp-14834
+                               ($sc-dispatch tmp-14372 '(any any any))))
+                         (if tmp-14834
+                           (@apply
+                             (lambda (pat-14836 fender-14837 exp-14838)
+                               (gen-clause-13638
+                                 x-14343
+                                 keys-14344
+                                 (cdr clauses-14345)
+                                 r-14346
+                                 pat-14836
+                                 fender-14837
+                                 exp-14838
+                                 mod-14347))
+                             tmp-14834)
+                           (syntax-violation
+                             'syntax-case
+                             "invalid clause"
+                             (car clauses-14345)))))))))))
+          (lambda (e-13640 r-13641 w-13642 s-13643 mod-13644)
+            (let ((e-13645
+                    (let ((x-14254
+                            (begin
+                              (if (if (pair? e-13640) s-13643 #f)
+                                (set-source-properties! e-13640 s-13643))
+                              e-13640)))
+                      (if (if (null? (car w-13642))
+                            (null? (cdr w-13642))
+                            #f)
+                        x-14254
+                        (if (if (vector? x-14254)
+                              (if (= (vector-length x-14254) 4)
+                                (eq? (vector-ref x-14254 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (let ((expression-14286 (vector-ref x-14254 1))
+                                (wrap-14287
+                                  (let ((w2-14295 (vector-ref x-14254 2)))
+                                    (let ((m1-14296 (car w-13642))
+                                          (s1-14297 (cdr w-13642)))
+                                      (if (null? m1-14296)
+                                        (if (null? s1-14297)
+                                          w2-14295
+                                          (cons (car w2-14295)
+                                                (let ((m2-14312
+                                                        (cdr w2-14295)))
+                                                  (if (null? m2-14312)
+                                                    s1-14297
+                                                    (append
+                                                      s1-14297
+                                                      m2-14312)))))
+                                        (cons (let ((m2-14320 (car w2-14295)))
+                                                (if (null? m2-14320)
+                                                  m1-14296
+                                                  (append m1-14296 m2-14320)))
+                                              (let ((m2-14328 (cdr w2-14295)))
+                                                (if (null? m2-14328)
+                                                  s1-14297
+                                                  (append
+                                                    s1-14297
+                                                    m2-14328))))))))
+                                (module-14288 (vector-ref x-14254 3)))
+                            (vector
+                              'syntax-object
+                              expression-14286
+                              wrap-14287
+                              module-14288))
+                          (if (null? x-14254)
+                            x-14254
+                            (vector
+                              'syntax-object
+                              x-14254
+                              w-13642
+                              mod-13644)))))))
+              (let ((tmp-13646 e-13645))
+                (let ((tmp-13647
+                        ($sc-dispatch
+                          tmp-13646
+                          '(_ any each-any . each-any))))
+                  (if tmp-13647
+                    (@apply
+                      (lambda (val-13695 key-13696 m-13697)
+                        (if (and-map
+                              (lambda (x-13698)
+                                (if (if (symbol? x-13698)
+                                      #t
+                                      (if (if (vector? x-13698)
+                                            (if (= (vector-length x-13698) 4)
+                                              (eq? (vector-ref x-13698 0)
+                                                   'syntax-object)
+                                              #f)
+                                            #f)
+                                        (symbol? (vector-ref x-13698 1))
+                                        #f))
+                                  (not (if (if (if (vector? x-13698)
+                                                 (if (= (vector-length x-13698)
+                                                        4)
+                                                   (eq? (vector-ref x-13698 0)
+                                                        'syntax-object)
+                                                   #f)
+                                                 #f)
+                                             (symbol? (vector-ref x-13698 1))
+                                             #f)
+                                         (free-id=?-4574
+                                           x-13698
+                                           '#(syntax-object
+                                              ...
+                                              ((top)
+                                               #(ribcage () () ())
+                                               #(ribcage () () ())
+                                               #(ribcage
+                                                 #(x)
+                                                 #((top))
+                                                 #("l-*-2416"))
+                                               #(ribcage
+                                                 (lambda-var-list
+                                                   gen-var
+                                                   strip
+                                                   expand-lambda-case
+                                                   lambda*-formals
+                                                   expand-simple-lambda
+                                                   lambda-formals
+                                                   ellipsis?
+                                                   expand-void
+                                                   eval-local-transformer
+                                                   expand-local-syntax
+                                                   expand-body
+                                                   expand-macro
+                                                   expand-call
+                                                   expand-expr
+                                                   expand
+                                                   syntax-type
+                                                   parse-when-list
+                                                   expand-install-global
+                                                   expand-top-sequence
+                                                   expand-sequence
+                                                   source-wrap
+                                                   wrap
+                                                   bound-id-member?
+                                                   distinct-bound-ids?
+                                                   valid-bound-ids?
+                                                   bound-id=?
+                                                   free-id=?
+                                                   with-transformer-environment
+                                                   transformer-environment
+                                                   resolve-identifier
+                                                   locally-bound-identifiers
+                                                   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
+                                                   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
+                                                   session-id
+                                                   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)
+                                                  (top)
+                                                  (top)
+                                                  (top))
+                                                 ("l-*-478"
+                                                  "l-*-476"
+                                                  "l-*-474"
+                                                  "l-*-472"
+                                                  "l-*-470"
+                                                  "l-*-468"
+                                                  "l-*-466"
+                                                  "l-*-464"
+                                                  "l-*-462"
+                                                  "l-*-460"
+                                                  "l-*-458"
+                                                  "l-*-456"
+                                                  "l-*-454"
+                                                  "l-*-452"
+                                                  "l-*-450"
+                                                  "l-*-448"
+                                                  "l-*-446"
+                                                  "l-*-444"
+                                                  "l-*-442"
+                                                  "l-*-440"
+                                                  "l-*-438"
+                                                  "l-*-436"
+                                                  "l-*-434"
+                                                  "l-*-432"
+                                                  "l-*-430"
+                                                  "l-*-428"
+                                                  "l-*-426"
+                                                  "l-*-424"
+                                                  "l-*-422"
+                                                  "l-*-420"
+                                                  "l-*-418"
+                                                  "l-*-416"
+                                                  "l-*-414"
+                                                  "l-*-412"
+                                                  "l-*-410"
+                                                  "l-*-408"
+                                                  "l-*-406"
+                                                  "l-*-404"
+                                                  "l-*-402"
+                                                  "l-*-401"
+                                                  "l-*-399"
+                                                  "l-*-396"
+                                                  "l-*-395"
+                                                  "l-*-394"
+                                                  "l-*-392"
+                                                  "l-*-391"
+                                                  "l-*-389"
+                                                  "l-*-387"
+                                                  "l-*-385"
+                                                  "l-*-383"
+                                                  "l-*-381"
+                                                  "l-*-379"
+                                                  "l-*-377"
+                                                  "l-*-375"
+                                                  "l-*-372"
+                                                  "l-*-370"
+                                                  "l-*-369"
+                                                  "l-*-367"
+                                                  "l-*-365"
+                                                  "l-*-363"
+                                                  "l-*-361"
+                                                  "l-*-360"
+                                                  "l-*-359"
+                                                  "l-*-358"
+                                                  "l-*-356"
+                                                  "l-*-355"
+                                                  "l-*-352"
+                                                  "l-*-350"
+                                                  "l-*-348"
+                                                  "l-*-346"
+                                                  "l-*-344"
+                                                  "l-*-342"
+                                                  "l-*-341"
+                                                  "l-*-340"
+                                                  "l-*-338"
+                                                  "l-*-336"
+                                                  "l-*-335"
+                                                  "l-*-332"
+                                                  "l-*-331"
+                                                  "l-*-329"
+                                                  "l-*-327"
+                                                  "l-*-325"
+                                                  "l-*-323"
+                                                  "l-*-321"
+                                                  "l-*-319"
+                                                  "l-*-317"
+                                                  "l-*-315"
+                                                  "l-*-313"
+                                                  "l-*-310"
+                                                  "l-*-308"
+                                                  "l-*-306"
+                                                  "l-*-304"
+                                                  "l-*-302"
+                                                  "l-*-300"
+                                                  "l-*-298"
+                                                  "l-*-296"
+                                                  "l-*-294"
+                                                  "l-*-292"
+                                                  "l-*-290"
+                                                  "l-*-288"
+                                                  "l-*-286"
+                                                  "l-*-284"
+                                                  "l-*-282"
+                                                  "l-*-280"
+                                                  "l-*-278"
+                                                  "l-*-276"
+                                                  "l-*-274"
+                                                  "l-*-272"
+                                                  "l-*-270"
+                                                  "l-*-268"
+                                                  "l-*-266"
+                                                  "l-*-264"
+                                                  "l-*-262"
+                                                  "l-*-260"
+                                                  "l-*-258"
+                                                  "l-*-257"
+                                                  "l-*-256"
+                                                  "l-*-255"
+                                                  "l-*-254"
+                                                  "l-*-252"
+                                                  "l-*-250"
+                                                  "l-*-248"
+                                                  "l-*-245"
+                                                  "l-*-243"
+                                                  "l-*-241"
+                                                  "l-*-239"
+                                                  "l-*-237"
+                                                  "l-*-235"
+                                                  "l-*-233"
+                                                  "l-*-231"
+                                                  "l-*-229"
+                                                  "l-*-227"
+                                                  "l-*-225"
+                                                  "l-*-223"
+                                                  "l-*-221"
+                                                  "l-*-219"
+                                                  "l-*-217"
+                                                  "l-*-215"
+                                                  "l-*-213"
+                                                  "l-*-211"
+                                                  "l-*-209"))
+                                               #(ribcage
+                                                 (define-structure
+                                                   define-expansion-accessors
+                                                   
define-expansion-constructors)
+                                                 ((top) (top) (top))
+                                                 ("l-*-47" "l-*-46" "l-*-45"))
+                                               #(ribcage () () ()))
+                                              (hygiene guile)))
+                                         #f))
+                                  #f))
+                              key-13696)
+                          (let ((x-13763
+                                  (gensym
+                                    (string-append
+                                      (symbol->string 'tmp)
+                                      "-"))))
+                            (build-call-4517
+                              s-13643
+                              (let ((req-13901 (list 'tmp))
+                                    (vars-13903 (list x-13763))
+                                    (exp-13905
+                                      (gen-syntax-case-13639
+                                        (make-struct/no-tail
+                                          (vector-ref %expanded-vtables 3)
+                                          #f
+                                          'tmp
+                                          x-13763)
+                                        key-13696
+                                        m-13697
+                                        r-13641
+                                        mod-13644)))
+                                (let ((body-13910
+                                        (make-struct/no-tail
+                                          (vector-ref %expanded-vtables 15)
+                                          #f
+                                          req-13901
+                                          #f
+                                          #f
+                                          #f
+                                          '()
+                                          vars-13903
+                                          exp-13905
+                                          #f)))
+                                  (make-struct/no-tail
+                                    (vector-ref %expanded-vtables 14)
+                                    #f
+                                    '()
+                                    body-13910)))
+                              (list (expand-4586
+                                      val-13695
+                                      r-13641
+                                      '(())
+                                      mod-13644))))
+                          (syntax-violation
+                            'syntax-case
+                            "invalid literals list"
+                            e-13645)))
+                      tmp-13647)
+                    (syntax-violation
+                      #f
+                      "source expression failed to match any pattern"
+                      tmp-13646))))))))
+      (set! macroexpand
+        (lambda*
+          (x-16590
+            #:optional
+            (m-16591 'e)
+            (esew-16592 '(eval)))
+          (expand-top-sequence-4582
+            (list x-16590)
+            '()
+            '((top))
+            #f
+            m-16591
+            esew-16592
+            (cons 'hygiene (module-name (current-module))))))
+      (set! identifier?
+        (lambda (x-16595)
+          (if (if (vector? x-16595)
+                (if (= (vector-length x-16595) 4)
+                  (eq? (vector-ref x-16595 0) 'syntax-object)
+                  #f)
                 #f)
-              #f)
-          (symbol? (vector-ref #{x 40411}# 1))
-          #f)))
-    (set! datum->syntax
-      (lambda (#{id 40436}# #{datum 40437}#)
-        (let ((#{wrap 40442}# (vector-ref #{id 40436}# 2))
-              (#{module 40443}# (vector-ref #{id 40436}# 3)))
-          (vector
-            'syntax-object
-            #{datum 40437}#
-            #{wrap 40442}#
-            #{module 40443}#))))
-    (set! syntax->datum
-      (lambda (#{x 40450}#)
-        (#{strip 28284}# #{x 40450}# '(()))))
-    (set! syntax-source
-      (lambda (#{x 40453}#)
-        (#{source-annotation 28232}# #{x 40453}#)))
-    (set! generate-temporaries
-      (lambda (#{ls 40637}#)
-        (begin
-          (if (not (list? #{ls 40637}#))
-            (syntax-violation
-              'generate-temporaries
-              "invalid argument"
-              #{ls 40637}#))
-          (let ((#{mod 40645}#
-                  (cons 'hygiene (module-name (current-module)))))
-            (map (lambda (#{x 40646}#)
-                   (let ((#{x 40650}# (gensym)))
-                     (if (if (vector? #{x 40650}#)
-                           (if (= (vector-length #{x 40650}#) 4)
-                             (eq? (vector-ref #{x 40650}# 0) 'syntax-object)
+            (symbol? (vector-ref x-16595 1))
+            #f)))
+      (set! datum->syntax
+        (lambda (id-16620 datum-16621)
+          (let ((wrap-16626 (vector-ref id-16620 2))
+                (module-16627 (vector-ref id-16620 3)))
+            (vector
+              'syntax-object
+              datum-16621
+              wrap-16626
+              module-16627))))
+      (set! syntax->datum
+        (lambda (x-16634) (strip-4599 x-16634 '(()))))
+      (set! syntax-source
+        (lambda (x-16637)
+          (source-annotation-4544 x-16637)))
+      (set! generate-temporaries
+        (lambda (ls-16821)
+          (begin
+            (if (not (list? ls-16821))
+              (syntax-violation
+                'generate-temporaries
+                "invalid argument"
+                ls-16821))
+            (let ((mod-16829
+                    (cons 'hygiene (module-name (current-module)))))
+              (map (lambda (x-16830)
+                     (let ((x-16834 (gensym "t-")))
+                       (if (if (vector? x-16834)
+                             (if (= (vector-length x-16834) 4)
+                               (eq? (vector-ref x-16834 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (let ((expression-16849 (vector-ref x-16834 1))
+                               (wrap-16850
+                                 (let ((w2-16858 (vector-ref x-16834 2)))
+                                   (cons (let ((m2-16865 (car w2-16858)))
+                                           (if (null? m2-16865)
+                                             '(top)
+                                             (append '(top) m2-16865)))
+                                         (let ((m2-16872 (cdr w2-16858)))
+                                           (if (null? m2-16872)
+                                             '()
+                                             (append '() m2-16872))))))
+                               (module-16851 (vector-ref x-16834 3)))
+                           (vector
+                             'syntax-object
+                             expression-16849
+                             wrap-16850
+                             module-16851))
+                         (if (null? x-16834)
+                           x-16834
+                           (vector
+                             'syntax-object
+                             x-16834
+                             '((top))
+                             mod-16829)))))
+                   ls-16821)))))
+      (set! free-identifier=?
+        (lambda (x-16881 y-16882)
+          (begin
+            (if (not (if (if (vector? x-16881)
+                           (if (= (vector-length x-16881) 4)
+                             (eq? (vector-ref x-16881 0) 'syntax-object)
                              #f)
                            #f)
-                       (let ((#{expression 40665}# (vector-ref #{x 40650}# 1))
-                             (#{wrap 40666}#
-                               (let ((#{w2 40674}# (vector-ref #{x 40650}# 2)))
-                                 (cons (let ((#{m2 40681}# (car #{w2 40674}#)))
-                                         (if (null? #{m2 40681}#)
-                                           '(top)
-                                           (append '(top) #{m2 40681}#)))
-                                       (let ((#{m2 40688}# (cdr #{w2 40674}#)))
-                                         (if (null? #{m2 40688}#)
-                                           '()
-                                           (append '() #{m2 40688}#))))))
-                             (#{module 40667}# (vector-ref #{x 40650}# 3)))
-                         (vector
-                           'syntax-object
-                           #{expression 40665}#
-                           #{wrap 40666}#
-                           #{module 40667}#))
-                       (if (null? #{x 40650}#)
-                         #{x 40650}#
-                         (vector
-                           'syntax-object
-                           #{x 40650}#
-                           '((top))
-                           #{mod 40645}#)))))
-                 #{ls 40637}#)))))
-    (set! free-identifier=?
-      (lambda (#{x 40697}# #{y 40698}#)
-        (begin
-          (if (not (if (if (vector? #{x 40697}#)
-                         (if (= (vector-length #{x 40697}#) 4)
-                           (eq? (vector-ref #{x 40697}# 0) 'syntax-object)
-                           #f)
-                         #f)
-                     (symbol? (vector-ref #{x 40697}# 1))
-                     #f))
-            (syntax-violation
-              'free-identifier=?
-              "invalid argument"
-              #{x 40697}#))
-          (if (not (if (if (vector? #{y 40698}#)
-                         (if (= (vector-length #{y 40698}#) 4)
-                           (eq? (vector-ref #{y 40698}# 0) 'syntax-object)
+                       (symbol? (vector-ref x-16881 1))
+                       #f))
+              (syntax-violation
+                'free-identifier=?
+                "invalid argument"
+                x-16881))
+            (if (not (if (if (vector? y-16882)
+                           (if (= (vector-length y-16882) 4)
+                             (eq? (vector-ref y-16882 0) 'syntax-object)
+                             #f)
                            #f)
-                         #f)
-                     (symbol? (vector-ref #{y 40698}# 1))
-                     #f))
-            (syntax-violation
-              'free-identifier=?
-              "invalid argument"
-              #{y 40698}#))
-          (#{free-id=? 28259}# #{x 40697}# #{y 40698}#))))
-    (set! bound-identifier=?
-      (lambda (#{x 40773}# #{y 40774}#)
-        (begin
-          (if (not (if (if (vector? #{x 40773}#)
-                         (if (= (vector-length #{x 40773}#) 4)
-                           (eq? (vector-ref #{x 40773}# 0) 'syntax-object)
+                       (symbol? (vector-ref y-16882 1))
+                       #f))
+              (syntax-violation
+                'free-identifier=?
+                "invalid argument"
+                y-16882))
+            (free-id=?-4574 x-16881 y-16882))))
+      (set! bound-identifier=?
+        (lambda (x-16957 y-16958)
+          (begin
+            (if (not (if (if (vector? x-16957)
+                           (if (= (vector-length x-16957) 4)
+                             (eq? (vector-ref x-16957 0) 'syntax-object)
+                             #f)
                            #f)
-                         #f)
-                     (symbol? (vector-ref #{x 40773}# 1))
-                     #f))
-            (syntax-violation
-              'bound-identifier=?
-              "invalid argument"
-              #{x 40773}#))
-          (if (not (if (if (vector? #{y 40774}#)
-                         (if (= (vector-length #{y 40774}#) 4)
-                           (eq? (vector-ref #{y 40774}# 0) 'syntax-object)
+                       (symbol? (vector-ref x-16957 1))
+                       #f))
+              (syntax-violation
+                'bound-identifier=?
+                "invalid argument"
+                x-16957))
+            (if (not (if (if (vector? y-16958)
+                           (if (= (vector-length y-16958) 4)
+                             (eq? (vector-ref y-16958 0) 'syntax-object)
+                             #f)
                            #f)
-                         #f)
-                     (symbol? (vector-ref #{y 40774}# 1))
-                     #f))
-            (syntax-violation
-              'bound-identifier=?
-              "invalid argument"
-              #{y 40774}#))
-          (#{bound-id=? 28260}# #{x 40773}# #{y 40774}#))))
-    (set! syntax-violation
-      (lambda*
-        (#{who 40940}#
-          #{message 40941}#
-          #{form 40942}#
-          #:optional
-          (#{subform 40943}# #f))
+                       (symbol? (vector-ref y-16958 1))
+                       #f))
+              (syntax-violation
+                'bound-identifier=?
+                "invalid argument"
+                y-16958))
+            (bound-id=?-4575 x-16957 y-16958))))
+      (set! syntax-violation
+        (lambda*
+          (who-17124
+            message-17125
+            form-17126
+            #:optional
+            (subform-17127 #f))
+          (begin
+            (if (not (if (not who-17124)
+                       (not who-17124)
+                       (let ((t-17145 (string? who-17124)))
+                         (if t-17145 t-17145 (symbol? who-17124)))))
+              (syntax-violation
+                'syntax-violation
+                "invalid argument"
+                who-17124))
+            (if (not (string? message-17125))
+              (syntax-violation
+                'syntax-violation
+                "invalid argument"
+                message-17125))
+            (throw 'syntax-error
+                   who-17124
+                   message-17125
+                   (source-annotation-4544
+                     (if form-17126 form-17126 subform-17127))
+                   (strip-4599 form-17126 '(()))
+                   (if subform-17127
+                     (strip-4599 subform-17127 '(()))
+                     #f)))))
+      (letrec*
+        ((syntax-local-binding-17377
+           (lambda (id-17517)
+             (begin
+               (if (not (if (if (vector? id-17517)
+                              (if (= (vector-length id-17517) 4)
+                                (eq? (vector-ref id-17517 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (symbol? (vector-ref id-17517 1))
+                          #f))
+                 (syntax-violation
+                   'syntax-local-binding
+                   "invalid argument"
+                   id-17517))
+               ((fluid-ref transformer-environment-4572)
+                (lambda (e-17557
+                         r-17558
+                         w-17559
+                         s-17560
+                         rib-17561
+                         mod-17562)
+                  (call-with-values
+                    (lambda ()
+                      (resolve-identifier-4571
+                        (vector-ref id-17517 1)
+                        (let ((w-17569 (vector-ref id-17517 2)))
+                          (let ((ms-17570 (car w-17569))
+                                (s-17571 (cdr w-17569)))
+                            (if (if (pair? ms-17570)
+                                  (eq? (car ms-17570) #f)
+                                  #f)
+                              (cons (cdr ms-17570)
+                                    (if rib-17561
+                                      (cons rib-17561 (cdr s-17571))
+                                      (cdr s-17571)))
+                              (cons ms-17570
+                                    (if rib-17561
+                                      (cons rib-17561 s-17571)
+                                      s-17571)))))
+                        r-17558
+                        (vector-ref id-17517 3)
+                        #t))
+                    (lambda (type-17578 value-17579 mod-17580)
+                      (if (eqv? type-17578 'lexical)
+                        (values 'lexical value-17579)
+                        (if (eqv? type-17578 'macro)
+                          (values 'macro value-17579)
+                          (if (eqv? type-17578 'syntax)
+                            (values 'pattern-variable value-17579)
+                            (if (eqv? type-17578 'displaced-lexical)
+                              (values 'displaced-lexical #f)
+                              (if (eqv? type-17578 'global)
+                                (values
+                                  'global
+                                  (cons value-17579 (cdr mod-17580)))
+                                (values 'other #f)))))))))))))
+         (syntax-locally-bound-identifiers-17378
+           (lambda (id-17591)
+             (begin
+               (if (not (if (if (vector? id-17591)
+                              (if (= (vector-length id-17591) 4)
+                                (eq? (vector-ref id-17591 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (symbol? (vector-ref id-17591 1))
+                          #f))
+                 (syntax-violation
+                   'syntax-locally-bound-identifiers
+                   "invalid argument"
+                   id-17591))
+               (locally-bound-identifiers-4570
+                 (vector-ref id-17591 2)
+                 (vector-ref id-17591 3))))))
         (begin
-          (if (not (if (not #{who 40940}#)
-                     (not #{who 40940}#)
-                     (let ((#{t 40961}# (string? #{who 40940}#)))
-                       (if #{t 40961}#
-                         #{t 40961}#
-                         (symbol? #{who 40940}#)))))
-            (syntax-violation
-              'syntax-violation
-              "invalid argument"
-              #{who 40940}#))
-          (if (not (string? #{message 40941}#))
-            (syntax-violation
-              'syntax-violation
-              "invalid argument"
-              #{message 40941}#))
-          (throw 'syntax-error
-                 #{who 40940}#
-                 #{message 40941}#
-                 (#{source-annotation 28232}#
-                   (if #{form 40942}#
-                     #{form 40942}#
-                     #{subform 40943}#))
-                 (#{strip 28284}# #{form 40942}# '(()))
-                 (if #{subform 40943}#
-                   (#{strip 28284}# #{subform 40943}# '(()))
-                   #f)))))
-    (letrec*
-      ((#{match-each 41192}#
-         (lambda (#{e 42071}#
-                  #{p 42072}#
-                  #{w 42073}#
-                  #{mod 42074}#)
-           (if (pair? #{e 42071}#)
-             (let ((#{first 42075}#
-                     (#{match 41198}#
-                       (car #{e 42071}#)
-                       #{p 42072}#
-                       #{w 42073}#
-                       '()
-                       #{mod 42074}#)))
-               (if #{first 42075}#
-                 (let ((#{rest 42078}#
-                         (#{match-each 41192}#
-                           (cdr #{e 42071}#)
-                           #{p 42072}#
-                           #{w 42073}#
-                           #{mod 42074}#)))
-                   (if #{rest 42078}#
-                     (cons #{first 42075}# #{rest 42078}#)
-                     #f))
-                 #f))
-             (if (null? #{e 42071}#)
-               '()
-               (if (if (vector? #{e 42071}#)
-                     (if (= (vector-length #{e 42071}#) 4)
-                       (eq? (vector-ref #{e 42071}# 0) 'syntax-object)
-                       #f)
-                     #f)
-                 (#{match-each 41192}#
-                   (vector-ref #{e 42071}# 1)
-                   #{p 42072}#
-                   (let ((#{w2 42100}# (vector-ref #{e 42071}# 2)))
-                     (let ((#{m1 42101}# (car #{w 42073}#))
-                           (#{s1 42102}# (cdr #{w 42073}#)))
-                       (if (null? #{m1 42101}#)
-                         (if (null? #{s1 42102}#)
-                           #{w2 42100}#
-                           (cons (car #{w2 42100}#)
-                                 (let ((#{m2 42113}# (cdr #{w2 42100}#)))
-                                   (if (null? #{m2 42113}#)
-                                     #{s1 42102}#
-                                     (append #{s1 42102}# #{m2 42113}#)))))
-                         (cons (let ((#{m2 42121}# (car #{w2 42100}#)))
-                                 (if (null? #{m2 42121}#)
-                                   #{m1 42101}#
-                                   (append #{m1 42101}# #{m2 42121}#)))
-                               (let ((#{m2 42129}# (cdr #{w2 42100}#)))
-                                 (if (null? #{m2 42129}#)
-                                   #{s1 42102}#
-                                   (append #{s1 42102}# #{m2 42129}#)))))))
-                   (vector-ref #{e 42071}# 3))
-                 #f)))))
-       (#{match-each-any 41194}#
-         (lambda (#{e 42138}# #{w 42139}# #{mod 42140}#)
-           (if (pair? #{e 42138}#)
-             (let ((#{l 42141}#
-                     (#{match-each-any 41194}#
-                       (cdr #{e 42138}#)
-                       #{w 42139}#
-                       #{mod 42140}#)))
-               (if #{l 42141}#
-                 (cons (let ((#{x 42146}# (car #{e 42138}#)))
-                         (if (if (null? (car #{w 42139}#))
-                               (null? (cdr #{w 42139}#))
+          (define!
+            'syntax-module
+            (lambda (id-17380)
+              (begin
+                (if (not (if (if (vector? id-17380)
+                               (if (= (vector-length id-17380) 4)
+                                 (eq? (vector-ref id-17380 0) 'syntax-object)
+                                 #f)
                                #f)
-                           #{x 42146}#
-                           (if (if (vector? #{x 42146}#)
-                                 (if (= (vector-length #{x 42146}#) 4)
-                                   (eq? (vector-ref #{x 42146}# 0)
-                                        'syntax-object)
-                                   #f)
+                           (symbol? (vector-ref id-17380 1))
+                           #f))
+                  (syntax-violation
+                    'syntax-module
+                    "invalid argument"
+                    id-17380))
+                (cdr (vector-ref id-17380 3)))))
+          (define!
+            'syntax-local-binding
+            syntax-local-binding-17377)
+          (define!
+            'syntax-locally-bound-identifiers
+            syntax-locally-bound-identifiers-17378)))
+      (letrec*
+        ((match-each-17708
+           (lambda (e-18587 p-18588 w-18589 mod-18590)
+             (if (pair? e-18587)
+               (let ((first-18591
+                       (match-17714
+                         (car e-18587)
+                         p-18588
+                         w-18589
+                         '()
+                         mod-18590)))
+                 (if first-18591
+                   (let ((rest-18594
+                           (match-each-17708
+                             (cdr e-18587)
+                             p-18588
+                             w-18589
+                             mod-18590)))
+                     (if rest-18594 (cons first-18591 rest-18594) #f))
+                   #f))
+               (if (null? e-18587)
+                 '()
+                 (if (if (vector? e-18587)
+                       (if (= (vector-length e-18587) 4)
+                         (eq? (vector-ref e-18587 0) 'syntax-object)
+                         #f)
+                       #f)
+                   (match-each-17708
+                     (vector-ref e-18587 1)
+                     p-18588
+                     (let ((w2-18616 (vector-ref e-18587 2)))
+                       (let ((m1-18617 (car w-18589))
+                             (s1-18618 (cdr w-18589)))
+                         (if (null? m1-18617)
+                           (if (null? s1-18618)
+                             w2-18616
+                             (cons (car w2-18616)
+                                   (let ((m2-18629 (cdr w2-18616)))
+                                     (if (null? m2-18629)
+                                       s1-18618
+                                       (append s1-18618 m2-18629)))))
+                           (cons (let ((m2-18637 (car w2-18616)))
+                                   (if (null? m2-18637)
+                                     m1-18617
+                                     (append m1-18617 m2-18637)))
+                                 (let ((m2-18645 (cdr w2-18616)))
+                                   (if (null? m2-18645)
+                                     s1-18618
+                                     (append s1-18618 m2-18645)))))))
+                     (vector-ref e-18587 3))
+                   #f)))))
+         (match-each-any-17710
+           (lambda (e-18654 w-18655 mod-18656)
+             (if (pair? e-18654)
+               (let ((l-18657
+                       (match-each-any-17710
+                         (cdr e-18654)
+                         w-18655
+                         mod-18656)))
+                 (if l-18657
+                   (cons (let ((x-18662 (car e-18654)))
+                           (if (if (null? (car w-18655))
+                                 (null? (cdr w-18655))
                                  #f)
-                             (let ((#{expression 42164}#
-                                     (vector-ref #{x 42146}# 1))
-                                   (#{wrap 42165}#
-                                     (let ((#{w2 42173}#
-                                             (vector-ref #{x 42146}# 2)))
-                                       (let ((#{m1 42174}# (car #{w 42139}#))
-                                             (#{s1 42175}# (cdr #{w 42139}#)))
-                                         (if (null? #{m1 42174}#)
-                                           (if (null? #{s1 42175}#)
-                                             #{w2 42173}#
-                                             (cons (car #{w2 42173}#)
-                                                   (let ((#{m2 42190}#
-                                                           (cdr #{w2 42173}#)))
-                                                     (if (null? #{m2 42190}#)
-                                                       #{s1 42175}#
+                             x-18662
+                             (if (if (vector? x-18662)
+                                   (if (= (vector-length x-18662) 4)
+                                     (eq? (vector-ref x-18662 0)
+                                          'syntax-object)
+                                     #f)
+                                   #f)
+                               (let ((expression-18680 (vector-ref x-18662 1))
+                                     (wrap-18681
+                                       (let ((w2-18689 (vector-ref x-18662 2)))
+                                         (let ((m1-18690 (car w-18655))
+                                               (s1-18691 (cdr w-18655)))
+                                           (if (null? m1-18690)
+                                             (if (null? s1-18691)
+                                               w2-18689
+                                               (cons (car w2-18689)
+                                                     (let ((m2-18706
+                                                             (cdr w2-18689)))
+                                                       (if (null? m2-18706)
+                                                         s1-18691
+                                                         (append
+                                                           s1-18691
+                                                           m2-18706)))))
+                                             (cons (let ((m2-18714
+                                                           (car w2-18689)))
+                                                     (if (null? m2-18714)
+                                                       m1-18690
                                                        (append
-                                                         #{s1 42175}#
-                                                         #{m2 42190}#)))))
-                                           (cons (let ((#{m2 42198}#
-                                                         (car #{w2 42173}#)))
-                                                   (if (null? #{m2 42198}#)
-                                                     #{m1 42174}#
-                                                     (append
-                                                       #{m1 42174}#
-                                                       #{m2 42198}#)))
-                                                 (let ((#{m2 42206}#
-                                                         (cdr #{w2 42173}#)))
-                                                   (if (null? #{m2 42206}#)
-                                                     #{s1 42175}#
-                                                     (append
-                                                       #{s1 42175}#
-                                                       #{m2 42206}#))))))))
-                                   (#{module 42166}#
-                                     (vector-ref #{x 42146}# 3)))
-                               (vector
-                                 'syntax-object
-                                 #{expression 42164}#
-                                 #{wrap 42165}#
-                                 #{module 42166}#))
-                             (if (null? #{x 42146}#)
-                               #{x 42146}#
-                               (vector
-                                 'syntax-object
-                                 #{x 42146}#
-                                 #{w 42139}#
-                                 #{mod 42140}#)))))
-                       #{l 42141}#)
-                 #f))
-             (if (null? #{e 42138}#)
-               '()
-               (if (if (vector? #{e 42138}#)
-                     (if (= (vector-length #{e 42138}#) 4)
-                       (eq? (vector-ref #{e 42138}# 0) 'syntax-object)
+                                                         m1-18690
+                                                         m2-18714)))
+                                                   (let ((m2-18722
+                                                           (cdr w2-18689)))
+                                                     (if (null? m2-18722)
+                                                       s1-18691
+                                                       (append
+                                                         s1-18691
+                                                         m2-18722))))))))
+                                     (module-18682 (vector-ref x-18662 3)))
+                                 (vector
+                                   'syntax-object
+                                   expression-18680
+                                   wrap-18681
+                                   module-18682))
+                               (if (null? x-18662)
+                                 x-18662
+                                 (vector
+                                   'syntax-object
+                                   x-18662
+                                   w-18655
+                                   mod-18656)))))
+                         l-18657)
+                   #f))
+               (if (null? e-18654)
+                 '()
+                 (if (if (vector? e-18654)
+                       (if (= (vector-length e-18654) 4)
+                         (eq? (vector-ref e-18654 0) 'syntax-object)
+                         #f)
                        #f)
-                     #f)
-                 (#{match-each-any 41194}#
-                   (vector-ref #{e 42138}# 1)
-                   (let ((#{w2 42239}# (vector-ref #{e 42138}# 2)))
-                     (let ((#{m1 42240}# (car #{w 42139}#))
-                           (#{s1 42241}# (cdr #{w 42139}#)))
-                       (if (null? #{m1 42240}#)
-                         (if (null? #{s1 42241}#)
-                           #{w2 42239}#
-                           (cons (car #{w2 42239}#)
-                                 (let ((#{m2 42252}# (cdr #{w2 42239}#)))
-                                   (if (null? #{m2 42252}#)
-                                     #{s1 42241}#
-                                     (append #{s1 42241}# #{m2 42252}#)))))
-                         (cons (let ((#{m2 42260}# (car #{w2 42239}#)))
-                                 (if (null? #{m2 42260}#)
-                                   #{m1 42240}#
-                                   (append #{m1 42240}# #{m2 42260}#)))
-                               (let ((#{m2 42268}# (cdr #{w2 42239}#)))
-                                 (if (null? #{m2 42268}#)
-                                   #{s1 42241}#
-                                   (append #{s1 42241}# #{m2 42268}#)))))))
-                   #{mod 42140}#)
-                 #f)))))
-       (#{match-empty 41195}#
-         (lambda (#{p 42273}# #{r 42274}#)
-           (if (null? #{p 42273}#)
-             #{r 42274}#
-             (if (eq? #{p 42273}# '_)
-               #{r 42274}#
-               (if (eq? #{p 42273}# 'any)
-                 (cons '() #{r 42274}#)
-                 (if (pair? #{p 42273}#)
-                   (#{match-empty 41195}#
-                     (car #{p 42273}#)
-                     (#{match-empty 41195}#
-                       (cdr #{p 42273}#)
-                       #{r 42274}#))
-                   (if (eq? #{p 42273}# 'each-any)
-                     (cons '() #{r 42274}#)
-                     (let ((#{atom-key 42275}# (vector-ref #{p 42273}# 0)))
-                       (if (eqv? #{atom-key 42275}# 'each)
-                         (#{match-empty 41195}#
-                           (vector-ref #{p 42273}# 1)
-                           #{r 42274}#)
-                         (if (eqv? #{atom-key 42275}# 'each+)
-                           (#{match-empty 41195}#
-                             (vector-ref #{p 42273}# 1)
-                             (#{match-empty 41195}#
-                               (reverse (vector-ref #{p 42273}# 2))
-                               (#{match-empty 41195}#
-                                 (vector-ref #{p 42273}# 3)
-                                 #{r 42274}#)))
-                           (if (if (eqv? #{atom-key 42275}# 'free-id)
-                                 #t
-                                 (eqv? #{atom-key 42275}# 'atom))
-                             #{r 42274}#
-                             (if (eqv? #{atom-key 42275}# 'vector)
-                               (#{match-empty 41195}#
-                                 (vector-ref #{p 42273}# 1)
-                                 #{r 42274}#)))))))))))))
-       (#{combine 41196}#
-         (lambda (#{r* 42294}# #{r 42295}#)
-           (if (null? (car #{r* 42294}#))
-             #{r 42295}#
-             (cons (map car #{r* 42294}#)
-                   (#{combine 41196}#
-                     (map cdr #{r* 42294}#)
-                     #{r 42295}#)))))
-       (#{match* 41197}#
-         (lambda (#{e 41227}#
-                  #{p 41228}#
-                  #{w 41229}#
-                  #{r 41230}#
-                  #{mod 41231}#)
-           (if (null? #{p 41228}#)
-             (if (null? #{e 41227}#) #{r 41230}# #f)
-             (if (pair? #{p 41228}#)
-               (if (pair? #{e 41227}#)
-                 (#{match 41198}#
-                   (car #{e 41227}#)
-                   (car #{p 41228}#)
-                   #{w 41229}#
-                   (#{match 41198}#
-                     (cdr #{e 41227}#)
-                     (cdr #{p 41228}#)
-                     #{w 41229}#
-                     #{r 41230}#
-                     #{mod 41231}#)
-                   #{mod 41231}#)
-                 #f)
-               (if (eq? #{p 41228}# 'each-any)
-                 (let ((#{l 41236}#
-                         (#{match-each-any 41194}#
-                           #{e 41227}#
-                           #{w 41229}#
-                           #{mod 41231}#)))
-                   (if #{l 41236}#
-                     (cons #{l 41236}# #{r 41230}#)
-                     #f))
-                 (let ((#{atom-key 41241}# (vector-ref #{p 41228}# 0)))
-                   (if (eqv? #{atom-key 41241}# 'each)
-                     (if (null? #{e 41227}#)
-                       (#{match-empty 41195}#
-                         (vector-ref #{p 41228}# 1)
-                         #{r 41230}#)
-                       (let ((#{l 41248}#
-                               (#{match-each 41192}#
-                                 #{e 41227}#
-                                 (vector-ref #{p 41228}# 1)
-                                 #{w 41229}#
-                                 #{mod 41231}#)))
-                         (if #{l 41248}#
-                           (letrec*
-                             ((#{collect 41251}#
-                                (lambda (#{l 41308}#)
-                                  (if (null? (car #{l 41308}#))
-                                    #{r 41230}#
-                                    (cons (map car #{l 41308}#)
-                                          (#{collect 41251}#
-                                            (map cdr #{l 41308}#)))))))
-                             (#{collect 41251}# #{l 41248}#))
-                           #f)))
-                     (if (eqv? #{atom-key 41241}# 'each+)
-                       (call-with-values
-                         (lambda ()
-                           (let ((#{x-pat 41317}# (vector-ref #{p 41228}# 1))
-                                 (#{y-pat 41318}# (vector-ref #{p 41228}# 2))
-                                 (#{z-pat 41319}# (vector-ref #{p 41228}# 3)))
+                   (match-each-any-17710
+                     (vector-ref e-18654 1)
+                     (let ((w2-18755 (vector-ref e-18654 2)))
+                       (let ((m1-18756 (car w-18655))
+                             (s1-18757 (cdr w-18655)))
+                         (if (null? m1-18756)
+                           (if (null? s1-18757)
+                             w2-18755
+                             (cons (car w2-18755)
+                                   (let ((m2-18768 (cdr w2-18755)))
+                                     (if (null? m2-18768)
+                                       s1-18757
+                                       (append s1-18757 m2-18768)))))
+                           (cons (let ((m2-18776 (car w2-18755)))
+                                   (if (null? m2-18776)
+                                     m1-18756
+                                     (append m1-18756 m2-18776)))
+                                 (let ((m2-18784 (cdr w2-18755)))
+                                   (if (null? m2-18784)
+                                     s1-18757
+                                     (append s1-18757 m2-18784)))))))
+                     mod-18656)
+                   #f)))))
+         (match-empty-17711
+           (lambda (p-18789 r-18790)
+             (if (null? p-18789)
+               r-18790
+               (if (eq? p-18789 '_)
+                 r-18790
+                 (if (eq? p-18789 'any)
+                   (cons '() r-18790)
+                   (if (pair? p-18789)
+                     (match-empty-17711
+                       (car p-18789)
+                       (match-empty-17711 (cdr p-18789) r-18790))
+                     (if (eq? p-18789 'each-any)
+                       (cons '() r-18790)
+                       (let ((atom-key-18791 (vector-ref p-18789 0)))
+                         (if (eqv? atom-key-18791 'each)
+                           (match-empty-17711
+                             (vector-ref p-18789 1)
+                             r-18790)
+                           (if (eqv? atom-key-18791 'each+)
+                             (match-empty-17711
+                               (vector-ref p-18789 1)
+                               (match-empty-17711
+                                 (reverse (vector-ref p-18789 2))
+                                 (match-empty-17711
+                                   (vector-ref p-18789 3)
+                                   r-18790)))
+                             (if (if (eqv? atom-key-18791 'free-id)
+                                   #t
+                                   (eqv? atom-key-18791 'atom))
+                               r-18790
+                               (if (eqv? atom-key-18791 'vector)
+                                 (match-empty-17711
+                                   (vector-ref p-18789 1)
+                                   r-18790)))))))))))))
+         (combine-17712
+           (lambda (r*-18810 r-18811)
+             (if (null? (car r*-18810))
+               r-18811
+               (cons (map car r*-18810)
+                     (combine-17712 (map cdr r*-18810) r-18811)))))
+         (match*-17713
+           (lambda (e-17743 p-17744 w-17745 r-17746 mod-17747)
+             (if (null? p-17744)
+               (if (null? e-17743) r-17746 #f)
+               (if (pair? p-17744)
+                 (if (pair? e-17743)
+                   (match-17714
+                     (car e-17743)
+                     (car p-17744)
+                     w-17745
+                     (match-17714
+                       (cdr e-17743)
+                       (cdr p-17744)
+                       w-17745
+                       r-17746
+                       mod-17747)
+                     mod-17747)
+                   #f)
+                 (if (eq? p-17744 'each-any)
+                   (let ((l-17752
+                           (match-each-any-17710 e-17743 w-17745 mod-17747)))
+                     (if l-17752 (cons l-17752 r-17746) #f))
+                   (let ((atom-key-17757 (vector-ref p-17744 0)))
+                     (if (eqv? atom-key-17757 'each)
+                       (if (null? e-17743)
+                         (match-empty-17711
+                           (vector-ref p-17744 1)
+                           r-17746)
+                         (let ((l-17764
+                                 (match-each-17708
+                                   e-17743
+                                   (vector-ref p-17744 1)
+                                   w-17745
+                                   mod-17747)))
+                           (if l-17764
                              (letrec*
-                               ((#{f 41323}#
-                                  (lambda (#{e 41325}# #{w 41326}#)
-                                    (if (pair? #{e 41325}#)
-                                      (call-with-values
-                                        (lambda ()
-                                          (#{f 41323}#
-                                            (cdr #{e 41325}#)
-                                            #{w 41326}#))
-                                        (lambda (#{xr* 41327}#
-                                                 #{y-pat 41328}#
-                                                 #{r 41329}#)
-                                          (if #{r 41329}#
-                                            (if (null? #{y-pat 41328}#)
-                                              (let ((#{xr 41330}#
-                                                      (#{match 41198}#
-                                                        (car #{e 41325}#)
-                                                        #{x-pat 41317}#
-                                                        #{w 41326}#
-                                                        '()
-                                                        #{mod 41231}#)))
-                                                (if #{xr 41330}#
-                                                  (values
-                                                    (cons #{xr 41330}#
-                                                          #{xr* 41327}#)
-                                                    #{y-pat 41328}#
-                                                    #{r 41329}#)
-                                                  (values #f #f #f)))
-                                              (values
-                                                '()
-                                                (cdr #{y-pat 41328}#)
-                                                (#{match 41198}#
-                                                  (car #{e 41325}#)
-                                                  (car #{y-pat 41328}#)
-                                                  #{w 41326}#
-                                                  #{r 41329}#
-                                                  #{mod 41231}#)))
-                                            (values #f #f #f))))
-                                      (if (if (vector? #{e 41325}#)
-                                            (if (= (vector-length #{e 41325}#)
-                                                   4)
-                                              (eq? (vector-ref #{e 41325}# 0)
-                                                   'syntax-object)
+                               ((collect-17767
+                                  (lambda (l-17824)
+                                    (if (null? (car l-17824))
+                                      r-17746
+                                      (cons (map car l-17824)
+                                            (collect-17767
+                                              (map cdr l-17824)))))))
+                               (collect-17767 l-17764))
+                             #f)))
+                       (if (eqv? atom-key-17757 'each+)
+                         (call-with-values
+                           (lambda ()
+                             (let ((x-pat-17833 (vector-ref p-17744 1))
+                                   (y-pat-17834 (vector-ref p-17744 2))
+                                   (z-pat-17835 (vector-ref p-17744 3)))
+                               (letrec*
+                                 ((f-17839
+                                    (lambda (e-17841 w-17842)
+                                      (if (pair? e-17841)
+                                        (call-with-values
+                                          (lambda ()
+                                            (f-17839 (cdr e-17841) w-17842))
+                                          (lambda (xr*-17843
+                                                   y-pat-17844
+                                                   r-17845)
+                                            (if r-17845
+                                              (if (null? y-pat-17844)
+                                                (let ((xr-17846
+                                                        (match-17714
+                                                          (car e-17841)
+                                                          x-pat-17833
+                                                          w-17842
+                                                          '()
+                                                          mod-17747)))
+                                                  (if xr-17846
+                                                    (values
+                                                      (cons xr-17846 xr*-17843)
+                                                      y-pat-17844
+                                                      r-17845)
+                                                    (values #f #f #f)))
+                                                (values
+                                                  '()
+                                                  (cdr y-pat-17844)
+                                                  (match-17714
+                                                    (car e-17841)
+                                                    (car y-pat-17844)
+                                                    w-17842
+                                                    r-17845
+                                                    mod-17747)))
+                                              (values #f #f #f))))
+                                        (if (if (vector? e-17841)
+                                              (if (= (vector-length e-17841) 4)
+                                                (eq? (vector-ref e-17841 0)
+                                                     'syntax-object)
+                                                #f)
                                               #f)
-                                            #f)
-                                        (#{f 41323}#
-                                          (vector-ref #{e 41325}# 1)
-                                          (let ((#{m1 41356}#
-                                                  (car #{w 41326}#))
-                                                (#{s1 41357}#
-                                                  (cdr #{w 41326}#)))
-                                            (if (null? #{m1 41356}#)
-                                              (if (null? #{s1 41357}#)
-                                                #{e 41325}#
-                                                (cons (car #{e 41325}#)
-                                                      (let ((#{m2 41369}#
-                                                              (cdr #{e 
41325}#)))
-                                                        (if (null? #{m2 
41369}#)
-                                                          #{s1 41357}#
+                                          (f-17839
+                                            (vector-ref e-17841 1)
+                                            (let ((m1-17872 (car w-17842))
+                                                  (s1-17873 (cdr w-17842)))
+                                              (if (null? m1-17872)
+                                                (if (null? s1-17873)
+                                                  e-17841
+                                                  (cons (car e-17841)
+                                                        (let ((m2-17885
+                                                                (cdr e-17841)))
+                                                          (if (null? m2-17885)
+                                                            s1-17873
+                                                            (append
+                                                              s1-17873
+                                                              m2-17885)))))
+                                                (cons (let ((m2-17895
+                                                              (car e-17841)))
+                                                        (if (null? m2-17895)
+                                                          m1-17872
                                                           (append
-                                                            #{s1 41357}#
-                                                            #{m2 41369}#)))))
-                                              (cons (let ((#{m2 41379}#
-                                                            (car #{e 41325}#)))
-                                                      (if (null? #{m2 41379}#)
-                                                        #{m1 41356}#
-                                                        (append
-                                                          #{m1 41356}#
-                                                          #{m2 41379}#)))
-                                                    (let ((#{m2 41389}#
-                                                            (cdr #{e 41325}#)))
-                                                      (if (null? #{m2 41389}#)
-                                                        #{s1 41357}#
-                                                        (append
-                                                          #{s1 41357}#
-                                                          #{m2 41389}#)))))))
-                                        (values
-                                          '()
-                                          #{y-pat 41318}#
-                                          (#{match 41198}#
-                                            #{e 41325}#
-                                            #{z-pat 41319}#
-                                            #{w 41326}#
-                                            #{r 41230}#
-                                            #{mod 41231}#)))))))
-                               (#{f 41323}# #{e 41227}# #{w 41229}#))))
-                         (lambda (#{xr* 41399}# #{y-pat 41400}# #{r 41401}#)
-                           (if #{r 41401}#
-                             (if (null? #{y-pat 41400}#)
-                               (if (null? #{xr* 41399}#)
-                                 (#{match-empty 41195}#
-                                   (vector-ref #{p 41228}# 1)
-                                   #{r 41401}#)
-                                 (#{combine 41196}# #{xr* 41399}# #{r 41401}#))
-                               #f)
-                             #f)))
-                       (if (eqv? #{atom-key 41241}# 'free-id)
-                         (if (if (symbol? #{e 41227}#)
-                               #t
-                               (if (if (vector? #{e 41227}#)
-                                     (if (= (vector-length #{e 41227}#) 4)
-                                       (eq? (vector-ref #{e 41227}# 0)
-                                            'syntax-object)
-                                       #f)
-                                     #f)
-                                 (symbol? (vector-ref #{e 41227}# 1))
-                                 #f))
-                           (if (#{free-id=? 28259}#
-                                 (if (if (null? (car #{w 41229}#))
-                                       (null? (cdr #{w 41229}#))
+                                                            m1-17872
+                                                            m2-17895)))
+                                                      (let ((m2-17905
+                                                              (cdr e-17841)))
+                                                        (if (null? m2-17905)
+                                                          s1-17873
+                                                          (append
+                                                            s1-17873
+                                                            m2-17905)))))))
+                                          (values
+                                            '()
+                                            y-pat-17834
+                                            (match-17714
+                                              e-17841
+                                              z-pat-17835
+                                              w-17842
+                                              r-17746
+                                              mod-17747)))))))
+                                 (f-17839 e-17743 w-17745))))
+                           (lambda (xr*-17915 y-pat-17916 r-17917)
+                             (if r-17917
+                               (if (null? y-pat-17916)
+                                 (if (null? xr*-17915)
+                                   (match-empty-17711
+                                     (vector-ref p-17744 1)
+                                     r-17917)
+                                   (combine-17712 xr*-17915 r-17917))
+                                 #f)
+                               #f)))
+                         (if (eqv? atom-key-17757 'free-id)
+                           (if (if (symbol? e-17743)
+                                 #t
+                                 (if (if (vector? e-17743)
+                                       (if (= (vector-length e-17743) 4)
+                                         (eq? (vector-ref e-17743 0)
+                                              'syntax-object)
+                                         #f)
                                        #f)
-                                   #{e 41227}#
-                                   (if (if (vector? #{e 41227}#)
-                                         (if (= (vector-length #{e 41227}#) 4)
-                                           (eq? (vector-ref #{e 41227}# 0)
-                                                'syntax-object)
-                                           #f)
+                                   (symbol? (vector-ref e-17743 1))
+                                   #f))
+                             (if (free-id=?-4574
+                                   (if (if (null? (car w-17745))
+                                         (null? (cdr w-17745))
                                          #f)
-                                     (let ((#{expression 41829}#
-                                             (vector-ref #{e 41227}# 1))
-                                           (#{wrap 41830}#
-                                             (let ((#{w2 41840}#
-                                                     (vector-ref
-                                                       #{e 41227}#
-                                                       2)))
-                                               (let ((#{m1 41841}#
-                                                       (car #{w 41229}#))
-                                                     (#{s1 41842}#
-                                                       (cdr #{w 41229}#)))
-                                                 (if (null? #{m1 41841}#)
-                                                   (if (null? #{s1 41842}#)
-                                                     #{w2 41840}#
-                                                     (cons (car #{w2 41840}#)
-                                                           (let ((#{m2 41859}#
-                                                                   (cdr #{w2 
41840}#)))
-                                                             (if (null? #{m2 
41859}#)
-                                                               #{s1 41842}#
+                                     e-17743
+                                     (if (if (vector? e-17743)
+                                           (if (= (vector-length e-17743) 4)
+                                             (eq? (vector-ref e-17743 0)
+                                                  'syntax-object)
+                                             #f)
+                                           #f)
+                                       (let ((expression-18345
+                                               (vector-ref e-17743 1))
+                                             (wrap-18346
+                                               (let ((w2-18356
+                                                       (vector-ref e-17743 2)))
+                                                 (let ((m1-18357 (car w-17745))
+                                                       (s1-18358
+                                                         (cdr w-17745)))
+                                                   (if (null? m1-18357)
+                                                     (if (null? s1-18358)
+                                                       w2-18356
+                                                       (cons (car w2-18356)
+                                                             (let ((m2-18375
+                                                                     (cdr 
w2-18356)))
+                                                               (if (null? 
m2-18375)
+                                                                 s1-18358
+                                                                 (append
+                                                                   s1-18358
+                                                                   
m2-18375)))))
+                                                     (cons (let ((m2-18383
+                                                                   (car 
w2-18356)))
+                                                             (if (null? 
m2-18383)
+                                                               m1-18357
                                                                (append
-                                                                 #{s1 41842}#
-                                                                 #{m2 
41859}#)))))
-                                                   (cons (let ((#{m2 41867}#
-                                                                 (car #{w2 
41840}#)))
-                                                           (if (null? #{m2 
41867}#)
-                                                             #{m1 41841}#
-                                                             (append
-                                                               #{m1 41841}#
-                                                               #{m2 41867}#)))
-                                                         (let ((#{m2 41875}#
-                                                                 (cdr #{w2 
41840}#)))
-                                                           (if (null? #{m2 
41875}#)
-                                                             #{s1 41842}#
-                                                             (append
-                                                               #{s1 41842}#
-                                                               #{m2 
41875}#))))))))
-                                           (#{module 41831}#
-                                             (vector-ref #{e 41227}# 3)))
-                                       (vector
-                                         'syntax-object
-                                         #{expression 41829}#
-                                         #{wrap 41830}#
-                                         #{module 41831}#))
-                                     (if (null? #{e 41227}#)
-                                       #{e 41227}#
-                                       (vector
-                                         'syntax-object
-                                         #{e 41227}#
-                                         #{w 41229}#
-                                         #{mod 41231}#))))
-                                 (vector-ref #{p 41228}# 1))
-                             #{r 41230}#
-                             #f)
-                           #f)
-                         (if (eqv? #{atom-key 41241}# 'atom)
-                           (if (equal?
-                                 (vector-ref #{p 41228}# 1)
-                                 (#{strip 28284}# #{e 41227}# #{w 41229}#))
-                             #{r 41230}#
-                             #f)
-                           (if (eqv? #{atom-key 41241}# 'vector)
-                             (if (vector? #{e 41227}#)
-                               (#{match 41198}#
-                                 (vector->list #{e 41227}#)
-                                 (vector-ref #{p 41228}# 1)
-                                 #{w 41229}#
-                                 #{r 41230}#
-                                 #{mod 41231}#)
-                               #f))))))))))))
-       (#{match 41198}#
-         (lambda (#{e 41908}#
-                  #{p 41909}#
-                  #{w 41910}#
-                  #{r 41911}#
-                  #{mod 41912}#)
-           (if (not #{r 41911}#)
-             #f
-             (if (eq? #{p 41909}# '_)
-               #{r 41911}#
-               (if (eq? #{p 41909}# 'any)
-                 (cons (if (if (null? (car #{w 41910}#))
-                             (null? (cdr #{w 41910}#))
+                                                                 m1-18357
+                                                                 m2-18383)))
+                                                           (let ((m2-18391
+                                                                   (cdr 
w2-18356)))
+                                                             (if (null? 
m2-18391)
+                                                               s1-18358
+                                                               (append
+                                                                 s1-18358
+                                                                 
m2-18391))))))))
+                                             (module-18347
+                                               (vector-ref e-17743 3)))
+                                         (vector
+                                           'syntax-object
+                                           expression-18345
+                                           wrap-18346
+                                           module-18347))
+                                       (if (null? e-17743)
+                                         e-17743
+                                         (vector
+                                           'syntax-object
+                                           e-17743
+                                           w-17745
+                                           mod-17747))))
+                                   (vector-ref p-17744 1))
+                               r-17746
+                               #f)
                              #f)
-                         #{e 41908}#
-                         (if (if (vector? #{e 41908}#)
-                               (if (= (vector-length #{e 41908}#) 4)
-                                 (eq? (vector-ref #{e 41908}# 0)
-                                      'syntax-object)
-                                 #f)
+                           (if (eqv? atom-key-17757 'atom)
+                             (if (equal?
+                                   (vector-ref p-17744 1)
+                                   (strip-4599 e-17743 w-17745))
+                               r-17746
+                               #f)
+                             (if (eqv? atom-key-17757 'vector)
+                               (if (vector? e-17743)
+                                 (match-17714
+                                   (vector->list e-17743)
+                                   (vector-ref p-17744 1)
+                                   w-17745
+                                   r-17746
+                                   mod-17747)
+                                 #f))))))))))))
+         (match-17714
+           (lambda (e-18424 p-18425 w-18426 r-18427 mod-18428)
+             (if (not r-18427)
+               #f
+               (if (eq? p-18425 '_)
+                 r-18427
+                 (if (eq? p-18425 'any)
+                   (cons (if (if (null? (car w-18426))
+                               (null? (cdr w-18426))
                                #f)
-                           (let ((#{expression 41942}#
-                                   (vector-ref #{e 41908}# 1))
-                                 (#{wrap 41943}#
-                                   (let ((#{w2 41953}#
-                                           (vector-ref #{e 41908}# 2)))
-                                     (let ((#{m1 41954}# (car #{w 41910}#))
-                                           (#{s1 41955}# (cdr #{w 41910}#)))
-                                       (if (null? #{m1 41954}#)
-                                         (if (null? #{s1 41955}#)
-                                           #{w2 41953}#
-                                           (cons (car #{w2 41953}#)
-                                                 (let ((#{m2 41972}#
-                                                         (cdr #{w2 41953}#)))
-                                                   (if (null? #{m2 41972}#)
-                                                     #{s1 41955}#
+                           e-18424
+                           (if (if (vector? e-18424)
+                                 (if (= (vector-length e-18424) 4)
+                                   (eq? (vector-ref e-18424 0) 'syntax-object)
+                                   #f)
+                                 #f)
+                             (let ((expression-18458 (vector-ref e-18424 1))
+                                   (wrap-18459
+                                     (let ((w2-18469 (vector-ref e-18424 2)))
+                                       (let ((m1-18470 (car w-18426))
+                                             (s1-18471 (cdr w-18426)))
+                                         (if (null? m1-18470)
+                                           (if (null? s1-18471)
+                                             w2-18469
+                                             (cons (car w2-18469)
+                                                   (let ((m2-18488
+                                                           (cdr w2-18469)))
+                                                     (if (null? m2-18488)
+                                                       s1-18471
+                                                       (append
+                                                         s1-18471
+                                                         m2-18488)))))
+                                           (cons (let ((m2-18496
+                                                         (car w2-18469)))
+                                                   (if (null? m2-18496)
+                                                     m1-18470
                                                      (append
-                                                       #{s1 41955}#
-                                                       #{m2 41972}#)))))
-                                         (cons (let ((#{m2 41980}#
-                                                       (car #{w2 41953}#)))
-                                                 (if (null? #{m2 41980}#)
-                                                   #{m1 41954}#
-                                                   (append
-                                                     #{m1 41954}#
-                                                     #{m2 41980}#)))
-                                               (let ((#{m2 41988}#
-                                                       (cdr #{w2 41953}#)))
-                                                 (if (null? #{m2 41988}#)
-                                                   #{s1 41955}#
-                                                   (append
-                                                     #{s1 41955}#
-                                                     #{m2 41988}#))))))))
-                                 (#{module 41944}# (vector-ref #{e 41908}# 3)))
-                             (vector
-                               'syntax-object
-                               #{expression 41942}#
-                               #{wrap 41943}#
-                               #{module 41944}#))
-                           (if (null? #{e 41908}#)
-                             #{e 41908}#
-                             (vector
-                               'syntax-object
-                               #{e 41908}#
-                               #{w 41910}#
-                               #{mod 41912}#))))
-                       #{r 41911}#)
-                 (if (if (vector? #{e 41908}#)
-                       (if (= (vector-length #{e 41908}#) 4)
-                         (eq? (vector-ref #{e 41908}# 0) 'syntax-object)
+                                                       m1-18470
+                                                       m2-18496)))
+                                                 (let ((m2-18504
+                                                         (cdr w2-18469)))
+                                                   (if (null? m2-18504)
+                                                     s1-18471
+                                                     (append
+                                                       s1-18471
+                                                       m2-18504))))))))
+                                   (module-18460 (vector-ref e-18424 3)))
+                               (vector
+                                 'syntax-object
+                                 expression-18458
+                                 wrap-18459
+                                 module-18460))
+                             (if (null? e-18424)
+                               e-18424
+                               (vector
+                                 'syntax-object
+                                 e-18424
+                                 w-18426
+                                 mod-18428))))
+                         r-18427)
+                   (if (if (vector? e-18424)
+                         (if (= (vector-length e-18424) 4)
+                           (eq? (vector-ref e-18424 0) 'syntax-object)
+                           #f)
                          #f)
-                       #f)
-                   (#{match* 41197}#
-                     (vector-ref #{e 41908}# 1)
-                     #{p 41909}#
-                     (let ((#{w2 42031}# (vector-ref #{e 41908}# 2)))
-                       (let ((#{m1 42032}# (car #{w 41910}#))
-                             (#{s1 42033}# (cdr #{w 41910}#)))
-                         (if (null? #{m1 42032}#)
-                           (if (null? #{s1 42033}#)
-                             #{w2 42031}#
-                             (cons (car #{w2 42031}#)
-                                   (let ((#{m2 42044}# (cdr #{w2 42031}#)))
-                                     (if (null? #{m2 42044}#)
-                                       #{s1 42033}#
-                                       (append #{s1 42033}# #{m2 42044}#)))))
-                           (cons (let ((#{m2 42052}# (car #{w2 42031}#)))
-                                   (if (null? #{m2 42052}#)
-                                     #{m1 42032}#
-                                     (append #{m1 42032}# #{m2 42052}#)))
-                                 (let ((#{m2 42060}# (cdr #{w2 42031}#)))
-                                   (if (null? #{m2 42060}#)
-                                     #{s1 42033}#
-                                     (append #{s1 42033}# #{m2 42060}#)))))))
-                     #{r 41911}#
-                     (vector-ref #{e 41908}# 3))
-                   (#{match* 41197}#
-                     #{e 41908}#
-                     #{p 41909}#
-                     #{w 41910}#
-                     #{r 41911}#
-                     #{mod 41912}#))))))))
-      (set! $sc-dispatch
-        (lambda (#{e 41199}# #{p 41200}#)
-          (if (eq? #{p 41200}# 'any)
-            (list #{e 41199}#)
-            (if (eq? #{p 41200}# '_)
-              '()
-              (if (if (vector? #{e 41199}#)
-                    (if (= (vector-length #{e 41199}#) 4)
-                      (eq? (vector-ref #{e 41199}# 0) 'syntax-object)
+                     (match*-17713
+                       (vector-ref e-18424 1)
+                       p-18425
+                       (let ((w2-18547 (vector-ref e-18424 2)))
+                         (let ((m1-18548 (car w-18426))
+                               (s1-18549 (cdr w-18426)))
+                           (if (null? m1-18548)
+                             (if (null? s1-18549)
+                               w2-18547
+                               (cons (car w2-18547)
+                                     (let ((m2-18560 (cdr w2-18547)))
+                                       (if (null? m2-18560)
+                                         s1-18549
+                                         (append s1-18549 m2-18560)))))
+                             (cons (let ((m2-18568 (car w2-18547)))
+                                     (if (null? m2-18568)
+                                       m1-18548
+                                       (append m1-18548 m2-18568)))
+                                   (let ((m2-18576 (cdr w2-18547)))
+                                     (if (null? m2-18576)
+                                       s1-18549
+                                       (append s1-18549 m2-18576)))))))
+                       r-18427
+                       (vector-ref e-18424 3))
+                     (match*-17713
+                       e-18424
+                       p-18425
+                       w-18426
+                       r-18427
+                       mod-18428))))))))
+        (set! $sc-dispatch
+          (lambda (e-17715 p-17716)
+            (if (eq? p-17716 'any)
+              (list e-17715)
+              (if (eq? p-17716 '_)
+                '()
+                (if (if (vector? e-17715)
+                      (if (= (vector-length e-17715) 4)
+                        (eq? (vector-ref e-17715 0) 'syntax-object)
+                        #f)
                       #f)
-                    #f)
-                (#{match* 41197}#
-                  (vector-ref #{e 41199}# 1)
-                  #{p 41200}#
-                  (vector-ref #{e 41199}# 2)
-                  '()
-                  (vector-ref #{e 41199}# 3))
-                (#{match* 41197}#
-                  #{e 41199}#
-                  #{p 41200}#
-                  '(())
-                  '()
-                  #f)))))))))
+                  (match*-17713
+                    (vector-ref e-17715 1)
+                    p-17716
+                    (vector-ref e-17715 2)
+                    '()
+                    (vector-ref e-17715 3))
+                  (match*-17713 e-17715 p-17716 '(()) '() #f))))))))))
 
 (define with-syntax
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x 59996}#)
-      (let ((#{tmp 59998}#
-              ($sc-dispatch #{x 59996}# '(_ () any . each-any))))
-        (if #{tmp 59998}#
+    (lambda (x-37252)
+      (let ((tmp-37254
+              ($sc-dispatch x-37252 '(_ () any . each-any))))
+        (if tmp-37254
           (@apply
-            (lambda (#{e1 60002}# #{e2 60003}#)
+            (lambda (e1-37258 e2-37259)
               (cons '#(syntax-object
                        let
                        ((top)
                         #(ribcage
                           #(e1 e2)
                           #((top) (top))
-                          #("i59969" "i59970"))
+                          #("l-*-37225" "l-*-37226"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i59966"))
+                        #(ribcage #(x) #((top)) #("l-*-37222"))
                         #(ribcage
                           (with-syntax)
                           ((top))
@@ -17811,27 +17884,27 @@
                               ((top))
                               (hygiene guile))))))
                        (hygiene guile))
-                    (cons '() (cons #{e1 60002}# #{e2 60003}#))))
-            #{tmp 59998}#)
-          (let ((#{tmp 60004}#
+                    (cons '() (cons e1-37258 e2-37259))))
+            tmp-37254)
+          (let ((tmp-37260
                   ($sc-dispatch
-                    #{x 59996}#
+                    x-37252
                     '(_ ((any any)) any . each-any))))
-            (if #{tmp 60004}#
+            (if tmp-37260
               (@apply
-                (lambda (#{out 60008}#
-                         #{in 60009}#
-                         #{e1 60010}#
-                         #{e2 60011}#)
+                (lambda (out-37264 in-37265 e1-37266 e2-37267)
                   (list '#(syntax-object
                            syntax-case
                            ((top)
                             #(ribcage
                               #(out in e1 e2)
                               #((top) (top) (top) (top))
-                              #("i59975" "i59976" "i59977" "i59978"))
+                              #("l-*-37231"
+                                "l-*-37232"
+                                "l-*-37233"
+                                "l-*-37234"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i59966"))
+                            #(ribcage #(x) #((top)) #("l-*-37222"))
                             #(ribcage
                               (with-syntax)
                               ((top))
@@ -17842,21 +17915,21 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{in 60009}#
+                        in-37265
                         '()
-                        (list #{out 60008}#
+                        (list out-37264
                               (cons '#(syntax-object
                                        let
                                        ((top)
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i59975"
-                                            "i59976"
-                                            "i59977"
-                                            "i59978"))
+                                          #("l-*-37231"
+                                            "l-*-37232"
+                                            "l-*-37233"
+                                            "l-*-37234"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i59966"))
+                                        #(ribcage #(x) #((top)) #("l-*-37222"))
                                         #(ribcage
                                           (with-syntax)
                                           ((top))
@@ -17867,28 +17940,27 @@
                                               ((top))
                                               (hygiene guile))))))
                                        (hygiene guile))
-                                    (cons '()
-                                          (cons #{e1 60010}# #{e2 60011}#))))))
-                #{tmp 60004}#)
-              (let ((#{tmp 60012}#
+                                    (cons '() (cons e1-37266 e2-37267))))))
+                tmp-37260)
+              (let ((tmp-37268
                       ($sc-dispatch
-                        #{x 59996}#
+                        x-37252
                         '(_ #(each (any any)) any . each-any))))
-                (if #{tmp 60012}#
+                (if tmp-37268
                   (@apply
-                    (lambda (#{out 60016}#
-                             #{in 60017}#
-                             #{e1 60018}#
-                             #{e2 60019}#)
+                    (lambda (out-37272 in-37273 e1-37274 e2-37275)
                       (list '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(out in e1 e2)
                                   #((top) (top) (top) (top))
-                                  #("i59985" "i59986" "i59987" "i59988"))
+                                  #("l-*-37241"
+                                    "l-*-37242"
+                                    "l-*-37243"
+                                    "l-*-37244"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i59966"))
+                                #(ribcage #(x) #((top)) #("l-*-37222"))
                                 #(ribcage
                                   (with-syntax)
                                   ((top))
@@ -17905,9 +17977,12 @@
                                       #(ribcage
                                         #(out in e1 e2)
                                         #((top) (top) (top) (top))
-                                        #("i59985" "i59986" "i59987" "i59988"))
+                                        #("l-*-37241"
+                                          "l-*-37242"
+                                          "l-*-37243"
+                                          "l-*-37244"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i59966"))
+                                      #(ribcage #(x) #((top)) #("l-*-37222"))
                                       #(ribcage
                                         (with-syntax)
                                         ((top))
@@ -17918,24 +17993,24 @@
                                             ((top))
                                             (hygiene guile))))))
                                      (hygiene guile))
-                                  #{in 60017}#)
+                                  in-37273)
                             '()
-                            (list #{out 60016}#
+                            (list out-37272
                                   (cons '#(syntax-object
                                            let
                                            ((top)
                                             #(ribcage
                                               #(out in e1 e2)
                                               #((top) (top) (top) (top))
-                                              #("i59985"
-                                                "i59986"
-                                                "i59987"
-                                                "i59988"))
+                                              #("l-*-37241"
+                                                "l-*-37242"
+                                                "l-*-37243"
+                                                "l-*-37244"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i59966"))
+                                              #("l-*-37222"))
                                             #(ribcage
                                               (with-syntax)
                                               ((top))
@@ -17946,39 +18021,40 @@
                                                   ((top))
                                                   (hygiene guile))))))
                                            (hygiene guile))
-                                        (cons '()
-                                              (cons #{e1 60018}#
-                                                    #{e2 60019}#))))))
-                    #{tmp 60012}#)
+                                        (cons '() (cons e1-37274 e2-37275))))))
+                    tmp-37268)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{x 59996}#))))))))))
+                    x-37252))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x 60074}#)
-      (let ((#{tmp 60076}#
+    (lambda (x-37330)
+      (let ((tmp-37332
               ($sc-dispatch
-                #{x 60074}#
+                x-37330
                 '(_ each-any . #(each ((any . any) any))))))
-        (if #{tmp 60076}#
+        (if tmp-37332
           (@apply
-            (lambda (#{k 60080}#
-                     #{keyword 60081}#
-                     #{pattern 60082}#
-                     #{template 60083}#)
+            (lambda (k-37336
+                     keyword-37337
+                     pattern-37338
+                     template-37339)
               (list '#(syntax-object
                        lambda
                        ((top)
                         #(ribcage
                           #(k keyword pattern template)
                           #((top) (top) (top) (top))
-                          #("i60037" "i60038" "i60039" "i60040"))
+                          #("l-*-37293"
+                            "l-*-37294"
+                            "l-*-37295"
+                            "l-*-37296"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i60034"))
+                        #(ribcage #(x) #((top)) #("l-*-37290"))
                         #(ribcage
                           (syntax-rules)
                           ((top))
@@ -17995,9 +18071,12 @@
                          #(ribcage
                            #(k keyword pattern template)
                            #((top) (top) (top) (top))
-                           #("i60037" "i60038" "i60039" "i60040"))
+                           #("l-*-37293"
+                             "l-*-37294"
+                             "l-*-37295"
+                             "l-*-37296"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i60034"))
+                         #(ribcage #(x) #((top)) #("l-*-37290"))
                          #(ribcage
                            (syntax-rules)
                            ((top))
@@ -18015,9 +18094,12 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i60037" "i60038" "i60039" "i60040"))
+                             #("l-*-37293"
+                               "l-*-37294"
+                               "l-*-37295"
+                               "l-*-37296"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i60034"))
+                           #(ribcage #(x) #((top)) #("l-*-37290"))
                            #(ribcage
                              (syntax-rules)
                              ((top))
@@ -18035,9 +18117,12 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i60037" "i60038" "i60039" "i60040"))
+                             #("l-*-37293"
+                               "l-*-37294"
+                               "l-*-37295"
+                               "l-*-37296"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i60034"))
+                           #(ribcage #(x) #((top)) #("l-*-37290"))
                            #(ribcage
                              (syntax-rules)
                              ((top))
@@ -18054,9 +18139,12 @@
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i60037" "i60038" "i60039" "i60040"))
+                                  #("l-*-37293"
+                                    "l-*-37294"
+                                    "l-*-37295"
+                                    "l-*-37296"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i60034"))
+                                #(ribcage #(x) #((top)) #("l-*-37290"))
                                 #(ribcage
                                   (syntax-rules)
                                   ((top))
@@ -18067,16 +18155,19 @@
                                       ((top))
                                       (hygiene guile))))))
                                (hygiene guile))
-                            #{pattern 60082}#))
+                            pattern-37338))
                     (cons '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(k keyword pattern template)
                                 #((top) (top) (top) (top))
-                                #("i60037" "i60038" "i60039" "i60040"))
+                                #("l-*-37293"
+                                  "l-*-37294"
+                                  "l-*-37295"
+                                  "l-*-37296"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i60034"))
+                              #(ribcage #(x) #((top)) #("l-*-37290"))
                               #(ribcage
                                 (syntax-rules)
                                 ((top))
@@ -18093,9 +18184,12 @@
                                     #(ribcage
                                       #(k keyword pattern template)
                                       #((top) (top) (top) (top))
-                                      #("i60037" "i60038" "i60039" "i60040"))
+                                      #("l-*-37293"
+                                        "l-*-37294"
+                                        "l-*-37295"
+                                        "l-*-37296"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i60034"))
+                                    #(ribcage #(x) #((top)) #("l-*-37290"))
                                     #(ribcage
                                       (syntax-rules)
                                       ((top))
@@ -18106,9 +18200,9 @@
                                           ((top))
                                           (hygiene guile))))))
                                    (hygiene guile))
-                                (cons #{k 60080}#
-                                      (map (lambda (#{tmp 60048 60084}#
-                                                    #{tmp 60047 60085}#)
+                                (cons k-37336
+                                      (map (lambda (tmp-37304-37340
+                                                    tmp-37303-37341)
                                              (list (cons '#(syntax-object
                                                             _
                                                             ((top)
@@ -18121,10 +18215,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i60037"
-                                                                 "i60038"
-                                                                 "i60039"
-                                                                 "i60040"))
+                                                               #("l-*-37293"
+                                                                 "l-*-37294"
+                                                                 "l-*-37295"
+                                                                 "l-*-37296"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18132,7 +18226,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i60034"))
+                                                               #("l-*-37290"))
                                                              #(ribcage
                                                                (syntax-rules)
                                                                ((top))
@@ -18145,7 +18239,7 @@
                                                                    (hygiene
                                                                      
guile))))))
                                                             (hygiene guile))
-                                                         #{tmp 60047 60085}#)
+                                                         tmp-37303-37341)
                                                    (list '#(syntax-object
                                                             syntax
                                                             ((top)
@@ -18158,10 +18252,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i60037"
-                                                                 "i60038"
-                                                                 "i60039"
-                                                                 "i60040"))
+                                                               #("l-*-37293"
+                                                                 "l-*-37294"
+                                                                 "l-*-37295"
+                                                                 "l-*-37296"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -18169,7 +18263,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i60034"))
+                                                               #("l-*-37290"))
                                                              #(ribcage
                                                                (syntax-rules)
                                                                ((top))
@@ -18182,39 +18276,43 @@
                                                                    (hygiene
                                                                      
guile))))))
                                                             (hygiene guile))
-                                                         #{tmp 60048 60084}#)))
-                                           #{template 60083}#
-                                           #{pattern 60082}#))))))
-            #{tmp 60076}#)
-          (let ((#{tmp 60086}#
+                                                         tmp-37304-37340)))
+                                           template-37339
+                                           pattern-37338))))))
+            tmp-37332)
+          (let ((tmp-37342
                   ($sc-dispatch
-                    #{x 60074}#
+                    x-37330
                     '(_ each-any any . #(each ((any . any) any))))))
-            (if (if #{tmp 60086}#
+            (if (if tmp-37342
                   (@apply
-                    (lambda (#{k 60090}#
-                             #{docstring 60091}#
-                             #{keyword 60092}#
-                             #{pattern 60093}#
-                             #{template 60094}#)
-                      (string? (syntax->datum #{docstring 60091}#)))
-                    #{tmp 60086}#)
+                    (lambda (k-37346
+                             docstring-37347
+                             keyword-37348
+                             pattern-37349
+                             template-37350)
+                      (string? (syntax->datum docstring-37347)))
+                    tmp-37342)
                   #f)
               (@apply
-                (lambda (#{k 60095}#
-                         #{docstring 60096}#
-                         #{keyword 60097}#
-                         #{pattern 60098}#
-                         #{template 60099}#)
+                (lambda (k-37351
+                         docstring-37352
+                         keyword-37353
+                         pattern-37354
+                         template-37355)
                   (list '#(syntax-object
                            lambda
                            ((top)
                             #(ribcage
                               #(k docstring keyword pattern template)
                               #((top) (top) (top) (top) (top))
-                              #("i60060" "i60061" "i60062" "i60063" "i60064"))
+                              #("l-*-37316"
+                                "l-*-37317"
+                                "l-*-37318"
+                                "l-*-37319"
+                                "l-*-37320"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i60034"))
+                            #(ribcage #(x) #((top)) #("l-*-37290"))
                             #(ribcage
                               (syntax-rules)
                               ((top))
@@ -18231,9 +18329,13 @@
                              #(ribcage
                                #(k docstring keyword pattern template)
                                #((top) (top) (top) (top) (top))
-                               #("i60060" "i60061" "i60062" "i60063" "i60064"))
+                               #("l-*-37316"
+                                 "l-*-37317"
+                                 "l-*-37318"
+                                 "l-*-37319"
+                                 "l-*-37320"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i60034"))
+                             #(ribcage #(x) #((top)) #("l-*-37290"))
                              #(ribcage
                                (syntax-rules)
                                ((top))
@@ -18244,7 +18346,7 @@
                                    ((top))
                                    (hygiene guile))))))
                             (hygiene guile)))
-                        #{docstring 60096}#
+                        docstring-37352
                         (vector
                           '(#(syntax-object
                               macro-type
@@ -18252,13 +18354,13 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i60060"
-                                   "i60061"
-                                   "i60062"
-                                   "i60063"
-                                   "i60064"))
+                                 #("l-*-37316"
+                                   "l-*-37317"
+                                   "l-*-37318"
+                                   "l-*-37319"
+                                   "l-*-37320"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i60034"))
+                               #(ribcage #(x) #((top)) #("l-*-37290"))
                                #(ribcage
                                  (syntax-rules)
                                  ((top))
@@ -18276,13 +18378,13 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i60060"
-                                   "i60061"
-                                   "i60062"
-                                   "i60063"
-                                   "i60064"))
+                                 #("l-*-37316"
+                                   "l-*-37317"
+                                   "l-*-37318"
+                                   "l-*-37319"
+                                   "l-*-37320"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i60034"))
+                               #(ribcage #(x) #((top)) #("l-*-37290"))
                                #(ribcage
                                  (syntax-rules)
                                  ((top))
@@ -18299,13 +18401,13 @@
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i60060"
-                                        "i60061"
-                                        "i60062"
-                                        "i60063"
-                                        "i60064"))
+                                      #("l-*-37316"
+                                        "l-*-37317"
+                                        "l-*-37318"
+                                        "l-*-37319"
+                                        "l-*-37320"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i60034"))
+                                    #(ribcage #(x) #((top)) #("l-*-37290"))
                                     #(ribcage
                                       (syntax-rules)
                                       ((top))
@@ -18316,20 +18418,20 @@
                                           ((top))
                                           (hygiene guile))))))
                                    (hygiene guile))
-                                #{pattern 60098}#))
+                                pattern-37354))
                         (cons '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(k docstring keyword pattern template)
                                     #((top) (top) (top) (top) (top))
-                                    #("i60060"
-                                      "i60061"
-                                      "i60062"
-                                      "i60063"
-                                      "i60064"))
+                                    #("l-*-37316"
+                                      "l-*-37317"
+                                      "l-*-37318"
+                                      "l-*-37319"
+                                      "l-*-37320"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i60034"))
+                                  #(ribcage #(x) #((top)) #("l-*-37290"))
                                   #(ribcage
                                     (syntax-rules)
                                     ((top))
@@ -18350,13 +18452,13 @@
                                             pattern
                                             template)
                                           #((top) (top) (top) (top) (top))
-                                          #("i60060"
-                                            "i60061"
-                                            "i60062"
-                                            "i60063"
-                                            "i60064"))
+                                          #("l-*-37316"
+                                            "l-*-37317"
+                                            "l-*-37318"
+                                            "l-*-37319"
+                                            "l-*-37320"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i60034"))
+                                        #(ribcage #(x) #((top)) #("l-*-37290"))
                                         #(ribcage
                                           (syntax-rules)
                                           ((top))
@@ -18367,9 +18469,9 @@
                                               ((top))
                                               (hygiene guile))))))
                                        (hygiene guile))
-                                    (cons #{k 60095}#
-                                          (map (lambda (#{tmp 60073 60100}#
-                                                        #{tmp 60072 60101}#)
+                                    (cons k-37351
+                                          (map (lambda (tmp-37329-37356
+                                                        tmp-37328-37357)
                                                  (list (cons '#(syntax-object
                                                                 _
                                                                 ((top)
@@ -18384,11 +18486,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i60060"
-                                                                     "i60061"
-                                                                     "i60062"
-                                                                     "i60063"
-                                                                     "i60064"))
+                                                                   
#("l-*-37316"
+                                                                     
"l-*-37317"
+                                                                     
"l-*-37318"
+                                                                     
"l-*-37319"
+                                                                     
"l-*-37320"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18396,7 +18498,7 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   #("i60034"))
+                                                                   
#("l-*-37290"))
                                                                  #(ribcage
                                                                    
(syntax-rules)
                                                                    ((top))
@@ -18410,7 +18512,7 @@
                                                                          
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 60072 
60101}#)
+                                                             tmp-37328-37357)
                                                        (list '#(syntax-object
                                                                 syntax
                                                                 ((top)
@@ -18425,11 +18527,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i60060"
-                                                                     "i60061"
-                                                                     "i60062"
-                                                                     "i60063"
-                                                                     "i60064"))
+                                                                   
#("l-*-37316"
+                                                                     
"l-*-37317"
+                                                                     
"l-*-37318"
+                                                                     
"l-*-37319"
+                                                                     
"l-*-37320"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18437,7 +18539,7 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   #("i60034"))
+                                                                   
#("l-*-37290"))
                                                                  #(ribcage
                                                                    
(syntax-rules)
                                                                    ((top))
@@ -18451,36 +18553,34 @@
                                                                          
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 60073 
60100}#)))
-                                               #{template 60099}#
-                                               #{pattern 60098}#))))))
-                #{tmp 60086}#)
+                                                             tmp-37329-37356)))
+                                               template-37355
+                                               pattern-37354))))))
+                tmp-37342)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 60074}#))))))))
+                x-37330))))))))
 
 (define define-syntax-rule
   (make-syntax-transformer
     'define-syntax-rule
     'macro
-    (lambda (#{x 60139}#)
-      (let ((#{tmp 60141}#
-              ($sc-dispatch #{x 60139}# '(_ (any . any) any))))
-        (if #{tmp 60141}#
+    (lambda (x-37395)
+      (let ((tmp-37397
+              ($sc-dispatch x-37395 '(_ (any . any) any))))
+        (if tmp-37397
           (@apply
-            (lambda (#{name 60145}#
-                     #{pattern 60146}#
-                     #{template 60147}#)
+            (lambda (name-37401 pattern-37402 template-37403)
               (list '#(syntax-object
                        define-syntax
                        ((top)
                         #(ribcage
                           #(name pattern template)
                           #((top) (top) (top))
-                          #("i60116" "i60117" "i60118"))
+                          #("l-*-37372" "l-*-37373" "l-*-37374"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i60113"))
+                        #(ribcage #(x) #((top)) #("l-*-37369"))
                         #(ribcage
                           (define-syntax-rule)
                           ((top))
@@ -18491,16 +18591,16 @@
                               ((top))
                               (hygiene guile))))))
                        (hygiene guile))
-                    #{name 60145}#
+                    name-37401
                     (list '#(syntax-object
                              syntax-rules
                              ((top)
                               #(ribcage
                                 #(name pattern template)
                                 #((top) (top) (top))
-                                #("i60116" "i60117" "i60118"))
+                                #("l-*-37372" "l-*-37373" "l-*-37374"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i60113"))
+                              #(ribcage #(x) #((top)) #("l-*-37369"))
                               #(ribcage
                                 (define-syntax-rule)
                                 ((top))
@@ -18518,9 +18618,14 @@
                                           #(ribcage
                                             #(name pattern template)
                                             #((top) (top) (top))
-                                            #("i60116" "i60117" "i60118"))
+                                            #("l-*-37372"
+                                              "l-*-37373"
+                                              "l-*-37374"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i60113"))
+                                          #(ribcage
+                                            #(x)
+                                            #((top))
+                                            #("l-*-37369"))
                                           #(ribcage
                                             (define-syntax-rule)
                                             ((top))
@@ -18531,36 +18636,37 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      #{pattern 60146}#)
-                                #{template 60147}#))))
-            #{tmp 60141}#)
-          (let ((#{tmp 60148}#
-                  ($sc-dispatch
-                    #{x 60139}#
-                    '(_ (any . any) any any))))
-            (if (if #{tmp 60148}#
+                                      pattern-37402)
+                                template-37403))))
+            tmp-37397)
+          (let ((tmp-37404
+                  ($sc-dispatch x-37395 '(_ (any . any) any any))))
+            (if (if tmp-37404
                   (@apply
-                    (lambda (#{name 60152}#
-                             #{pattern 60153}#
-                             #{docstring 60154}#
-                             #{template 60155}#)
-                      (string? (syntax->datum #{docstring 60154}#)))
-                    #{tmp 60148}#)
+                    (lambda (name-37408
+                             pattern-37409
+                             docstring-37410
+                             template-37411)
+                      (string? (syntax->datum docstring-37410)))
+                    tmp-37404)
                   #f)
               (@apply
-                (lambda (#{name 60156}#
-                         #{pattern 60157}#
-                         #{docstring 60158}#
-                         #{template 60159}#)
+                (lambda (name-37412
+                         pattern-37413
+                         docstring-37414
+                         template-37415)
                   (list '#(syntax-object
                            define-syntax
                            ((top)
                             #(ribcage
                               #(name pattern docstring template)
                               #((top) (top) (top) (top))
-                              #("i60131" "i60132" "i60133" "i60134"))
+                              #("l-*-37387"
+                                "l-*-37388"
+                                "l-*-37389"
+                                "l-*-37390"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i60113"))
+                            #(ribcage #(x) #((top)) #("l-*-37369"))
                             #(ribcage
                               (define-syntax-rule)
                               ((top))
@@ -18571,16 +18677,19 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{name 60156}#
+                        name-37412
                         (list '#(syntax-object
                                  syntax-rules
                                  ((top)
                                   #(ribcage
                                     #(name pattern docstring template)
                                     #((top) (top) (top) (top))
-                                    #("i60131" "i60132" "i60133" "i60134"))
+                                    #("l-*-37387"
+                                      "l-*-37388"
+                                      "l-*-37389"
+                                      "l-*-37390"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i60113"))
+                                  #(ribcage #(x) #((top)) #("l-*-37369"))
                                   #(ribcage
                                     (define-syntax-rule)
                                     ((top))
@@ -18592,7 +18701,7 @@
                                         (hygiene guile))))))
                                  (hygiene guile))
                               '()
-                              #{docstring 60158}#
+                              docstring-37414
                               (list (cons '#(syntax-object
                                              _
                                              ((top)
@@ -18602,15 +18711,15 @@
                                                   docstring
                                                   template)
                                                 #((top) (top) (top) (top))
-                                                #("i60131"
-                                                  "i60132"
-                                                  "i60133"
-                                                  "i60134"))
+                                                #("l-*-37387"
+                                                  "l-*-37388"
+                                                  "l-*-37389"
+                                                  "l-*-37390"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i60113"))
+                                                #("l-*-37369"))
                                               #(ribcage
                                                 (define-syntax-rule)
                                                 ((top))
@@ -18621,43 +18730,35 @@
                                                     ((top))
                                                     (hygiene guile))))))
                                              (hygiene guile))
-                                          #{pattern 60157}#)
-                                    #{template 60159}#))))
-                #{tmp 60148}#)
+                                          pattern-37413)
+                                    template-37415))))
+                tmp-37404)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 60139}#))))))))
+                x-37395))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x 60209}#)
-      (let ((#{tmp 60211}#
+    (lambda (x-37465)
+      (let ((tmp-37467
               ($sc-dispatch
-                #{x 60209}#
+                x-37465
                 '(any #(each (any any)) any . each-any))))
-        (if (if #{tmp 60211}#
+        (if (if tmp-37467
               (@apply
-                (lambda (#{let* 60215}#
-                         #{x 60216}#
-                         #{v 60217}#
-                         #{e1 60218}#
-                         #{e2 60219}#)
-                  (and-map identifier? #{x 60216}#))
-                #{tmp 60211}#)
+                (lambda (let*-37471 x-37472 v-37473 e1-37474 e2-37475)
+                  (and-map identifier? x-37472))
+                tmp-37467)
               #f)
           (@apply
-            (lambda (#{let* 60220}#
-                     #{x 60221}#
-                     #{v 60222}#
-                     #{e1 60223}#
-                     #{e2 60224}#)
+            (lambda (let*-37476 x-37477 v-37478 e1-37479 e2-37480)
               (letrec*
-                ((#{f 60225}#
-                   (lambda (#{bindings 60228}#)
-                     (if (null? #{bindings 60228}#)
+                ((f-37481
+                   (lambda (bindings-37484)
+                     (if (null? bindings-37484)
                        (cons '#(syntax-object
                                 let
                                 ((top)
@@ -18665,17 +18766,17 @@
                                  #(ribcage
                                    #(f bindings)
                                    #((top) (top))
-                                   #("i60195" "i60196"))
+                                   #("l-*-37451" "l-*-37452"))
                                  #(ribcage
                                    #(let* x v e1 e2)
                                    #((top) (top) (top) (top) (top))
-                                   #("i60185"
-                                     "i60186"
-                                     "i60187"
-                                     "i60188"
-                                     "i60189"))
+                                   #("l-*-37441"
+                                     "l-*-37442"
+                                     "l-*-37443"
+                                     "l-*-37444"
+                                     "l-*-37445"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i60171"))
+                                 #(ribcage #(x) #((top)) #("l-*-37427"))
                                  #(ribcage
                                    (let*)
                                    ((top))
@@ -18686,15 +18787,14 @@
                                        ((top))
                                        (hygiene guile))))))
                                 (hygiene guile))
-                             (cons '() (cons #{e1 60223}# #{e2 60224}#)))
-                       (let ((#{tmp 60229}#
-                               (list (#{f 60225}# (cdr #{bindings 60228}#))
-                                     (car #{bindings 60228}#))))
-                         (let ((#{tmp 60230}#
-                                 ($sc-dispatch #{tmp 60229}# '(any any))))
-                           (if #{tmp 60230}#
+                             (cons '() (cons e1-37479 e2-37480)))
+                       (let ((tmp-37485
+                               (list (f-37481 (cdr bindings-37484))
+                                     (car bindings-37484))))
+                         (let ((tmp-37486 ($sc-dispatch tmp-37485 '(any any))))
+                           (if tmp-37486
                              (@apply
-                               (lambda (#{body 60232}# #{binding 60233}#)
+                               (lambda (body-37488 binding-37489)
                                  (list '#(syntax-object
                                           let
                                           ((top)
@@ -18702,22 +18802,25 @@
                                            #(ribcage
                                              #(body binding)
                                              #((top) (top))
-                                             #("i60205" "i60206"))
+                                             #("l-*-37461" "l-*-37462"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(f bindings)
                                              #((top) (top))
-                                             #("i60195" "i60196"))
+                                             #("l-*-37451" "l-*-37452"))
                                            #(ribcage
                                              #(let* x v e1 e2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i60185"
-                                               "i60186"
-                                               "i60187"
-                                               "i60188"
-                                               "i60189"))
+                                             #("l-*-37441"
+                                               "l-*-37442"
+                                               "l-*-37443"
+                                               "l-*-37444"
+                                               "l-*-37445"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i60171"))
+                                           #(ribcage
+                                             #(x)
+                                             #((top))
+                                             #("l-*-37427"))
                                            #(ribcage
                                              (let*)
                                              ((top))
@@ -18728,66 +18831,64 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       (list #{binding 60233}#)
-                                       #{body 60232}#))
-                               #{tmp 60230}#)
+                                       (list binding-37489)
+                                       body-37488))
+                               tmp-37486)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 60229}#))))))))
-                (#{f 60225}# (map list #{x 60221}# #{v 60222}#))))
-            #{tmp 60211}#)
+                               tmp-37485))))))))
+                (f-37481 (map list x-37477 v-37478))))
+            tmp-37467)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 60209}#))))))
+            x-37465))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x 60292}#)
-      (let ((#{tmp 60294}#
+    (lambda (orig-x-37548)
+      (let ((tmp-37550
               ($sc-dispatch
-                #{orig-x 60292}#
+                orig-x-37548
                 '(_ #(each (any any . any))
                     (any . each-any)
                     .
                     each-any))))
-        (if #{tmp 60294}#
+        (if tmp-37550
           (@apply
-            (lambda (#{var 60298}#
-                     #{init 60299}#
-                     #{step 60300}#
-                     #{e0 60301}#
-                     #{e1 60302}#
-                     #{c 60303}#)
-              (let ((#{tmp 60304}#
-                      (map (lambda (#{v 60307}# #{s 60308}#)
-                             (let ((#{tmp 60310}#
-                                     ($sc-dispatch #{s 60308}# '())))
-                               (if #{tmp 60310}#
-                                 (@apply (lambda () #{v 60307}#) #{tmp 60310}#)
-                                 (let ((#{tmp 60313}#
-                                         ($sc-dispatch #{s 60308}# '(any))))
-                                   (if #{tmp 60313}#
+            (lambda (var-37554
+                     init-37555
+                     step-37556
+                     e0-37557
+                     e1-37558
+                     c-37559)
+              (let ((tmp-37560
+                      (map (lambda (v-37563 s-37564)
+                             (let ((tmp-37566 ($sc-dispatch s-37564 '())))
+                               (if tmp-37566
+                                 (@apply (lambda () v-37563) tmp-37566)
+                                 (let ((tmp-37569
+                                         ($sc-dispatch s-37564 '(any))))
+                                   (if tmp-37569
                                      (@apply
-                                       (lambda (#{e 60316}#) #{e 60316}#)
-                                       #{tmp 60313}#)
+                                       (lambda (e-37572) e-37572)
+                                       tmp-37569)
                                      (syntax-violation
                                        'do
                                        "bad step expression"
-                                       #{orig-x 60292}#
-                                       #{s 60308}#))))))
-                           #{var 60298}#
-                           #{step 60300}#)))
-                (let ((#{tmp 60305}#
-                        ($sc-dispatch #{tmp 60304}# 'each-any)))
-                  (if #{tmp 60305}#
+                                       orig-x-37548
+                                       s-37564))))))
+                           var-37554
+                           step-37556)))
+                (let ((tmp-37561 ($sc-dispatch tmp-37560 'each-any)))
+                  (if tmp-37561
                     (@apply
-                      (lambda (#{step 60322}#)
-                        (let ((#{tmp 60324}# ($sc-dispatch #{e1 60302}# '())))
-                          (if #{tmp 60324}#
+                      (lambda (step-37578)
+                        (let ((tmp-37580 ($sc-dispatch e1-37558 '())))
+                          (if tmp-37580
                             (@apply
                               (lambda ()
                                 (list '#(syntax-object
@@ -18797,7 +18898,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i60260"))
+                                            #("l-*-37516"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -18806,17 +18907,17 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i60245"
-                                              "i60246"
-                                              "i60247"
-                                              "i60248"
-                                              "i60249"
-                                              "i60250"))
+                                            #("l-*-37501"
+                                              "l-*-37502"
+                                              "l-*-37503"
+                                              "l-*-37504"
+                                              "l-*-37505"
+                                              "l-*-37506"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i60242"))
+                                            #("l-*-37498"))
                                           #(ribcage
                                             (do)
                                             ((top))
@@ -18834,7 +18935,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i60260"))
+                                            #("l-*-37516"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -18843,17 +18944,17 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i60245"
-                                              "i60246"
-                                              "i60247"
-                                              "i60248"
-                                              "i60249"
-                                              "i60250"))
+                                            #("l-*-37501"
+                                              "l-*-37502"
+                                              "l-*-37503"
+                                              "l-*-37504"
+                                              "l-*-37505"
+                                              "l-*-37506"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i60242"))
+                                            #("l-*-37498"))
                                           #(ribcage
                                             (do)
                                             ((top))
@@ -18864,7 +18965,7 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      (map list #{var 60298}# #{init 60299}#)
+                                      (map list var-37554 init-37555)
                                       (list '#(syntax-object
                                                if
                                                ((top)
@@ -18872,7 +18973,7 @@
                                                 #(ribcage
                                                   #(step)
                                                   #((top))
-                                                  #("i60260"))
+                                                  #("l-*-37516"))
                                                 #(ribcage
                                                   #(var init step e0 e1 c)
                                                   #((top)
@@ -18881,17 +18982,17 @@
                                                     (top)
                                                     (top)
                                                     (top))
-                                                  #("i60245"
-                                                    "i60246"
-                                                    "i60247"
-                                                    "i60248"
-                                                    "i60249"
-                                                    "i60250"))
+                                                  #("l-*-37501"
+                                                    "l-*-37502"
+                                                    "l-*-37503"
+                                                    "l-*-37504"
+                                                    "l-*-37505"
+                                                    "l-*-37506"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(orig-x)
                                                   #((top))
-                                                  #("i60242"))
+                                                  #("l-*-37498"))
                                                 #(ribcage
                                                   (do)
                                                   ((top))
@@ -18909,7 +19010,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i60260"))
+                                                        #("l-*-37516"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -18923,17 +19024,17 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i60245"
-                                                          "i60246"
-                                                          "i60247"
-                                                          "i60248"
-                                                          "i60249"
-                                                          "i60250"))
+                                                        #("l-*-37501"
+                                                          "l-*-37502"
+                                                          "l-*-37503"
+                                                          "l-*-37504"
+                                                          "l-*-37505"
+                                                          "l-*-37506"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i60242"))
+                                                        #("l-*-37498"))
                                                       #(ribcage
                                                         (do)
                                                         ((top))
@@ -18945,7 +19046,7 @@
                                                             (hygiene
                                                               guile))))))
                                                      (hygiene guile))
-                                                  #{e0 60301}#)
+                                                  e0-37557)
                                             (cons '#(syntax-object
                                                      begin
                                                      ((top)
@@ -18953,7 +19054,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i60260"))
+                                                        #("l-*-37516"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -18967,17 +19068,17 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i60245"
-                                                          "i60246"
-                                                          "i60247"
-                                                          "i60248"
-                                                          "i60249"
-                                                          "i60250"))
+                                                        #("l-*-37501"
+                                                          "l-*-37502"
+                                                          "l-*-37503"
+                                                          "l-*-37504"
+                                                          "l-*-37505"
+                                                          "l-*-37506"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i60242"))
+                                                        #("l-*-37498"))
                                                       #(ribcage
                                                         (do)
                                                         ((top))
@@ -18990,7 +19091,7 @@
                                                               guile))))))
                                                      (hygiene guile))
                                                   (append
-                                                    #{c 60303}#
+                                                    c-37559
                                                     (list (cons 
'#(syntax-object
                                                                    doloop
                                                                    ((top)
@@ -19001,7 +19102,7 @@
                                                                     #(ribcage
                                                                       #(step)
                                                                       #((top))
-                                                                      
#("i60260"))
+                                                                      
#("l-*-37516"))
                                                                     #(ribcage
                                                                       #(var
                                                                         init
@@ -19015,12 +19116,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      
#("i60245"
-                                                                        
"i60246"
-                                                                        
"i60247"
-                                                                        
"i60248"
-                                                                        
"i60249"
-                                                                        
"i60250"))
+                                                                      
#("l-*-37501"
+                                                                        
"l-*-37502"
+                                                                        
"l-*-37503"
+                                                                        
"l-*-37504"
+                                                                        
"l-*-37505"
+                                                                        
"l-*-37506"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -19028,7 +19129,7 @@
                                                                     #(ribcage
                                                                       #(orig-x)
                                                                       #((top))
-                                                                      
#("i60242"))
+                                                                      
#("l-*-37498"))
                                                                     #(ribcage
                                                                       (do)
                                                                       ((top))
@@ -19042,27 +19143,25 @@
                                                                             
guile))))))
                                                                    (hygiene
                                                                      guile))
-                                                                #{step 
60322}#)))))))
-                              #{tmp 60324}#)
-                            (let ((#{tmp 60328}#
-                                    ($sc-dispatch
-                                      #{e1 60302}#
-                                      '(any . each-any))))
-                              (if #{tmp 60328}#
+                                                                
step-37578)))))))
+                              tmp-37580)
+                            (let ((tmp-37584
+                                    ($sc-dispatch e1-37558 '(any . each-any))))
+                              (if tmp-37584
                                 (@apply
-                                  (lambda (#{e1 60332}# #{e2 60333}#)
+                                  (lambda (e1-37588 e2-37589)
                                     (list '#(syntax-object
                                              let
                                              ((top)
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i60269" "i60270"))
+                                                #("l-*-37525" "l-*-37526"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i60260"))
+                                                #("l-*-37516"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -19071,17 +19170,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i60245"
-                                                  "i60246"
-                                                  "i60247"
-                                                  "i60248"
-                                                  "i60249"
-                                                  "i60250"))
+                                                #("l-*-37501"
+                                                  "l-*-37502"
+                                                  "l-*-37503"
+                                                  "l-*-37504"
+                                                  "l-*-37505"
+                                                  "l-*-37506"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i60242"))
+                                                #("l-*-37498"))
                                               #(ribcage
                                                 (do)
                                                 ((top))
@@ -19098,12 +19197,12 @@
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i60269" "i60270"))
+                                                #("l-*-37525" "l-*-37526"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i60260"))
+                                                #("l-*-37516"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -19112,17 +19211,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i60245"
-                                                  "i60246"
-                                                  "i60247"
-                                                  "i60248"
-                                                  "i60249"
-                                                  "i60250"))
+                                                #("l-*-37501"
+                                                  "l-*-37502"
+                                                  "l-*-37503"
+                                                  "l-*-37504"
+                                                  "l-*-37505"
+                                                  "l-*-37506"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i60242"))
+                                                #("l-*-37498"))
                                               #(ribcage
                                                 (do)
                                                 ((top))
@@ -19133,21 +19232,20 @@
                                                     ((top))
                                                     (hygiene guile))))))
                                              (hygiene guile))
-                                          (map list
-                                               #{var 60298}#
-                                               #{init 60299}#)
+                                          (map list var-37554 init-37555)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
                                                     #(ribcage
                                                       #(e1 e2)
                                                       #((top) (top))
-                                                      #("i60269" "i60270"))
+                                                      #("l-*-37525"
+                                                        "l-*-37526"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i60260"))
+                                                      #("l-*-37516"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -19156,17 +19254,17 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i60245"
-                                                        "i60246"
-                                                        "i60247"
-                                                        "i60248"
-                                                        "i60249"
-                                                        "i60250"))
+                                                      #("l-*-37501"
+                                                        "l-*-37502"
+                                                        "l-*-37503"
+                                                        "l-*-37504"
+                                                        "l-*-37505"
+                                                        "l-*-37506"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i60242"))
+                                                      #("l-*-37498"))
                                                     #(ribcage
                                                       (do)
                                                       ((top))
@@ -19177,20 +19275,20 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{e0 60301}#
+                                                e0-37557
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i60269"
-                                                              "i60270"))
+                                                            #("l-*-37525"
+                                                              "l-*-37526"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i60260"))
+                                                            #("l-*-37516"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -19204,17 +19302,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i60245"
-                                                              "i60246"
-                                                              "i60247"
-                                                              "i60248"
-                                                              "i60249"
-                                                              "i60250"))
+                                                            #("l-*-37501"
+                                                              "l-*-37502"
+                                                              "l-*-37503"
+                                                              "l-*-37504"
+                                                              "l-*-37505"
+                                                              "l-*-37506"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i60242"))
+                                                            #("l-*-37498"))
                                                           #(ribcage
                                                             (do)
                                                             ((top))
@@ -19226,21 +19324,20 @@
                                                                 (hygiene
                                                                   guile))))))
                                                          (hygiene guile))
-                                                      (cons #{e1 60332}#
-                                                            #{e2 60333}#))
+                                                      (cons e1-37588 e2-37589))
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i60269"
-                                                              "i60270"))
+                                                            #("l-*-37525"
+                                                              "l-*-37526"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i60260"))
+                                                            #("l-*-37516"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -19254,17 +19351,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i60245"
-                                                              "i60246"
-                                                              "i60247"
-                                                              "i60248"
-                                                              "i60249"
-                                                              "i60250"))
+                                                            #("l-*-37501"
+                                                              "l-*-37502"
+                                                              "l-*-37503"
+                                                              "l-*-37504"
+                                                              "l-*-37505"
+                                                              "l-*-37506"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i60242"))
+                                                            #("l-*-37498"))
                                                           #(ribcage
                                                             (do)
                                                             ((top))
@@ -19277,7 +19374,7 @@
                                                                   guile))))))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c 60303}#
+                                                        c-37559
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
@@ -19286,8 +19383,8 @@
                                                                             e2)
                                                                           
#((top)
                                                                             
(top))
-                                                                          
#("i60269"
-                                                                            
"i60270"))
+                                                                          
#("l-*-37525"
+                                                                            
"l-*-37526"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -19295,7 +19392,7 @@
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i60260"))
+                                                                          
#("l-*-37516"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -19309,12 +19406,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i60245"
-                                                                            
"i60246"
-                                                                            
"i60247"
-                                                                            
"i60248"
-                                                                            
"i60249"
-                                                                            
"i60250"))
+                                                                          
#("l-*-37501"
+                                                                            
"l-*-37502"
+                                                                            
"l-*-37503"
+                                                                            
"l-*-37504"
+                                                                            
"l-*-37505"
+                                                                            
"l-*-37506"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -19322,7 +19419,7 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i60242"))
+                                                                          
#("l-*-37498"))
                                                                         
#(ribcage
                                                                           (do)
                                                                           
((top))
@@ -19336,33 +19433,33 @@
                                                                                
 guile))))))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step 
60322}#)))))))
-                                  #{tmp 60328}#)
+                                                                    
step-37578)))))))
+                                  tmp-37584)
                                 (syntax-violation
                                   #f
                                   "source expression failed to match any 
pattern"
-                                  #{e1 60302}#))))))
-                      #{tmp 60305}#)
+                                  e1-37558))))))
+                      tmp-37561)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 60304}#)))))
-            #{tmp 60294}#)
+                      tmp-37560)))))
+            tmp-37550)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{orig-x 60292}#))))))
+            orig-x-37548))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasi 60620}#
-         (lambda (#{p 60644}# #{lev 60645}#)
-           (let ((#{tmp 60647}#
+      ((quasi-37876
+         (lambda (p-37900 lev-37901)
+           (let ((tmp-37903
                    ($sc-dispatch
-                     #{p 60644}#
+                     p-37900
                      '(#(free-id
                          #(syntax-object
                            unquote
@@ -19371,7 +19468,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i60366" "i60367"))
+                              #("l-*-37622" "l-*-37623"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -19380,13 +19477,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i60362"
-                               "i60360"
-                               "i60358"
-                               "i60356"
-                               "i60354"
-                               "i60352"
-                               "i60350"))
+                              ("l-*-37618"
+                               "l-*-37616"
+                               "l-*-37614"
+                               "l-*-37612"
+                               "l-*-37610"
+                               "l-*-37608"
+                               "l-*-37606"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -19398,19 +19495,19 @@
                                   (hygiene guile))))))
                            (hygiene guile)))
                        any))))
-             (if #{tmp 60647}#
+             (if tmp-37903
                (@apply
-                 (lambda (#{p 60651}#)
-                   (if (= #{lev 60645}# 0)
+                 (lambda (p-37907)
+                   (if (= lev-37901 0)
                      (list '#(syntax-object
                               "value"
                               ((top)
-                               #(ribcage #(p) #((top)) #("i60370"))
+                               #(ribcage #(p) #((top)) #("l-*-37626"))
                                #(ribcage () () ())
                                #(ribcage
                                  #(p lev)
                                  #((top) (top))
-                                 #("i60366" "i60367"))
+                                 #("l-*-37622" "l-*-37623"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -19419,13 +19516,13 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i60362"
-                                  "i60360"
-                                  "i60358"
-                                  "i60356"
-                                  "i60354"
-                                  "i60352"
-                                  "i60350"))
+                                 ("l-*-37618"
+                                  "l-*-37616"
+                                  "l-*-37614"
+                                  "l-*-37612"
+                                  "l-*-37610"
+                                  "l-*-37608"
+                                  "l-*-37606"))
                                #(ribcage
                                  (quasiquote)
                                  ((top))
@@ -19436,17 +19533,17 @@
                                      ((top))
                                      (hygiene guile))))))
                               (hygiene guile))
-                           #{p 60651}#)
-                     (#{quasicons 60622}#
+                           p-37907)
+                     (quasicons-37878
                        '(#(syntax-object
                            "quote"
                            ((top)
-                            #(ribcage #(p) #((top)) #("i60370"))
+                            #(ribcage #(p) #((top)) #("l-*-37626"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i60366" "i60367"))
+                              #("l-*-37622" "l-*-37623"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -19455,13 +19552,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i60362"
-                               "i60360"
-                               "i60358"
-                               "i60356"
-                               "i60354"
-                               "i60352"
-                               "i60350"))
+                              ("l-*-37618"
+                               "l-*-37616"
+                               "l-*-37614"
+                               "l-*-37612"
+                               "l-*-37610"
+                               "l-*-37608"
+                               "l-*-37606"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -19475,12 +19572,12 @@
                          #(syntax-object
                            unquote
                            ((top)
-                            #(ribcage #(p) #((top)) #("i60370"))
+                            #(ribcage #(p) #((top)) #("l-*-37626"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i60366" "i60367"))
+                              #("l-*-37622" "l-*-37623"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -19489,13 +19586,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i60362"
-                               "i60360"
-                               "i60358"
-                               "i60356"
-                               "i60354"
-                               "i60352"
-                               "i60350"))
+                              ("l-*-37618"
+                               "l-*-37616"
+                               "l-*-37614"
+                               "l-*-37612"
+                               "l-*-37610"
+                               "l-*-37608"
+                               "l-*-37606"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -19506,13 +19603,11 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile)))
-                       (#{quasi 60620}#
-                         (list #{p 60651}#)
-                         (#{1-}# #{lev 60645}#)))))
-                 #{tmp 60647}#)
-               (let ((#{tmp 60654}#
+                       (quasi-37876 (list p-37907) (#{1-}# lev-37901)))))
+                 tmp-37903)
+               (let ((tmp-37910
                        ($sc-dispatch
-                         #{p 60644}#
+                         p-37900
                          '(#(free-id
                              #(syntax-object
                                quasiquote
@@ -19521,7 +19616,7 @@
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i60366" "i60367"))
+                                  #("l-*-37622" "l-*-37623"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -19530,13 +19625,13 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i60362"
-                                   "i60360"
-                                   "i60358"
-                                   "i60356"
-                                   "i60354"
-                                   "i60352"
-                                   "i60350"))
+                                  ("l-*-37618"
+                                   "l-*-37616"
+                                   "l-*-37614"
+                                   "l-*-37612"
+                                   "l-*-37610"
+                                   "l-*-37608"
+                                   "l-*-37606"))
                                 #(ribcage
                                   (quasiquote)
                                   ((top))
@@ -19548,19 +19643,19 @@
                                       (hygiene guile))))))
                                (hygiene guile)))
                            any))))
-                 (if #{tmp 60654}#
+                 (if tmp-37910
                    (@apply
-                     (lambda (#{p 60658}#)
-                       (#{quasicons 60622}#
+                     (lambda (p-37914)
+                       (quasicons-37878
                          '(#(syntax-object
                              "quote"
                              ((top)
-                              #(ribcage #(p) #((top)) #("i60373"))
+                              #(ribcage #(p) #((top)) #("l-*-37629"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i60366" "i60367"))
+                                #("l-*-37622" "l-*-37623"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -19569,13 +19664,13 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i60362"
-                                 "i60360"
-                                 "i60358"
-                                 "i60356"
-                                 "i60354"
-                                 "i60352"
-                                 "i60350"))
+                                ("l-*-37618"
+                                 "l-*-37616"
+                                 "l-*-37614"
+                                 "l-*-37612"
+                                 "l-*-37610"
+                                 "l-*-37608"
+                                 "l-*-37606"))
                               #(ribcage
                                 (quasiquote)
                                 ((top))
@@ -19589,12 +19684,12 @@
                            #(syntax-object
                              quasiquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i60373"))
+                              #(ribcage #(p) #((top)) #("l-*-37629"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i60366" "i60367"))
+                                #("l-*-37622" "l-*-37623"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -19603,13 +19698,13 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i60362"
-                                 "i60360"
-                                 "i60358"
-                                 "i60356"
-                                 "i60354"
-                                 "i60352"
-                                 "i60350"))
+                                ("l-*-37618"
+                                 "l-*-37616"
+                                 "l-*-37614"
+                                 "l-*-37612"
+                                 "l-*-37610"
+                                 "l-*-37608"
+                                 "l-*-37606"))
                               #(ribcage
                                 (quasiquote)
                                 ((top))
@@ -19620,18 +19715,15 @@
                                     ((top))
                                     (hygiene guile))))))
                              (hygiene guile)))
-                         (#{quasi 60620}#
-                           (list #{p 60658}#)
-                           (#{1+}# #{lev 60645}#))))
-                     #{tmp 60654}#)
-                   (let ((#{tmp 60661}#
-                           ($sc-dispatch #{p 60644}# '(any . any))))
-                     (if #{tmp 60661}#
+                         (quasi-37876 (list p-37914) (#{1+}# lev-37901))))
+                     tmp-37910)
+                   (let ((tmp-37917 ($sc-dispatch p-37900 '(any . any))))
+                     (if tmp-37917
                        (@apply
-                         (lambda (#{p 60665}# #{q 60666}#)
-                           (let ((#{tmp 60668}#
+                         (lambda (p-37921 q-37922)
+                           (let ((tmp-37924
                                    ($sc-dispatch
-                                     #{p 60665}#
+                                     p-37921
                                      '(#(free-id
                                          #(syntax-object
                                            unquote
@@ -19639,12 +19731,12 @@
                                             #(ribcage
                                               #(p q)
                                               #((top) (top))
-                                              #("i60376" "i60377"))
+                                              #("l-*-37632" "l-*-37633"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i60366" "i60367"))
+                                              #("l-*-37622" "l-*-37623"))
                                             #(ribcage
                                               (emit quasivector
                                                     quasilist*
@@ -19659,13 +19751,13 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i60362"
-                                               "i60360"
-                                               "i60358"
-                                               "i60356"
-                                               "i60354"
-                                               "i60352"
-                                               "i60350"))
+                                              ("l-*-37618"
+                                               "l-*-37616"
+                                               "l-*-37614"
+                                               "l-*-37612"
+                                               "l-*-37610"
+                                               "l-*-37608"
+                                               "l-*-37606"))
                                             #(ribcage
                                               (quasiquote)
                                               ((top))
@@ -19678,28 +19770,30 @@
                                            (hygiene guile)))
                                        .
                                        each-any))))
-                             (if #{tmp 60668}#
+                             (if tmp-37924
                                (@apply
-                                 (lambda (#{p 60672}#)
-                                   (if (= #{lev 60645}# 0)
-                                     (#{quasilist* 60624}#
-                                       (map (lambda (#{tmp 60384 60711}#)
+                                 (lambda (p-37928)
+                                   (if (= lev-37901 0)
+                                     (quasilist*-37880
+                                       (map (lambda (tmp-37640-37967)
                                               (list '#(syntax-object
                                                        "value"
                                                        ((top)
                                                         #(ribcage
                                                           #(p)
                                                           #((top))
-                                                          #("i60382"))
+                                                          #("l-*-37638"))
                                                         #(ribcage
                                                           #(p q)
                                                           #((top) (top))
-                                                          #("i60376" "i60377"))
+                                                          #("l-*-37632"
+                                                            "l-*-37633"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i60366" "i60367"))
+                                                          #("l-*-37622"
+                                                            "l-*-37623"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -19714,13 +19808,13 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i60362"
-                                                           "i60360"
-                                                           "i60358"
-                                                           "i60356"
-                                                           "i60354"
-                                                           "i60352"
-                                                           "i60350"))
+                                                          ("l-*-37618"
+                                                           "l-*-37616"
+                                                           "l-*-37614"
+                                                           "l-*-37612"
+                                                           "l-*-37610"
+                                                           "l-*-37608"
+                                                           "l-*-37606"))
                                                         #(ribcage
                                                           (quasiquote)
                                                           ((top))
@@ -19732,29 +19826,27 @@
                                                               (hygiene
                                                                 guile))))))
                                                        (hygiene guile))
-                                                    #{tmp 60384 60711}#))
-                                            #{p 60672}#)
-                                       (#{quasi 60620}#
-                                         #{q 60666}#
-                                         #{lev 60645}#))
-                                     (#{quasicons 60622}#
-                                       (#{quasicons 60622}#
+                                                    tmp-37640-37967))
+                                            p-37928)
+                                       (quasi-37876 q-37922 lev-37901))
+                                     (quasicons-37878
+                                       (quasicons-37878
                                          '(#(syntax-object
                                              "quote"
                                              ((top)
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i60382"))
+                                                #("l-*-37638"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i60376" "i60377"))
+                                                #("l-*-37632" "l-*-37633"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i60366" "i60367"))
+                                                #("l-*-37622" "l-*-37623"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -19769,13 +19861,13 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i60362"
-                                                 "i60360"
-                                                 "i60358"
-                                                 "i60356"
-                                                 "i60354"
-                                                 "i60352"
-                                                 "i60350"))
+                                                ("l-*-37618"
+                                                 "l-*-37616"
+                                                 "l-*-37614"
+                                                 "l-*-37612"
+                                                 "l-*-37610"
+                                                 "l-*-37608"
+                                                 "l-*-37606"))
                                               #(ribcage
                                                 (quasiquote)
                                                 ((top))
@@ -19792,16 +19884,16 @@
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i60382"))
+                                                #("l-*-37638"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i60376" "i60377"))
+                                                #("l-*-37632" "l-*-37633"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i60366" "i60367"))
+                                                #("l-*-37622" "l-*-37623"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -19816,13 +19908,13 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i60362"
-                                                 "i60360"
-                                                 "i60358"
-                                                 "i60356"
-                                                 "i60354"
-                                                 "i60352"
-                                                 "i60350"))
+                                                ("l-*-37618"
+                                                 "l-*-37616"
+                                                 "l-*-37614"
+                                                 "l-*-37612"
+                                                 "l-*-37610"
+                                                 "l-*-37608"
+                                                 "l-*-37606"))
                                               #(ribcage
                                                 (quasiquote)
                                                 ((top))
@@ -19833,16 +19925,14 @@
                                                     ((top))
                                                     (hygiene guile))))))
                                              (hygiene guile)))
-                                         (#{quasi 60620}#
-                                           #{p 60672}#
-                                           (#{1-}# #{lev 60645}#)))
-                                       (#{quasi 60620}#
-                                         #{q 60666}#
-                                         #{lev 60645}#))))
-                                 #{tmp 60668}#)
-                               (let ((#{tmp 60716}#
+                                         (quasi-37876
+                                           p-37928
+                                           (#{1-}# lev-37901)))
+                                       (quasi-37876 q-37922 lev-37901))))
+                                 tmp-37924)
+                               (let ((tmp-37972
                                        ($sc-dispatch
-                                         #{p 60665}#
+                                         p-37921
                                          '(#(free-id
                                              #(syntax-object
                                                unquote-splicing
@@ -19850,12 +19940,12 @@
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i60376" "i60377"))
+                                                  #("l-*-37632" "l-*-37633"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i60366" "i60367"))
+                                                  #("l-*-37622" "l-*-37623"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -19870,13 +19960,13 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i60362"
-                                                   "i60360"
-                                                   "i60358"
-                                                   "i60356"
-                                                   "i60354"
-                                                   "i60352"
-                                                   "i60350"))
+                                                  ("l-*-37618"
+                                                   "l-*-37616"
+                                                   "l-*-37614"
+                                                   "l-*-37612"
+                                                   "l-*-37610"
+                                                   "l-*-37608"
+                                                   "l-*-37606"))
                                                 #(ribcage
                                                   (quasiquote)
                                                   ((top))
@@ -19889,30 +19979,30 @@
                                                (hygiene guile)))
                                            .
                                            each-any))))
-                                 (if #{tmp 60716}#
+                                 (if tmp-37972
                                    (@apply
-                                     (lambda (#{p 60720}#)
-                                       (if (= #{lev 60645}# 0)
-                                         (#{quasiappend 60623}#
-                                           (map (lambda (#{tmp 60389 60723}#)
+                                     (lambda (p-37976)
+                                       (if (= lev-37901 0)
+                                         (quasiappend-37879
+                                           (map (lambda (tmp-37645-37979)
                                                   (list '#(syntax-object
                                                            "value"
                                                            ((top)
                                                             #(ribcage
                                                               #(p)
                                                               #((top))
-                                                              #("i60387"))
+                                                              #("l-*-37643"))
                                                             #(ribcage
                                                               #(p q)
                                                               #((top) (top))
-                                                              #("i60376"
-                                                                "i60377"))
+                                                              #("l-*-37632"
+                                                                "l-*-37633"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(p lev)
                                                               #((top) (top))
-                                                              #("i60366"
-                                                                "i60367"))
+                                                              #("l-*-37622"
+                                                                "l-*-37623"))
                                                             #(ribcage
                                                               (emit quasivector
                                                                     quasilist*
@@ -19927,13 +20017,13 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                              ("i60362"
-                                                               "i60360"
-                                                               "i60358"
-                                                               "i60356"
-                                                               "i60354"
-                                                               "i60352"
-                                                               "i60350"))
+                                                              ("l-*-37618"
+                                                               "l-*-37616"
+                                                               "l-*-37614"
+                                                               "l-*-37612"
+                                                               "l-*-37610"
+                                                               "l-*-37608"
+                                                               "l-*-37606"))
                                                             #(ribcage
                                                               (quasiquote)
                                                               ((top))
@@ -19945,29 +20035,27 @@
                                                                   (hygiene
                                                                     guile))))))
                                                            (hygiene guile))
-                                                        #{tmp 60389 60723}#))
-                                                #{p 60720}#)
-                                           (#{quasi 60620}#
-                                             #{q 60666}#
-                                             #{lev 60645}#))
-                                         (#{quasicons 60622}#
-                                           (#{quasicons 60622}#
+                                                        tmp-37645-37979))
+                                                p-37976)
+                                           (quasi-37876 q-37922 lev-37901))
+                                         (quasicons-37878
+                                           (quasicons-37878
                                              '(#(syntax-object
                                                  "quote"
                                                  ((top)
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i60387"))
+                                                    #("l-*-37643"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i60376" "i60377"))
+                                                    #("l-*-37632" "l-*-37633"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i60366" "i60367"))
+                                                    #("l-*-37622" "l-*-37623"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -19982,13 +20070,13 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i60362"
-                                                     "i60360"
-                                                     "i60358"
-                                                     "i60356"
-                                                     "i60354"
-                                                     "i60352"
-                                                     "i60350"))
+                                                    ("l-*-37618"
+                                                     "l-*-37616"
+                                                     "l-*-37614"
+                                                     "l-*-37612"
+                                                     "l-*-37610"
+                                                     "l-*-37608"
+                                                     "l-*-37606"))
                                                   #(ribcage
                                                     (quasiquote)
                                                     ((top))
@@ -20005,16 +20093,16 @@
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i60387"))
+                                                    #("l-*-37643"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i60376" "i60377"))
+                                                    #("l-*-37632" "l-*-37633"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i60366" "i60367"))
+                                                    #("l-*-37622" "l-*-37623"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -20029,13 +20117,13 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i60362"
-                                                     "i60360"
-                                                     "i60358"
-                                                     "i60356"
-                                                     "i60354"
-                                                     "i60352"
-                                                     "i60350"))
+                                                    ("l-*-37618"
+                                                     "l-*-37616"
+                                                     "l-*-37614"
+                                                     "l-*-37612"
+                                                     "l-*-37610"
+                                                     "l-*-37608"
+                                                     "l-*-37606"))
                                                   #(ribcage
                                                     (quasiquote)
                                                     ((top))
@@ -20046,49 +20134,41 @@
                                                         ((top))
                                                         (hygiene guile))))))
                                                  (hygiene guile)))
-                                             (#{quasi 60620}#
-                                               #{p 60720}#
-                                               (#{1-}# #{lev 60645}#)))
-                                           (#{quasi 60620}#
-                                             #{q 60666}#
-                                             #{lev 60645}#))))
-                                     #{tmp 60716}#)
-                                   (#{quasicons 60622}#
-                                     (#{quasi 60620}#
-                                       #{p 60665}#
-                                       #{lev 60645}#)
-                                     (#{quasi 60620}#
-                                       #{q 60666}#
-                                       #{lev 60645}#)))))))
-                         #{tmp 60661}#)
-                       (let ((#{tmp 60737}#
-                               ($sc-dispatch #{p 60644}# '#(vector each-any))))
-                         (if #{tmp 60737}#
+                                             (quasi-37876
+                                               p-37976
+                                               (#{1-}# lev-37901)))
+                                           (quasi-37876 q-37922 lev-37901))))
+                                     tmp-37972)
+                                   (quasicons-37878
+                                     (quasi-37876 p-37921 lev-37901)
+                                     (quasi-37876 q-37922 lev-37901)))))))
+                         tmp-37917)
+                       (let ((tmp-37993
+                               ($sc-dispatch p-37900 '#(vector each-any))))
+                         (if tmp-37993
                            (@apply
-                             (lambda (#{x 60741}#)
-                               (let ((#{x 60744}#
-                                       (#{vquasi 60621}#
-                                         #{x 60741}#
-                                         #{lev 60645}#)))
-                                 (let ((#{tmp 60746}#
+                             (lambda (x-37997)
+                               (let ((x-38000
+                                       (vquasi-37877 x-37997 lev-37901)))
+                                 (let ((tmp-38002
                                          ($sc-dispatch
-                                           #{x 60744}#
+                                           x-38000
                                            '(#(atom "quote") each-any))))
-                                   (if #{tmp 60746}#
+                                   (if tmp-38002
                                      (@apply
-                                       (lambda (#{x 60750}#)
+                                       (lambda (x-38006)
                                          (list '#(syntax-object
                                                   "quote"
                                                   ((top)
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i60494"))
+                                                     #("l-*-37750"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i60491"))
+                                                     #("l-*-37747"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -20103,13 +20183,13 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i60362"
-                                                      "i60360"
-                                                      "i60358"
-                                                      "i60356"
-                                                      "i60354"
-                                                      "i60352"
-                                                      "i60350"))
+                                                     ("l-*-37618"
+                                                      "l-*-37616"
+                                                      "l-*-37614"
+                                                      "l-*-37612"
+                                                      "l-*-37610"
+                                                      "l-*-37608"
+                                                      "l-*-37606"))
                                                    #(ribcage
                                                      (quasiquote)
                                                      ((top))
@@ -20120,28 +20200,28 @@
                                                          ((top))
                                                          (hygiene guile))))))
                                                   (hygiene guile))
-                                               (list->vector #{x 60750}#)))
-                                       #{tmp 60746}#)
+                                               (list->vector x-38006)))
+                                       tmp-38002)
                                      (letrec*
-                                       ((#{f 60752}#
-                                          (lambda (#{y 60764}# #{k 60765}#)
-                                            (let ((#{tmp 60767}#
+                                       ((f-38008
+                                          (lambda (y-38020 k-38021)
+                                            (let ((tmp-38023
                                                     ($sc-dispatch
-                                                      #{y 60764}#
+                                                      y-38020
                                                       '(#(atom "quote")
                                                         each-any))))
-                                              (if #{tmp 60767}#
+                                              (if tmp-38023
                                                 (@apply
-                                                  (lambda (#{y 60770}#)
-                                                    (#{k 60765}#
-                                                      (map (lambda (#{tmp 
60519 60771}#)
+                                                  (lambda (y-38026)
+                                                    (k-38021
+                                                      (map (lambda 
(tmp-37775-38027)
                                                              (list 
'#(syntax-object
                                                                       "quote"
                                                                       ((top)
                                                                        
#(ribcage
                                                                          #(y)
                                                                          
#((top))
-                                                                         
#("i60517"))
+                                                                         
#("l-*-37773"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -20153,13 +20233,13 @@
                                                                          
#((top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i60499"
-                                                                           
"i60500"
-                                                                           
"i60501"))
+                                                                         
#("l-*-37755"
+                                                                           
"l-*-37756"
+                                                                           
"l-*-37757"))
                                                                        
#(ribcage
                                                                          #(_)
                                                                          
#((top))
-                                                                         
#("i60497"))
+                                                                         
#("l-*-37753"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -20167,7 +20247,7 @@
                                                                        
#(ribcage
                                                                          #(x)
                                                                          
#((top))
-                                                                         
#("i60491"))
+                                                                         
#("l-*-37747"))
                                                                        
#(ribcage
                                                                          (emit 
quasivector
                                                                                
quasilist*
@@ -20182,13 +20262,13 @@
                                                                           (top)
                                                                           (top)
                                                                           
(top))
-                                                                         
("i60362"
-                                                                          
"i60360"
-                                                                          
"i60358"
-                                                                          
"i60356"
-                                                                          
"i60354"
-                                                                          
"i60352"
-                                                                          
"i60350"))
+                                                                         
("l-*-37618"
+                                                                          
"l-*-37616"
+                                                                          
"l-*-37614"
+                                                                          
"l-*-37612"
+                                                                          
"l-*-37610"
+                                                                          
"l-*-37608"
+                                                                          
"l-*-37606"))
                                                                        
#(ribcage
                                                                          
(quasiquote)
                                                                          
((top))
@@ -20202,42 +20282,41 @@
                                                                                
guile))))))
                                                                       (hygiene
                                                                         guile))
-                                                                   #{tmp 60519 
60771}#))
-                                                           #{y 60770}#)))
-                                                  #{tmp 60767}#)
-                                                (let ((#{tmp 60772}#
+                                                                   
tmp-37775-38027))
+                                                           y-38026)))
+                                                  tmp-38023)
+                                                (let ((tmp-38028
                                                         ($sc-dispatch
-                                                          #{y 60764}#
+                                                          y-38020
                                                           '(#(atom "list")
                                                             .
                                                             each-any))))
-                                                  (if #{tmp 60772}#
+                                                  (if tmp-38028
                                                     (@apply
-                                                      (lambda (#{y 60775}#)
-                                                        (#{k 60765}#
-                                                          #{y 60775}#))
-                                                      #{tmp 60772}#)
-                                                    (let ((#{tmp 60776}#
+                                                      (lambda (y-38031)
+                                                        (k-38021 y-38031))
+                                                      tmp-38028)
+                                                    (let ((tmp-38032
                                                             ($sc-dispatch
-                                                              #{y 60764}#
+                                                              y-38020
                                                               '(#(atom "list*")
                                                                 .
                                                                 #(each+
                                                                   any
                                                                   (any)
                                                                   ())))))
-                                                      (if #{tmp 60776}#
+                                                      (if tmp-38032
                                                         (@apply
-                                                          (lambda (#{y 60779}#
-                                                                   #{z 60780}#)
-                                                            (#{f 60752}#
-                                                              #{z 60780}#
-                                                              (lambda (#{ls 
60781}#)
-                                                                (#{k 60765}#
+                                                          (lambda (y-38035
+                                                                   z-38036)
+                                                            (f-38008
+                                                              z-38036
+                                                              (lambda 
(ls-38037)
+                                                                (k-38021
                                                                   (append
-                                                                    #{y 60779}#
-                                                                    #{ls 
60781}#)))))
-                                                          #{tmp 60776}#)
+                                                                    y-38035
+                                                                    
ls-38037)))))
+                                                          tmp-38032)
                                                         (list '#(syntax-object
                                                                  "list->vector"
                                                                  ((top)
@@ -20246,14 +20325,14 @@
                                                                     ()
                                                                     ())
                                                                   #(ribcage
-                                                                    #(#{ 
g60534}#)
-                                                                    #((m60535
+                                                                    #(t-37790)
+                                                                    
#((m-*-37791
                                                                         top))
-                                                                    
#("i60538"))
+                                                                    
#("l-*-37794"))
                                                                   #(ribcage
                                                                     #(else)
                                                                     #((top))
-                                                                    
#("i60532"))
+                                                                    
#("l-*-37788"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
@@ -20263,13 +20342,13 @@
                                                                     #((top)
                                                                       (top)
                                                                       (top))
-                                                                    #("i60499"
-                                                                      "i60500"
-                                                                      
"i60501"))
+                                                                    
#("l-*-37755"
+                                                                      
"l-*-37756"
+                                                                      
"l-*-37757"))
                                                                   #(ribcage
                                                                     #(_)
                                                                     #((top))
-                                                                    
#("i60497"))
+                                                                    
#("l-*-37753"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
@@ -20277,7 +20356,7 @@
                                                                   #(ribcage
                                                                     #(x)
                                                                     #((top))
-                                                                    
#("i60491"))
+                                                                    
#("l-*-37747"))
                                                                   #(ribcage
                                                                     (emit 
quasivector
                                                                           
quasilist*
@@ -20292,13 +20371,13 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                    ("i60362"
-                                                                     "i60360"
-                                                                     "i60358"
-                                                                     "i60356"
-                                                                     "i60354"
-                                                                     "i60352"
-                                                                     "i60350"))
+                                                                    
("l-*-37618"
+                                                                     
"l-*-37616"
+                                                                     
"l-*-37614"
+                                                                     
"l-*-37612"
+                                                                     
"l-*-37610"
+                                                                     
"l-*-37608"
+                                                                     
"l-*-37606"))
                                                                   #(ribcage
                                                                     
(quasiquote)
                                                                     ((top))
@@ -20312,17 +20391,17 @@
                                                                           
guile))))))
                                                                  (hygiene
                                                                    guile))
-                                                              #{x 
60744}#))))))))))
-                                       (#{f 60752}#
-                                         #{x 60744}#
-                                         (lambda (#{ls 60754}#)
-                                           (let ((#{tmp 60756}#
+                                                              x-38000))))))))))
+                                       (f-38008
+                                         x-38000
+                                         (lambda (ls-38010)
+                                           (let ((tmp-38012
                                                    ($sc-dispatch
-                                                     #{ls 60754}#
+                                                     ls-38010
                                                      'each-any)))
-                                             (if #{tmp 60756}#
+                                             (if tmp-38012
                                                (@apply
-                                                 (lambda (#{ g60507 60759}#)
+                                                 (lambda (t-37763-38015)
                                                    (cons '#(syntax-object
                                                             "vector"
                                                             ((top)
@@ -20331,9 +20410,10 @@
                                                                ()
                                                                ())
                                                              #(ribcage
-                                                               #(#{ g60507}#)
-                                                               #((m60508 top))
-                                                               #("i60512"))
+                                                               #(t-37763)
+                                                               #((m-*-37764
+                                                                   top))
+                                                               #("l-*-37768"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -20349,11 +20429,11 @@
                                                              #(ribcage
                                                                #(ls)
                                                                #((top))
-                                                               #("i60506"))
+                                                               #("l-*-37762"))
                                                              #(ribcage
                                                                #(_)
                                                                #((top))
-                                                               #("i60497"))
+                                                               #("l-*-37753"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -20361,7 +20441,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i60491"))
+                                                               #("l-*-37747"))
                                                              #(ribcage
                                                                (emit 
quasivector
                                                                      quasilist*
@@ -20376,13 +20456,13 @@
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                               ("i60362"
-                                                                "i60360"
-                                                                "i60358"
-                                                                "i60356"
-                                                                "i60354"
-                                                                "i60352"
-                                                                "i60350"))
+                                                               ("l-*-37618"
+                                                                "l-*-37616"
+                                                                "l-*-37614"
+                                                                "l-*-37612"
+                                                                "l-*-37610"
+                                                                "l-*-37608"
+                                                                "l-*-37606"))
                                                              #(ribcage
                                                                (quasiquote)
                                                                ((top))
@@ -20395,22 +20475,22 @@
                                                                    (hygiene
                                                                      
guile))))))
                                                             (hygiene guile))
-                                                         #{ g60507 60759}#))
-                                                 #{tmp 60756}#)
+                                                         t-37763-38015))
+                                                 tmp-38012)
                                                (syntax-violation
                                                  #f
                                                  "source expression failed to 
match any pattern"
-                                                 #{ls 60754}#))))))))))
-                             #{tmp 60737}#)
+                                                 ls-38010))))))))))
+                             tmp-37993)
                            (list '#(syntax-object
                                     "quote"
                                     ((top)
-                                     #(ribcage #(p) #((top)) #("i60397"))
+                                     #(ribcage #(p) #((top)) #("l-*-37653"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(p lev)
                                        #((top) (top))
-                                       #("i60366" "i60367"))
+                                       #("l-*-37622" "l-*-37623"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -20425,13 +20505,13 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i60362"
-                                        "i60360"
-                                        "i60358"
-                                        "i60356"
-                                        "i60354"
-                                        "i60352"
-                                        "i60350"))
+                                       ("l-*-37618"
+                                        "l-*-37616"
+                                        "l-*-37614"
+                                        "l-*-37612"
+                                        "l-*-37610"
+                                        "l-*-37608"
+                                        "l-*-37606"))
                                      #(ribcage
                                        (quasiquote)
                                        ((top))
@@ -20442,17 +20522,16 @@
                                            ((top))
                                            (hygiene guile))))))
                                     (hygiene guile))
-                                 #{p 60644}#)))))))))))
-       (#{vquasi 60621}#
-         (lambda (#{p 60809}# #{lev 60810}#)
-           (let ((#{tmp 60812}#
-                   ($sc-dispatch #{p 60809}# '(any . any))))
-             (if #{tmp 60812}#
+                                 p-37900)))))))))))
+       (vquasi-37877
+         (lambda (p-38065 lev-38066)
+           (let ((tmp-38068 ($sc-dispatch p-38065 '(any . any))))
+             (if tmp-38068
                (@apply
-                 (lambda (#{p 60816}# #{q 60817}#)
-                   (let ((#{tmp 60819}#
+                 (lambda (p-38072 q-38073)
+                   (let ((tmp-38075
                            ($sc-dispatch
-                             #{p 60816}#
+                             p-38072
                              '(#(free-id
                                  #(syntax-object
                                    unquote
@@ -20460,12 +20539,12 @@
                                     #(ribcage
                                       #(p q)
                                       #((top) (top))
-                                      #("i60405" "i60406"))
+                                      #("l-*-37661" "l-*-37662"))
                                     #(ribcage () () ())
                                     #(ribcage
                                       #(p lev)
                                       #((top) (top))
-                                      #("i60401" "i60402"))
+                                      #("l-*-37657" "l-*-37658"))
                                     #(ribcage
                                       (emit quasivector
                                             quasilist*
@@ -20480,13 +20559,13 @@
                                        (top)
                                        (top)
                                        (top))
-                                      ("i60362"
-                                       "i60360"
-                                       "i60358"
-                                       "i60356"
-                                       "i60354"
-                                       "i60352"
-                                       "i60350"))
+                                      ("l-*-37618"
+                                       "l-*-37616"
+                                       "l-*-37614"
+                                       "l-*-37612"
+                                       "l-*-37610"
+                                       "l-*-37608"
+                                       "l-*-37606"))
                                     #(ribcage
                                       (quasiquote)
                                       ((top))
@@ -20499,28 +20578,28 @@
                                    (hygiene guile)))
                                .
                                each-any))))
-                     (if #{tmp 60819}#
+                     (if tmp-38075
                        (@apply
-                         (lambda (#{p 60823}#)
-                           (if (= #{lev 60810}# 0)
-                             (#{quasilist* 60624}#
-                               (map (lambda (#{tmp 60413 60862}#)
+                         (lambda (p-38079)
+                           (if (= lev-38066 0)
+                             (quasilist*-37880
+                               (map (lambda (tmp-37669-38118)
                                       (list '#(syntax-object
                                                "value"
                                                ((top)
                                                 #(ribcage
                                                   #(p)
                                                   #((top))
-                                                  #("i60411"))
+                                                  #("l-*-37667"))
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i60405" "i60406"))
+                                                  #("l-*-37661" "l-*-37662"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i60401" "i60402"))
+                                                  #("l-*-37657" "l-*-37658"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -20535,13 +20614,13 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i60362"
-                                                   "i60360"
-                                                   "i60358"
-                                                   "i60356"
-                                                   "i60354"
-                                                   "i60352"
-                                                   "i60350"))
+                                                  ("l-*-37618"
+                                                   "l-*-37616"
+                                                   "l-*-37614"
+                                                   "l-*-37612"
+                                                   "l-*-37610"
+                                                   "l-*-37608"
+                                                   "l-*-37606"))
                                                 #(ribcage
                                                   (quasiquote)
                                                   ((top))
@@ -20552,24 +20631,24 @@
                                                       ((top))
                                                       (hygiene guile))))))
                                                (hygiene guile))
-                                            #{tmp 60413 60862}#))
-                                    #{p 60823}#)
-                               (#{vquasi 60621}# #{q 60817}# #{lev 60810}#))
-                             (#{quasicons 60622}#
-                               (#{quasicons 60622}#
+                                            tmp-37669-38118))
+                                    p-38079)
+                               (vquasi-37877 q-38073 lev-38066))
+                             (quasicons-37878
+                               (quasicons-37878
                                  '(#(syntax-object
                                      "quote"
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i60411"))
+                                      #(ribcage #(p) #((top)) #("l-*-37667"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i60405" "i60406"))
+                                        #("l-*-37661" "l-*-37662"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i60401" "i60402"))
+                                        #("l-*-37657" "l-*-37658"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -20584,13 +20663,13 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i60362"
-                                         "i60360"
-                                         "i60358"
-                                         "i60356"
-                                         "i60354"
-                                         "i60352"
-                                         "i60350"))
+                                        ("l-*-37618"
+                                         "l-*-37616"
+                                         "l-*-37614"
+                                         "l-*-37612"
+                                         "l-*-37610"
+                                         "l-*-37608"
+                                         "l-*-37606"))
                                       #(ribcage
                                         (quasiquote)
                                         ((top))
@@ -20604,16 +20683,16 @@
                                    #(syntax-object
                                      unquote
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i60411"))
+                                      #(ribcage #(p) #((top)) #("l-*-37667"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i60405" "i60406"))
+                                        #("l-*-37661" "l-*-37662"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i60401" "i60402"))
+                                        #("l-*-37657" "l-*-37658"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -20628,13 +20707,13 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i60362"
-                                         "i60360"
-                                         "i60358"
-                                         "i60356"
-                                         "i60354"
-                                         "i60352"
-                                         "i60350"))
+                                        ("l-*-37618"
+                                         "l-*-37616"
+                                         "l-*-37614"
+                                         "l-*-37612"
+                                         "l-*-37610"
+                                         "l-*-37608"
+                                         "l-*-37606"))
                                       #(ribcage
                                         (quasiquote)
                                         ((top))
@@ -20645,14 +20724,12 @@
                                             ((top))
                                             (hygiene guile))))))
                                      (hygiene guile)))
-                                 (#{quasi 60620}#
-                                   #{p 60823}#
-                                   (#{1-}# #{lev 60810}#)))
-                               (#{vquasi 60621}# #{q 60817}# #{lev 60810}#))))
-                         #{tmp 60819}#)
-                       (let ((#{tmp 60869}#
+                                 (quasi-37876 p-38079 (#{1-}# lev-38066)))
+                               (vquasi-37877 q-38073 lev-38066))))
+                         tmp-38075)
+                       (let ((tmp-38125
                                ($sc-dispatch
-                                 #{p 60816}#
+                                 p-38072
                                  '(#(free-id
                                      #(syntax-object
                                        unquote-splicing
@@ -20660,12 +20737,12 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i60405" "i60406"))
+                                          #("l-*-37661" "l-*-37662"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i60401" "i60402"))
+                                          #("l-*-37657" "l-*-37658"))
                                         #(ribcage
                                           (emit quasivector
                                                 quasilist*
@@ -20680,13 +20757,13 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i60362"
-                                           "i60360"
-                                           "i60358"
-                                           "i60356"
-                                           "i60354"
-                                           "i60352"
-                                           "i60350"))
+                                          ("l-*-37618"
+                                           "l-*-37616"
+                                           "l-*-37614"
+                                           "l-*-37612"
+                                           "l-*-37610"
+                                           "l-*-37608"
+                                           "l-*-37606"))
                                         #(ribcage
                                           (quasiquote)
                                           ((top))
@@ -20699,28 +20776,30 @@
                                        (hygiene guile)))
                                    .
                                    each-any))))
-                         (if #{tmp 60869}#
+                         (if tmp-38125
                            (@apply
-                             (lambda (#{p 60873}#)
-                               (if (= #{lev 60810}# 0)
-                                 (#{quasiappend 60623}#
-                                   (map (lambda (#{tmp 60418 60876}#)
+                             (lambda (p-38129)
+                               (if (= lev-38066 0)
+                                 (quasiappend-37879
+                                   (map (lambda (tmp-37674-38132)
                                           (list '#(syntax-object
                                                    "value"
                                                    ((top)
                                                     #(ribcage
                                                       #(p)
                                                       #((top))
-                                                      #("i60416"))
+                                                      #("l-*-37672"))
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i60405" "i60406"))
+                                                      #("l-*-37661"
+                                                        "l-*-37662"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i60401" "i60402"))
+                                                      #("l-*-37657"
+                                                        "l-*-37658"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -20735,13 +20814,13 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i60362"
-                                                       "i60360"
-                                                       "i60358"
-                                                       "i60356"
-                                                       "i60354"
-                                                       "i60352"
-                                                       "i60350"))
+                                                      ("l-*-37618"
+                                                       "l-*-37616"
+                                                       "l-*-37614"
+                                                       "l-*-37612"
+                                                       "l-*-37610"
+                                                       "l-*-37608"
+                                                       "l-*-37606"))
                                                     #(ribcage
                                                       (quasiquote)
                                                       ((top))
@@ -20752,26 +20831,27 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{tmp 60418 60876}#))
-                                        #{p 60873}#)
-                                   (#{vquasi 60621}#
-                                     #{q 60817}#
-                                     #{lev 60810}#))
-                                 (#{quasicons 60622}#
-                                   (#{quasicons 60622}#
+                                                tmp-37674-38132))
+                                        p-38129)
+                                   (vquasi-37877 q-38073 lev-38066))
+                                 (quasicons-37878
+                                   (quasicons-37878
                                      '(#(syntax-object
                                          "quote"
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i60416"))
+                                          #(ribcage
+                                            #(p)
+                                            #((top))
+                                            #("l-*-37672"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i60405" "i60406"))
+                                            #("l-*-37661" "l-*-37662"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i60401" "i60402"))
+                                            #("l-*-37657" "l-*-37658"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -20786,13 +20866,13 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i60362"
-                                             "i60360"
-                                             "i60358"
-                                             "i60356"
-                                             "i60354"
-                                             "i60352"
-                                             "i60350"))
+                                            ("l-*-37618"
+                                             "l-*-37616"
+                                             "l-*-37614"
+                                             "l-*-37612"
+                                             "l-*-37610"
+                                             "l-*-37608"
+                                             "l-*-37606"))
                                           #(ribcage
                                             (quasiquote)
                                             ((top))
@@ -20806,16 +20886,19 @@
                                        #(syntax-object
                                          unquote-splicing
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i60416"))
+                                          #(ribcage
+                                            #(p)
+                                            #((top))
+                                            #("l-*-37672"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i60405" "i60406"))
+                                            #("l-*-37661" "l-*-37662"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i60401" "i60402"))
+                                            #("l-*-37657" "l-*-37658"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -20830,13 +20913,13 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i60362"
-                                             "i60360"
-                                             "i60358"
-                                             "i60356"
-                                             "i60354"
-                                             "i60352"
-                                             "i60350"))
+                                            ("l-*-37618"
+                                             "l-*-37616"
+                                             "l-*-37614"
+                                             "l-*-37612"
+                                             "l-*-37610"
+                                             "l-*-37608"
+                                             "l-*-37606"))
                                           #(ribcage
                                             (quasiquote)
                                             ((top))
@@ -20847,19 +20930,15 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile)))
-                                     (#{quasi 60620}#
-                                       #{p 60873}#
-                                       (#{1-}# #{lev 60810}#)))
-                                   (#{vquasi 60621}#
-                                     #{q 60817}#
-                                     #{lev 60810}#))))
-                             #{tmp 60869}#)
-                           (#{quasicons 60622}#
-                             (#{quasi 60620}# #{p 60816}# #{lev 60810}#)
-                             (#{vquasi 60621}# #{q 60817}# #{lev 60810}#)))))))
-                 #{tmp 60812}#)
-               (let ((#{tmp 60894}# ($sc-dispatch #{p 60809}# '())))
-                 (if #{tmp 60894}#
+                                     (quasi-37876 p-38129 (#{1-}# lev-38066)))
+                                   (vquasi-37877 q-38073 lev-38066))))
+                             tmp-38125)
+                           (quasicons-37878
+                             (quasi-37876 p-38072 lev-38066)
+                             (vquasi-37877 q-38073 lev-38066)))))))
+                 tmp-38068)
+               (let ((tmp-38150 ($sc-dispatch p-38065 '())))
+                 (if tmp-38150
                    (@apply
                      (lambda ()
                        '(#(syntax-object
@@ -20869,7 +20948,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i60401" "i60402"))
+                              #("l-*-37657" "l-*-37658"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -20878,13 +20957,13 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i60362"
-                               "i60360"
-                               "i60358"
-                               "i60356"
-                               "i60354"
-                               "i60352"
-                               "i60350"))
+                              ("l-*-37618"
+                               "l-*-37616"
+                               "l-*-37614"
+                               "l-*-37612"
+                               "l-*-37610"
+                               "l-*-37608"
+                               "l-*-37606"))
                             #(ribcage
                               (quasiquote)
                               ((top))
@@ -20896,55 +20975,52 @@
                                   (hygiene guile))))))
                            (hygiene guile))
                          ()))
-                     #{tmp 60894}#)
+                     tmp-38150)
                    (syntax-violation
                      #f
                      "source expression failed to match any pattern"
-                     #{p 60809}#)))))))
-       (#{quasicons 60622}#
-         (lambda (#{x 60907}# #{y 60908}#)
-           (let ((#{tmp 60909}# (list #{x 60907}# #{y 60908}#)))
-             (let ((#{tmp 60910}#
-                     ($sc-dispatch #{tmp 60909}# '(any any))))
-               (if #{tmp 60910}#
+                     p-38065)))))))
+       (quasicons-37878
+         (lambda (x-38163 y-38164)
+           (let ((tmp-38165 (list x-38163 y-38164)))
+             (let ((tmp-38166 ($sc-dispatch tmp-38165 '(any any))))
+               (if tmp-38166
                  (@apply
-                   (lambda (#{x 60912}# #{y 60913}#)
-                     (let ((#{tmp 60915}#
-                             ($sc-dispatch
-                               #{y 60913}#
-                               '(#(atom "quote") any))))
-                       (if #{tmp 60915}#
+                   (lambda (x-38168 y-38169)
+                     (let ((tmp-38171
+                             ($sc-dispatch y-38169 '(#(atom "quote") any))))
+                       (if tmp-38171
                          (@apply
-                           (lambda (#{dy 60919}#)
-                             (let ((#{tmp 60921}#
+                           (lambda (dy-38175)
+                             (let ((tmp-38177
                                      ($sc-dispatch
-                                       #{x 60912}#
+                                       x-38168
                                        '(#(atom "quote") any))))
-                               (if #{tmp 60921}#
+                               (if tmp-38177
                                  (@apply
-                                   (lambda (#{dx 60925}#)
+                                   (lambda (dx-38181)
                                      (list '#(syntax-object
                                               "quote"
                                               ((top)
                                                #(ribcage
                                                  #(dx)
                                                  #((top))
-                                                 #("i60440"))
+                                                 #("l-*-37696"))
                                                #(ribcage
                                                  #(dy)
                                                  #((top))
-                                                 #("i60436"))
+                                                 #("l-*-37692"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i60430" "i60431"))
+                                                 #("l-*-37686" "l-*-37687"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i60425" "i60426"))
+                                                 #("l-*-37681" "l-*-37682"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -20959,13 +21035,13 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i60362"
-                                                  "i60360"
-                                                  "i60358"
-                                                  "i60356"
-                                                  "i60354"
-                                                  "i60352"
-                                                  "i60350"))
+                                                 ("l-*-37618"
+                                                  "l-*-37616"
+                                                  "l-*-37614"
+                                                  "l-*-37612"
+                                                  "l-*-37610"
+                                                  "l-*-37608"
+                                                  "l-*-37606"))
                                                #(ribcage
                                                  (quasiquote)
                                                  ((top))
@@ -20976,31 +21052,31 @@
                                                      ((top))
                                                      (hygiene guile))))))
                                               (hygiene guile))
-                                           (cons #{dx 60925}# #{dy 60919}#)))
-                                   #{tmp 60921}#)
-                                 (if (null? #{dy 60919}#)
+                                           (cons dx-38181 dy-38175)))
+                                   tmp-38177)
+                                 (if (null? dy-38175)
                                    (list '#(syntax-object
                                             "list"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i60442"))
+                                               #("l-*-37698"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i60436"))
+                                               #("l-*-37692"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i60430" "i60431"))
+                                               #("l-*-37686" "l-*-37687"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i60425" "i60426"))
+                                               #("l-*-37681" "l-*-37682"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -21015,13 +21091,13 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i60362"
-                                                "i60360"
-                                                "i60358"
-                                                "i60356"
-                                                "i60354"
-                                                "i60352"
-                                                "i60350"))
+                                               ("l-*-37618"
+                                                "l-*-37616"
+                                                "l-*-37614"
+                                                "l-*-37612"
+                                                "l-*-37610"
+                                                "l-*-37608"
+                                                "l-*-37606"))
                                              #(ribcage
                                                (quasiquote)
                                                ((top))
@@ -21032,29 +21108,29 @@
                                                    ((top))
                                                    (hygiene guile))))))
                                             (hygiene guile))
-                                         #{x 60912}#)
+                                         x-38168)
                                    (list '#(syntax-object
                                             "list*"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i60442"))
+                                               #("l-*-37698"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i60436"))
+                                               #("l-*-37692"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i60430" "i60431"))
+                                               #("l-*-37686" "l-*-37687"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i60425" "i60426"))
+                                               #("l-*-37681" "l-*-37682"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -21069,13 +21145,13 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i60362"
-                                                "i60360"
-                                                "i60358"
-                                                "i60356"
-                                                "i60354"
-                                                "i60352"
-                                                "i60350"))
+                                               ("l-*-37618"
+                                                "l-*-37616"
+                                                "l-*-37614"
+                                                "l-*-37612"
+                                                "l-*-37610"
+                                                "l-*-37608"
+                                                "l-*-37606"))
                                              #(ribcage
                                                (quasiquote)
                                                ((top))
@@ -21086,34 +21162,34 @@
                                                    ((top))
                                                    (hygiene guile))))))
                                             (hygiene guile))
-                                         #{x 60912}#
-                                         #{y 60913}#)))))
-                           #{tmp 60915}#)
-                         (let ((#{tmp 60930}#
+                                         x-38168
+                                         y-38169)))))
+                           tmp-38171)
+                         (let ((tmp-38186
                                  ($sc-dispatch
-                                   #{y 60913}#
+                                   y-38169
                                    '(#(atom "list") . any))))
-                           (if #{tmp 60930}#
+                           (if tmp-38186
                              (@apply
-                               (lambda (#{stuff 60934}#)
+                               (lambda (stuff-38190)
                                  (cons '#(syntax-object
                                           "list"
                                           ((top)
                                            #(ribcage
                                              #(stuff)
                                              #((top))
-                                             #("i60445"))
+                                             #("l-*-37701"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i60430" "i60431"))
+                                             #("l-*-37686" "l-*-37687"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i60425" "i60426"))
+                                             #("l-*-37681" "l-*-37682"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -21128,13 +21204,13 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i60362"
-                                              "i60360"
-                                              "i60358"
-                                              "i60356"
-                                              "i60354"
-                                              "i60352"
-                                              "i60350"))
+                                             ("l-*-37618"
+                                              "l-*-37616"
+                                              "l-*-37614"
+                                              "l-*-37612"
+                                              "l-*-37610"
+                                              "l-*-37608"
+                                              "l-*-37606"))
                                            #(ribcage
                                              (quasiquote)
                                              ((top))
@@ -21145,33 +21221,33 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       (cons #{x 60912}# #{stuff 60934}#)))
-                               #{tmp 60930}#)
-                             (let ((#{tmp 60935}#
+                                       (cons x-38168 stuff-38190)))
+                               tmp-38186)
+                             (let ((tmp-38191
                                      ($sc-dispatch
-                                       #{y 60913}#
+                                       y-38169
                                        '(#(atom "list*") . any))))
-                               (if #{tmp 60935}#
+                               (if tmp-38191
                                  (@apply
-                                   (lambda (#{stuff 60939}#)
+                                   (lambda (stuff-38195)
                                      (cons '#(syntax-object
                                               "list*"
                                               ((top)
                                                #(ribcage
                                                  #(stuff)
                                                  #((top))
-                                                 #("i60448"))
+                                                 #("l-*-37704"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i60430" "i60431"))
+                                                 #("l-*-37686" "l-*-37687"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i60425" "i60426"))
+                                                 #("l-*-37681" "l-*-37682"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -21186,13 +21262,13 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i60362"
-                                                  "i60360"
-                                                  "i60358"
-                                                  "i60356"
-                                                  "i60354"
-                                                  "i60352"
-                                                  "i60350"))
+                                                 ("l-*-37618"
+                                                  "l-*-37616"
+                                                  "l-*-37614"
+                                                  "l-*-37612"
+                                                  "l-*-37610"
+                                                  "l-*-37608"
+                                                  "l-*-37606"))
                                                #(ribcage
                                                  (quasiquote)
                                                  ((top))
@@ -21203,23 +21279,26 @@
                                                      ((top))
                                                      (hygiene guile))))))
                                               (hygiene guile))
-                                           (cons #{x 60912}# #{stuff 60939}#)))
-                                   #{tmp 60935}#)
+                                           (cons x-38168 stuff-38195)))
+                                   tmp-38191)
                                  (list '#(syntax-object
                                           "list*"
                                           ((top)
-                                           #(ribcage #(_) #((top)) #("i60450"))
+                                           #(ribcage
+                                             #(_)
+                                             #((top))
+                                             #("l-*-37706"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i60430" "i60431"))
+                                             #("l-*-37686" "l-*-37687"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i60425" "i60426"))
+                                             #("l-*-37681" "l-*-37682"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -21234,13 +21313,13 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i60362"
-                                              "i60360"
-                                              "i60358"
-                                              "i60356"
-                                              "i60354"
-                                              "i60352"
-                                              "i60350"))
+                                             ("l-*-37618"
+                                              "l-*-37616"
+                                              "l-*-37614"
+                                              "l-*-37612"
+                                              "l-*-37610"
+                                              "l-*-37608"
+                                              "l-*-37606"))
                                            #(ribcage
                                              (quasiquote)
                                              ((top))
@@ -21251,21 +21330,21 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       #{x 60912}#
-                                       #{y 60913}#))))))))
-                   #{tmp 60910}#)
+                                       x-38168
+                                       y-38169))))))))
+                   tmp-38166)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp 60909}#))))))
-       (#{quasiappend 60623}#
-         (lambda (#{x 60950}# #{y 60951}#)
-           (let ((#{tmp 60953}#
-                   ($sc-dispatch #{y 60951}# '(#(atom "quote") ()))))
-             (if #{tmp 60953}#
+                   tmp-38165))))))
+       (quasiappend-37879
+         (lambda (x-38206 y-38207)
+           (let ((tmp-38209
+                   ($sc-dispatch y-38207 '(#(atom "quote") ()))))
+             (if tmp-38209
                (@apply
                  (lambda ()
-                   (if (null? #{x 60950}#)
+                   (if (null? x-38206)
                      '(#(syntax-object
                          "quote"
                          ((top)
@@ -21273,7 +21352,7 @@
                           #(ribcage
                             #(x y)
                             #((top) (top))
-                            #("i60454" "i60455"))
+                            #("l-*-37710" "l-*-37711"))
                           #(ribcage
                             (emit quasivector
                                   quasilist*
@@ -21282,13 +21361,13 @@
                                   vquasi
                                   quasi)
                             ((top) (top) (top) (top) (top) (top) (top))
-                            ("i60362"
-                             "i60360"
-                             "i60358"
-                             "i60356"
-                             "i60354"
-                             "i60352"
-                             "i60350"))
+                            ("l-*-37618"
+                             "l-*-37616"
+                             "l-*-37614"
+                             "l-*-37612"
+                             "l-*-37610"
+                             "l-*-37608"
+                             "l-*-37606"))
                           #(ribcage
                             (quasiquote)
                             ((top))
@@ -21300,23 +21379,25 @@
                                 (hygiene guile))))))
                          (hygiene guile))
                        ())
-                     (if (null? (cdr #{x 60950}#))
-                       (car #{x 60950}#)
-                       (let ((#{tmp 60958}#
-                               ($sc-dispatch #{x 60950}# 'each-any)))
-                         (if #{tmp 60958}#
+                     (if (null? (cdr x-38206))
+                       (car x-38206)
+                       (let ((tmp-38214 ($sc-dispatch x-38206 'each-any)))
+                         (if tmp-38214
                            (@apply
-                             (lambda (#{p 60962}#)
+                             (lambda (p-38218)
                                (cons '#(syntax-object
                                         "append"
                                         ((top)
                                          #(ribcage () () ())
-                                         #(ribcage #(p) #((top)) #("i60466"))
+                                         #(ribcage
+                                           #(p)
+                                           #((top))
+                                           #("l-*-37722"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(x y)
                                            #((top) (top))
-                                           #("i60454" "i60455"))
+                                           #("l-*-37710" "l-*-37711"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -21331,13 +21412,13 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i60362"
-                                            "i60360"
-                                            "i60358"
-                                            "i60356"
-                                            "i60354"
-                                            "i60352"
-                                            "i60350"))
+                                           ("l-*-37618"
+                                            "l-*-37616"
+                                            "l-*-37614"
+                                            "l-*-37612"
+                                            "l-*-37610"
+                                            "l-*-37608"
+                                            "l-*-37606"))
                                          #(ribcage
                                            (quasiquote)
                                            ((top))
@@ -21348,21 +21429,21 @@
                                                ((top))
                                                (hygiene guile))))))
                                         (hygiene guile))
-                                     #{p 60962}#))
-                             #{tmp 60958}#)
+                                     p-38218))
+                             tmp-38214)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{x 60950}#))))))
-                 #{tmp 60953}#)
-               (if (null? #{x 60950}#)
-                 #{y 60951}#
-                 (let ((#{tmp 60970}# (list #{x 60950}# #{y 60951}#)))
-                   (let ((#{tmp 60971}#
-                           ($sc-dispatch #{tmp 60970}# '(each-any any))))
-                     (if #{tmp 60971}#
+                             x-38206))))))
+                 tmp-38209)
+               (if (null? x-38206)
+                 y-38207
+                 (let ((tmp-38226 (list x-38206 y-38207)))
+                   (let ((tmp-38227
+                           ($sc-dispatch tmp-38226 '(each-any any))))
+                     (if tmp-38227
                        (@apply
-                         (lambda (#{p 60973}# #{y 60974}#)
+                         (lambda (p-38229 y-38230)
                            (cons '#(syntax-object
                                     "append"
                                     ((top)
@@ -21370,13 +21451,13 @@
                                      #(ribcage
                                        #(p y)
                                        #((top) (top))
-                                       #("i60477" "i60478"))
-                                     #(ribcage #(_) #((top)) #("i60469"))
+                                       #("l-*-37733" "l-*-37734"))
+                                     #(ribcage #(_) #((top)) #("l-*-37725"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x y)
                                        #((top) (top))
-                                       #("i60454" "i60455"))
+                                       #("l-*-37710" "l-*-37711"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -21391,13 +21472,13 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i60362"
-                                        "i60360"
-                                        "i60358"
-                                        "i60356"
-                                        "i60354"
-                                        "i60352"
-                                        "i60350"))
+                                       ("l-*-37618"
+                                        "l-*-37616"
+                                        "l-*-37614"
+                                        "l-*-37612"
+                                        "l-*-37610"
+                                        "l-*-37608"
+                                        "l-*-37606"))
                                      #(ribcage
                                        (quasiquote)
                                        ((top))
@@ -21408,36 +21489,36 @@
                                            ((top))
                                            (hygiene guile))))))
                                     (hygiene guile))
-                                 (append #{p 60973}# (list #{y 60974}#))))
-                         #{tmp 60971}#)
+                                 (append p-38229 (list y-38230))))
+                         tmp-38227)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp 60970}#)))))))))
-       (#{quasilist* 60624}#
-         (lambda (#{x 60978}# #{y 60979}#)
+                         tmp-38226)))))))))
+       (quasilist*-37880
+         (lambda (x-38234 y-38235)
            (letrec*
-             ((#{f 60980}#
-                (lambda (#{x 61084}#)
-                  (if (null? #{x 61084}#)
-                    #{y 60979}#
-                    (#{quasicons 60622}#
-                      (car #{x 61084}#)
-                      (#{f 60980}# (cdr #{x 61084}#)))))))
-             (#{f 60980}# #{x 60978}#))))
-       (#{emit 60626}#
-         (lambda (#{x 61087}#)
-           (let ((#{tmp 61089}#
-                   ($sc-dispatch #{x 61087}# '(#(atom "quote") any))))
-             (if #{tmp 61089}#
+             ((f-38236
+                (lambda (x-38340)
+                  (if (null? x-38340)
+                    y-38235
+                    (quasicons-37878
+                      (car x-38340)
+                      (f-38236 (cdr x-38340)))))))
+             (f-38236 x-38234))))
+       (emit-37882
+         (lambda (x-38343)
+           (let ((tmp-38345
+                   ($sc-dispatch x-38343 '(#(atom "quote") any))))
+             (if tmp-38345
                (@apply
-                 (lambda (#{x 61093}#)
+                 (lambda (x-38349)
                    (list '#(syntax-object
                             quote
                             ((top)
-                             #(ribcage #(x) #((top)) #("i60544"))
+                             #(ribcage #(x) #((top)) #("l-*-37800"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i60541"))
+                             #(ribcage #(x) #((top)) #("l-*-37797"))
                              #(ribcage
                                (emit quasivector
                                      quasilist*
@@ -21446,13 +21527,13 @@
                                      vquasi
                                      quasi)
                                ((top) (top) (top) (top) (top) (top) (top))
-                               ("i60362"
-                                "i60360"
-                                "i60358"
-                                "i60356"
-                                "i60354"
-                                "i60352"
-                                "i60350"))
+                               ("l-*-37618"
+                                "l-*-37616"
+                                "l-*-37614"
+                                "l-*-37612"
+                                "l-*-37610"
+                                "l-*-37608"
+                                "l-*-37606"))
                              #(ribcage
                                (quasiquote)
                                ((top))
@@ -21463,32 +21544,37 @@
                                    ((top))
                                    (hygiene guile))))))
                             (hygiene guile))
-                         #{x 61093}#))
-                 #{tmp 61089}#)
-               (let ((#{tmp 61094}#
+                         x-38349))
+                 tmp-38345)
+               (let ((tmp-38350
                        ($sc-dispatch
-                         #{x 61087}#
+                         x-38343
                          '(#(atom "list") . each-any))))
-                 (if #{tmp 61094}#
+                 (if tmp-38350
                    (@apply
-                     (lambda (#{x 61098}#)
-                       (let ((#{tmp 61099}# (map #{emit 60626}# #{x 61098}#)))
-                         (let ((#{tmp 61100}#
-                                 ($sc-dispatch #{tmp 61099}# 'each-any)))
-                           (if #{tmp 61100}#
+                     (lambda (x-38354)
+                       (let ((tmp-38355 (map emit-37882 x-38354)))
+                         (let ((tmp-38356 ($sc-dispatch tmp-38355 'each-any)))
+                           (if tmp-38356
                              (@apply
-                               (lambda (#{ g60549 61102}#)
+                               (lambda (t-37805-38358)
                                  (cons '#(syntax-object
                                           list
                                           ((top)
                                            #(ribcage () () ())
                                            #(ribcage
-                                             #(#{ g60549}#)
-                                             #((m60550 top))
-                                             #("i60554"))
-                                           #(ribcage #(x) #((top)) #("i60547"))
+                                             #(t-37805)
+                                             #((m-*-37806 top))
+                                             #("l-*-37810"))
+                                           #(ribcage
+                                             #(x)
+                                             #((top))
+                                             #("l-*-37803"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i60541"))
+                                           #(ribcage
+                                             #(x)
+                                             #((top))
+                                             #("l-*-37797"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -21503,13 +21589,13 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i60362"
-                                              "i60360"
-                                              "i60358"
-                                              "i60356"
-                                              "i60354"
-                                              "i60352"
-                                              "i60350"))
+                                             ("l-*-37618"
+                                              "l-*-37616"
+                                              "l-*-37614"
+                                              "l-*-37612"
+                                              "l-*-37610"
+                                              "l-*-37608"
+                                              "l-*-37606"))
                                            #(ribcage
                                              (quasiquote)
                                              ((top))
@@ -21520,62 +21606,62 @@
                                                  ((top))
                                                  (hygiene guile))))))
                                           (hygiene guile))
-                                       #{ g60549 61102}#))
-                               #{tmp 61100}#)
+                                       t-37805-38358))
+                               tmp-38356)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 61099}#)))))
-                     #{tmp 61094}#)
-                   (let ((#{tmp 61103}#
+                               tmp-38355)))))
+                     tmp-38350)
+                   (let ((tmp-38359
                            ($sc-dispatch
-                             #{x 61087}#
+                             x-38343
                              '(#(atom "list*") . #(each+ any (any) ())))))
-                     (if #{tmp 61103}#
+                     (if tmp-38359
                        (@apply
-                         (lambda (#{x 61107}# #{y 61108}#)
+                         (lambda (x-38363 y-38364)
                            (letrec*
-                             ((#{f 61109}#
-                                (lambda (#{x* 61112}#)
-                                  (if (null? #{x* 61112}#)
-                                    (#{emit 60626}# #{y 61108}#)
-                                    (let ((#{tmp 61113}#
-                                            (list (#{emit 60626}#
-                                                    (car #{x* 61112}#))
-                                                  (#{f 61109}#
-                                                    (cdr #{x* 61112}#)))))
-                                      (let ((#{tmp 61114}#
+                             ((f-38365
+                                (lambda (x*-38368)
+                                  (if (null? x*-38368)
+                                    (emit-37882 y-38364)
+                                    (let ((tmp-38369
+                                            (list (emit-37882 (car x*-38368))
+                                                  (f-38365 (cdr x*-38368)))))
+                                      (let ((tmp-38370
                                               ($sc-dispatch
-                                                #{tmp 61113}#
+                                                tmp-38369
                                                 '(any any))))
-                                        (if #{tmp 61114}#
+                                        (if tmp-38370
                                           (@apply
-                                            (lambda (#{ g60569 61116}#
-                                                     #{ g60568 61117}#)
+                                            (lambda (t-37825-38372
+                                                     t-37824-38373)
                                               (list '#(syntax-object
                                                        cons
                                                        ((top)
                                                         #(ribcage () () ())
                                                         #(ribcage
-                                                          #(#{ g60569}#
-                                                            #{ g60568}#)
-                                                          #((m60570 top)
-                                                            (m60570 top))
-                                                          #("i60574" "i60575"))
+                                                          #(t-37825 t-37824)
+                                                          #((m-*-37826 top)
+                                                            (m-*-37826 top))
+                                                          #("l-*-37830"
+                                                            "l-*-37831"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f x*)
                                                           #((top) (top))
-                                                          #("i60563" "i60564"))
+                                                          #("l-*-37819"
+                                                            "l-*-37820"))
                                                         #(ribcage
                                                           #(x y)
                                                           #((top) (top))
-                                                          #("i60559" "i60560"))
+                                                          #("l-*-37815"
+                                                            "l-*-37816"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i60541"))
+                                                          #("l-*-37797"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -21590,13 +21676,13 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i60362"
-                                                           "i60360"
-                                                           "i60358"
-                                                           "i60356"
-                                                           "i60354"
-                                                           "i60352"
-                                                           "i60350"))
+                                                          ("l-*-37618"
+                                                           "l-*-37616"
+                                                           "l-*-37614"
+                                                           "l-*-37612"
+                                                           "l-*-37610"
+                                                           "l-*-37608"
+                                                           "l-*-37606"))
                                                         #(ribcage
                                                           (quasiquote)
                                                           ((top))
@@ -21608,48 +21694,45 @@
                                                               (hygiene
                                                                 guile))))))
                                                        (hygiene guile))
-                                                    #{ g60569 61116}#
-                                                    #{ g60568 61117}#))
-                                            #{tmp 61114}#)
+                                                    t-37825-38372
+                                                    t-37824-38373))
+                                            tmp-38370)
                                           (syntax-violation
                                             #f
                                             "source expression failed to match 
any pattern"
-                                            #{tmp 61113}#))))))))
-                             (#{f 61109}# #{x 61107}#)))
-                         #{tmp 61103}#)
-                       (let ((#{tmp 61118}#
+                                            tmp-38369))))))))
+                             (f-38365 x-38363)))
+                         tmp-38359)
+                       (let ((tmp-38374
                                ($sc-dispatch
-                                 #{x 61087}#
+                                 x-38343
                                  '(#(atom "append") . each-any))))
-                         (if #{tmp 61118}#
+                         (if tmp-38374
                            (@apply
-                             (lambda (#{x 61122}#)
-                               (let ((#{tmp 61123}#
-                                       (map #{emit 60626}# #{x 61122}#)))
-                                 (let ((#{tmp 61124}#
-                                         ($sc-dispatch
-                                           #{tmp 61123}#
-                                           'each-any)))
-                                   (if #{tmp 61124}#
+                             (lambda (x-38378)
+                               (let ((tmp-38379 (map emit-37882 x-38378)))
+                                 (let ((tmp-38380
+                                         ($sc-dispatch tmp-38379 'each-any)))
+                                   (if tmp-38380
                                      (@apply
-                                       (lambda (#{ g60581 61126}#)
+                                       (lambda (t-37837-38382)
                                          (cons '#(syntax-object
                                                   append
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g60581}#)
-                                                     #((m60582 top))
-                                                     #("i60586"))
+                                                     #(t-37837)
+                                                     #((m-*-37838 top))
+                                                     #("l-*-37842"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i60579"))
+                                                     #("l-*-37835"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i60541"))
+                                                     #("l-*-37797"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -21664,13 +21747,13 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i60362"
-                                                      "i60360"
-                                                      "i60358"
-                                                      "i60356"
-                                                      "i60354"
-                                                      "i60352"
-                                                      "i60350"))
+                                                     ("l-*-37618"
+                                                      "l-*-37616"
+                                                      "l-*-37614"
+                                                      "l-*-37612"
+                                                      "l-*-37610"
+                                                      "l-*-37608"
+                                                      "l-*-37606"))
                                                    #(ribcage
                                                      (quasiquote)
                                                      ((top))
@@ -21681,46 +21764,45 @@
                                                          ((top))
                                                          (hygiene guile))))))
                                                   (hygiene guile))
-                                               #{ g60581 61126}#))
-                                       #{tmp 61124}#)
+                                               t-37837-38382))
+                                       tmp-38380)
                                      (syntax-violation
                                        #f
                                        "source expression failed to match any 
pattern"
-                                       #{tmp 61123}#)))))
-                             #{tmp 61118}#)
-                           (let ((#{tmp 61127}#
+                                       tmp-38379)))))
+                             tmp-38374)
+                           (let ((tmp-38383
                                    ($sc-dispatch
-                                     #{x 61087}#
+                                     x-38343
                                      '(#(atom "vector") . each-any))))
-                             (if #{tmp 61127}#
+                             (if tmp-38383
                                (@apply
-                                 (lambda (#{x 61131}#)
-                                   (let ((#{tmp 61132}#
-                                           (map #{emit 60626}# #{x 61131}#)))
-                                     (let ((#{tmp 61133}#
+                                 (lambda (x-38387)
+                                   (let ((tmp-38388 (map emit-37882 x-38387)))
+                                     (let ((tmp-38389
                                              ($sc-dispatch
-                                               #{tmp 61132}#
+                                               tmp-38388
                                                'each-any)))
-                                       (if #{tmp 61133}#
+                                       (if tmp-38389
                                          (@apply
-                                           (lambda (#{ g60593 61135}#)
+                                           (lambda (t-37849-38391)
                                              (cons '#(syntax-object
                                                       vector
                                                       ((top)
                                                        #(ribcage () () ())
                                                        #(ribcage
-                                                         #(#{ g60593}#)
-                                                         #((m60594 top))
-                                                         #("i60598"))
+                                                         #(t-37849)
+                                                         #((m-*-37850 top))
+                                                         #("l-*-37854"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i60591"))
+                                                         #("l-*-37847"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i60541"))
+                                                         #("l-*-37797"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -21735,13 +21817,13 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i60362"
-                                                          "i60360"
-                                                          "i60358"
-                                                          "i60356"
-                                                          "i60354"
-                                                          "i60352"
-                                                          "i60350"))
+                                                         ("l-*-37618"
+                                                          "l-*-37616"
+                                                          "l-*-37614"
+                                                          "l-*-37612"
+                                                          "l-*-37610"
+                                                          "l-*-37608"
+                                                          "l-*-37606"))
                                                        #(ribcage
                                                          (quasiquote)
                                                          ((top))
@@ -21753,39 +21835,38 @@
                                                              (hygiene
                                                                guile))))))
                                                       (hygiene guile))
-                                                   #{ g60593 61135}#))
-                                           #{tmp 61133}#)
+                                                   t-37849-38391))
+                                           tmp-38389)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp 61132}#)))))
-                                 #{tmp 61127}#)
-                               (let ((#{tmp 61136}#
+                                           tmp-38388)))))
+                                 tmp-38383)
+                               (let ((tmp-38392
                                        ($sc-dispatch
-                                         #{x 61087}#
+                                         x-38343
                                          '(#(atom "list->vector") any))))
-                                 (if #{tmp 61136}#
+                                 (if tmp-38392
                                    (@apply
-                                     (lambda (#{x 61140}#)
-                                       (let ((#{tmp 61141}#
-                                               (#{emit 60626}# #{x 61140}#)))
+                                     (lambda (x-38396)
+                                       (let ((tmp-38397 (emit-37882 x-38396)))
                                          (list '#(syntax-object
                                                   list->vector
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g60605}#)
-                                                     #((m60606 top))
-                                                     #("i60609"))
+                                                     #(t-37861)
+                                                     #((m-*-37862 top))
+                                                     #("l-*-37865"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i60603"))
+                                                     #("l-*-37859"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i60541"))
+                                                     #("l-*-37797"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -21800,13 +21881,13 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i60362"
-                                                      "i60360"
-                                                      "i60358"
-                                                      "i60356"
-                                                      "i60354"
-                                                      "i60352"
-                                                      "i60350"))
+                                                     ("l-*-37618"
+                                                      "l-*-37616"
+                                                      "l-*-37614"
+                                                      "l-*-37612"
+                                                      "l-*-37610"
+                                                      "l-*-37608"
+                                                      "l-*-37606"))
                                                    #(ribcage
                                                      (quasiquote)
                                                      ((top))
@@ -21817,83 +21898,81 @@
                                                          ((top))
                                                          (hygiene guile))))))
                                                   (hygiene guile))
-                                               #{tmp 61141}#)))
-                                     #{tmp 61136}#)
-                                   (let ((#{tmp 61144}#
+                                               tmp-38397)))
+                                     tmp-38392)
+                                   (let ((tmp-38400
                                            ($sc-dispatch
-                                             #{x 61087}#
+                                             x-38343
                                              '(#(atom "value") any))))
-                                     (if #{tmp 61144}#
+                                     (if tmp-38400
                                        (@apply
-                                         (lambda (#{x 61148}#) #{x 61148}#)
-                                         #{tmp 61144}#)
+                                         (lambda (x-38404) x-38404)
+                                         tmp-38400)
                                        (syntax-violation
                                          #f
                                          "source expression failed to match 
any pattern"
-                                         #{x 61087}#))))))))))))))))))
-      (lambda (#{x 60627}#)
-        (let ((#{tmp 60629}#
-                ($sc-dispatch #{x 60627}# '(_ any))))
-          (if #{tmp 60629}#
+                                         x-38343))))))))))))))))))
+      (lambda (x-37883)
+        (let ((tmp-37885 ($sc-dispatch x-37883 '(_ any))))
+          (if tmp-37885
             (@apply
-              (lambda (#{e 60633}#)
-                (#{emit 60626}# (#{quasi 60620}# #{e 60633}# 0)))
-              #{tmp 60629}#)
+              (lambda (e-37889)
+                (emit-37882 (quasi-37876 e-37889 0)))
+              tmp-37885)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{x 60627}#)))))))
+              x-37883)))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x 61204}#)
+    (lambda (x-38460)
       (letrec*
-        ((#{read-file 61205}#
-           (lambda (#{fn 61314}# #{k 61315}#)
-             (let ((#{p 61316}# (open-input-file #{fn 61314}#)))
+        ((read-file-38461
+           (lambda (fn-38570 k-38571)
+             (let ((p-38572 (open-input-file fn-38570)))
                (letrec*
-                 ((#{f 61317}#
-                    (lambda (#{x 61371}# #{result 61372}#)
-                      (if (eof-object? #{x 61371}#)
+                 ((f-38573
+                    (lambda (x-38627 result-38628)
+                      (if (eof-object? x-38627)
                         (begin
-                          (close-input-port #{p 61316}#)
-                          (reverse #{result 61372}#))
-                        (#{f 61317}#
-                          (read #{p 61316}#)
-                          (cons (datum->syntax #{k 61315}# #{x 61371}#)
-                                #{result 61372}#))))))
-                 (#{f 61317}# (read #{p 61316}#) '()))))))
-        (let ((#{tmp 61207}#
-                ($sc-dispatch #{x 61204}# '(any any))))
-          (if #{tmp 61207}#
+                          (close-input-port p-38572)
+                          (reverse result-38628))
+                        (f-38573
+                          (read p-38572)
+                          (cons (datum->syntax k-38571 x-38627)
+                                result-38628))))))
+                 (f-38573 (read p-38572) '()))))))
+        (let ((tmp-38463 ($sc-dispatch x-38460 '(any any))))
+          (if tmp-38463
             (@apply
-              (lambda (#{k 61211}# #{filename 61212}#)
-                (let ((#{fn 61213}# (syntax->datum #{filename 61212}#)))
-                  (let ((#{tmp 61214}#
-                          (#{read-file 61205}#
-                            #{fn 61213}#
-                            #{filename 61212}#)))
-                    (let ((#{tmp 61215}#
-                            ($sc-dispatch #{tmp 61214}# 'each-any)))
-                      (if #{tmp 61215}#
+              (lambda (k-38467 filename-38468)
+                (let ((fn-38469 (syntax->datum filename-38468)))
+                  (let ((tmp-38470
+                          (read-file-38461 fn-38469 filename-38468)))
+                    (let ((tmp-38471 ($sc-dispatch tmp-38470 'each-any)))
+                      (if tmp-38471
                         (@apply
-                          (lambda (#{exp 61233}#)
+                          (lambda (exp-38489)
                             (cons '#(syntax-object
                                      begin
                                      ((top)
                                       #(ribcage () () ())
-                                      #(ribcage #(exp) #((top)) #("i61201"))
+                                      #(ribcage #(exp) #((top)) #("l-*-38457"))
                                       #(ribcage () () ())
                                       #(ribcage () () ())
-                                      #(ribcage #(fn) #((top)) #("i61196"))
+                                      #(ribcage #(fn) #((top)) #("l-*-38452"))
                                       #(ribcage
                                         #(k filename)
                                         #((top) (top))
-                                        #("i61192" "i61193"))
-                                      #(ribcage (read-file) ((top)) ("i61176"))
-                                      #(ribcage #(x) #((top)) #("i61175"))
+                                        #("l-*-38448" "l-*-38449"))
+                                      #(ribcage
+                                        (read-file)
+                                        ((top))
+                                        ("l-*-38432"))
+                                      #(ribcage #(x) #((top)) #("l-*-38431"))
                                       #(ribcage
                                         (include)
                                         ((top))
@@ -21904,54 +21983,53 @@
                                             ((top))
                                             (hygiene guile))))))
                                      (hygiene guile))
-                                  #{exp 61233}#))
-                          #{tmp 61215}#)
+                                  exp-38489))
+                          tmp-38471)
                         (syntax-violation
                           #f
                           "source expression failed to match any pattern"
-                          #{tmp 61214}#))))))
-              #{tmp 61207}#)
+                          tmp-38470))))))
+              tmp-38463)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{x 61204}#)))))))
+              x-38460)))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x 61392}#)
-      (let ((#{tmp 61394}#
-              ($sc-dispatch #{x 61392}# '(any any))))
-        (if #{tmp 61394}#
+    (lambda (x-38648)
+      (let ((tmp-38650 ($sc-dispatch x-38648 '(any any))))
+        (if tmp-38650
           (@apply
-            (lambda (#{k 61398}# #{filename 61399}#)
-              (let ((#{fn 61400}# (syntax->datum #{filename 61399}#)))
-                (let ((#{tmp 61401}#
+            (lambda (k-38654 filename-38655)
+              (let ((fn-38656 (syntax->datum filename-38655)))
+                (let ((tmp-38657
                         (datum->syntax
-                          #{filename 61399}#
-                          (let ((#{t 61404}# (%search-load-path #{fn 61400}#)))
-                            (if #{t 61404}#
-                              #{t 61404}#
+                          filename-38655
+                          (let ((t-38660 (%search-load-path fn-38656)))
+                            (if t-38660
+                              t-38660
                               (syntax-violation
                                 'include-from-path
                                 "file not found in path"
-                                #{x 61392}#
-                                #{filename 61399}#))))))
+                                x-38648
+                                filename-38655))))))
                   (list '#(syntax-object
                            include
                            ((top)
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i61386"))
+                            #(ribcage #(fn) #((top)) #("l-*-38642"))
                             #(ribcage () () ())
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i61382"))
+                            #(ribcage #(fn) #((top)) #("l-*-38638"))
                             #(ribcage
                               #(k filename)
                               #((top) (top))
-                              #("i61378" "i61379"))
+                              #("l-*-38634" "l-*-38635"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i61375"))
+                            #(ribcage #(x) #((top)) #("l-*-38631"))
                             #(ribcage
                               (include-from-path)
                               ((top))
@@ -21962,53 +22040,51 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{tmp 61401}#))))
-            #{tmp 61394}#)
+                        tmp-38657))))
+            tmp-38650)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 61392}#))))))
+            x-38648))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x 61414}#)
+    (lambda (x-38670)
       (syntax-violation
         'unquote
         "expression not valid outside of quasiquote"
-        #{x 61414}#))))
+        x-38670))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x 61418}#)
+    (lambda (x-38674)
       (syntax-violation
         'unquote-splicing
         "expression not valid outside of quasiquote"
-        #{x 61418}#))))
+        x-38674))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x 61475}#)
-      (let ((#{tmp 61477}#
-              ($sc-dispatch
-                #{x 61475}#
-                '(_ any any . each-any))))
-        (if #{tmp 61477}#
+    (lambda (x-38731)
+      (let ((tmp-38733
+              ($sc-dispatch x-38731 '(_ any any . each-any))))
+        (if tmp-38733
           (@apply
-            (lambda (#{e 61481}# #{m1 61482}# #{m2 61483}#)
-              (let ((#{tmp 61484}#
+            (lambda (e-38737 m1-38738 m2-38739)
+              (let ((tmp-38740
                       (letrec*
-                        ((#{f 61538}#
-                           (lambda (#{clause 61541}# #{clauses 61542}#)
-                             (if (null? #{clauses 61542}#)
-                               (let ((#{tmp 61544}#
+                        ((f-38794
+                           (lambda (clause-38797 clauses-38798)
+                             (if (null? clauses-38798)
+                               (let ((tmp-38800
                                        ($sc-dispatch
-                                         #{clause 61541}#
+                                         clause-38797
                                          '(#(free-id
                                              #(syntax-object
                                                else
@@ -22017,20 +22093,20 @@
                                                 #(ribcage
                                                   #(f clause clauses)
                                                   #((top) (top) (top))
-                                                  #("i61434"
-                                                    "i61435"
-                                                    "i61436"))
+                                                  #("l-*-38690"
+                                                    "l-*-38691"
+                                                    "l-*-38692"))
                                                 #(ribcage
                                                   #(e m1 m2)
                                                   #((top) (top) (top))
-                                                  #("i61424"
-                                                    "i61425"
-                                                    "i61426"))
+                                                  #("l-*-38680"
+                                                    "l-*-38681"
+                                                    "l-*-38682"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(x)
                                                   #((top))
-                                                  #("i61421"))
+                                                  #("l-*-38677"))
                                                 #(ribcage
                                                   (case)
                                                   ((top))
@@ -22044,34 +22120,34 @@
                                            any
                                            .
                                            each-any))))
-                                 (if #{tmp 61544}#
+                                 (if tmp-38800
                                    (@apply
-                                     (lambda (#{e1 61548}# #{e2 61549}#)
+                                     (lambda (e1-38804 e2-38805)
                                        (cons '#(syntax-object
                                                 begin
                                                 ((top)
                                                  #(ribcage
                                                    #(e1 e2)
                                                    #((top) (top))
-                                                   #("i61443" "i61444"))
+                                                   #("l-*-38699" "l-*-38700"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(f clause clauses)
                                                    #((top) (top) (top))
-                                                   #("i61434"
-                                                     "i61435"
-                                                     "i61436"))
+                                                   #("l-*-38690"
+                                                     "l-*-38691"
+                                                     "l-*-38692"))
                                                  #(ribcage
                                                    #(e m1 m2)
                                                    #((top) (top) (top))
-                                                   #("i61424"
-                                                     "i61425"
-                                                     "i61426"))
+                                                   #("l-*-38680"
+                                                     "l-*-38681"
+                                                     "l-*-38682"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i61421"))
+                                                   #("l-*-38677"))
                                                  #(ribcage
                                                    (case)
                                                    ((top))
@@ -22082,44 +22158,42 @@
                                                        ((top))
                                                        (hygiene guile))))))
                                                 (hygiene guile))
-                                             (cons #{e1 61548}# #{e2 61549}#)))
-                                     #{tmp 61544}#)
-                                   (let ((#{tmp 61550}#
+                                             (cons e1-38804 e2-38805)))
+                                     tmp-38800)
+                                   (let ((tmp-38806
                                            ($sc-dispatch
-                                             #{clause 61541}#
+                                             clause-38797
                                              '(each-any any . each-any))))
-                                     (if #{tmp 61550}#
+                                     (if tmp-38806
                                        (@apply
-                                         (lambda (#{k 61554}#
-                                                  #{e1 61555}#
-                                                  #{e2 61556}#)
+                                         (lambda (k-38810 e1-38811 e2-38812)
                                            (list '#(syntax-object
                                                     if
                                                     ((top)
                                                      #(ribcage
                                                        #(k e1 e2)
                                                        #((top) (top) (top))
-                                                       #("i61449"
-                                                         "i61450"
-                                                         "i61451"))
+                                                       #("l-*-38705"
+                                                         "l-*-38706"
+                                                         "l-*-38707"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i61434"
-                                                         "i61435"
-                                                         "i61436"))
+                                                       #("l-*-38690"
+                                                         "l-*-38691"
+                                                         "l-*-38692"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i61424"
-                                                         "i61425"
-                                                         "i61426"))
+                                                       #("l-*-38680"
+                                                         "l-*-38681"
+                                                         "l-*-38682"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i61421"))
+                                                       #("l-*-38677"))
                                                      #(ribcage
                                                        (case)
                                                        ((top))
@@ -22138,9 +22212,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61449"
-                                                               "i61450"
-                                                               "i61451"))
+                                                             #("l-*-38705"
+                                                               "l-*-38706"
+                                                               "l-*-38707"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -22149,22 +22223,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61434"
-                                                               "i61435"
-                                                               "i61436"))
+                                                             #("l-*-38690"
+                                                               "l-*-38691"
+                                                               "l-*-38692"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61424"
-                                                               "i61425"
-                                                               "i61426"))
+                                                             #("l-*-38680"
+                                                               "l-*-38681"
+                                                               "l-*-38682"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i61421"))
+                                                             #("l-*-38677"))
                                                            #(ribcage
                                                              (case)
                                                              ((top))
@@ -22184,9 +22258,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61449"
-                                                               "i61450"
-                                                               "i61451"))
+                                                             #("l-*-38705"
+                                                               "l-*-38706"
+                                                               "l-*-38707"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -22195,22 +22269,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61434"
-                                                               "i61435"
-                                                               "i61436"))
+                                                             #("l-*-38690"
+                                                               "l-*-38691"
+                                                               "l-*-38692"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61424"
-                                                               "i61425"
-                                                               "i61426"))
+                                                             #("l-*-38680"
+                                                               "l-*-38681"
+                                                               "l-*-38682"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i61421"))
+                                                             #("l-*-38677"))
                                                            #(ribcage
                                                              (case)
                                                              ((top))
@@ -22230,9 +22304,9 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i61449"
-                                                                     "i61450"
-                                                                     "i61451"))
+                                                                   
#("l-*-38705"
+                                                                     
"l-*-38706"
+                                                                     
"l-*-38707"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -22244,17 +22318,17 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i61434"
-                                                                     "i61435"
-                                                                     "i61436"))
+                                                                   
#("l-*-38690"
+                                                                     
"l-*-38691"
+                                                                     
"l-*-38692"))
                                                                  #(ribcage
                                                                    #(e m1 m2)
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i61424"
-                                                                     "i61425"
-                                                                     "i61426"))
+                                                                   
#("l-*-38680"
+                                                                     
"l-*-38681"
+                                                                     
"l-*-38682"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -22262,7 +22336,7 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   #("i61421"))
+                                                                   
#("l-*-38677"))
                                                                  #(ribcage
                                                                    (case)
                                                                    ((top))
@@ -22276,7 +22350,7 @@
                                                                          
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{k 61554}#))
+                                                             k-38810))
                                                  (cons '#(syntax-object
                                                           begin
                                                           ((top)
@@ -22285,9 +22359,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61449"
-                                                               "i61450"
-                                                               "i61451"))
+                                                             #("l-*-38705"
+                                                               "l-*-38706"
+                                                               "l-*-38707"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -22296,22 +22370,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61434"
-                                                               "i61435"
-                                                               "i61436"))
+                                                             #("l-*-38690"
+                                                               "l-*-38691"
+                                                               "l-*-38692"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i61424"
-                                                               "i61425"
-                                                               "i61426"))
+                                                             #("l-*-38680"
+                                                               "l-*-38681"
+                                                               "l-*-38682"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i61421"))
+                                                             #("l-*-38677"))
                                                            #(ribcage
                                                              (case)
                                                              ((top))
@@ -22323,59 +22397,57 @@
                                                                  (hygiene
                                                                    guile))))))
                                                           (hygiene guile))
-                                                       (cons #{e1 61555}#
-                                                             #{e2 61556}#))))
-                                         #{tmp 61550}#)
+                                                       (cons e1-38811
+                                                             e2-38812))))
+                                         tmp-38806)
                                        (syntax-violation
                                          'case
                                          "bad clause"
-                                         #{x 61475}#
-                                         #{clause 61541}#)))))
-                               (let ((#{tmp 61564}#
-                                       (#{f 61538}#
-                                         (car #{clauses 61542}#)
-                                         (cdr #{clauses 61542}#))))
-                                 (let ((#{tmp 61567}#
+                                         x-38731
+                                         clause-38797)))))
+                               (let ((tmp-38820
+                                       (f-38794
+                                         (car clauses-38798)
+                                         (cdr clauses-38798))))
+                                 (let ((tmp-38823
                                          ($sc-dispatch
-                                           #{clause 61541}#
+                                           clause-38797
                                            '(each-any any . each-any))))
-                                   (if #{tmp 61567}#
+                                   (if tmp-38823
                                      (@apply
-                                       (lambda (#{k 61571}#
-                                                #{e1 61572}#
-                                                #{e2 61573}#)
+                                       (lambda (k-38827 e1-38828 e2-38829)
                                          (list '#(syntax-object
                                                   if
                                                   ((top)
                                                    #(ribcage
                                                      #(k e1 e2)
                                                      #((top) (top) (top))
-                                                     #("i61465"
-                                                       "i61466"
-                                                       "i61467"))
+                                                     #("l-*-38721"
+                                                       "l-*-38722"
+                                                       "l-*-38723"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(rest)
                                                      #((top))
-                                                     #("i61461"))
+                                                     #("l-*-38717"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(f clause clauses)
                                                      #((top) (top) (top))
-                                                     #("i61434"
-                                                       "i61435"
-                                                       "i61436"))
+                                                     #("l-*-38690"
+                                                       "l-*-38691"
+                                                       "l-*-38692"))
                                                    #(ribcage
                                                      #(e m1 m2)
                                                      #((top) (top) (top))
-                                                     #("i61424"
-                                                       "i61425"
-                                                       "i61426"))
+                                                     #("l-*-38680"
+                                                       "l-*-38681"
+                                                       "l-*-38682"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i61421"))
+                                                     #("l-*-38677"))
                                                    #(ribcage
                                                      (case)
                                                      ((top))
@@ -22392,32 +22464,32 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i61465"
-                                                             "i61466"
-                                                             "i61467"))
+                                                           #("l-*-38721"
+                                                             "l-*-38722"
+                                                             "l-*-38723"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i61461"))
+                                                           #("l-*-38717"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i61434"
-                                                             "i61435"
-                                                             "i61436"))
+                                                           #("l-*-38690"
+                                                             "l-*-38691"
+                                                             "l-*-38692"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i61424"
-                                                             "i61425"
-                                                             "i61426"))
+                                                           #("l-*-38680"
+                                                             "l-*-38681"
+                                                             "l-*-38682"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i61421"))
+                                                           #("l-*-38677"))
                                                          #(ribcage
                                                            (case)
                                                            ((top))
@@ -22435,32 +22507,32 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i61465"
-                                                             "i61466"
-                                                             "i61467"))
+                                                           #("l-*-38721"
+                                                             "l-*-38722"
+                                                             "l-*-38723"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i61461"))
+                                                           #("l-*-38717"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i61434"
-                                                             "i61435"
-                                                             "i61436"))
+                                                           #("l-*-38690"
+                                                             "l-*-38691"
+                                                             "l-*-38692"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i61424"
-                                                             "i61425"
-                                                             "i61426"))
+                                                           #("l-*-38680"
+                                                             "l-*-38681"
+                                                             "l-*-38682"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i61421"))
+                                                           #("l-*-38677"))
                                                          #(ribcage
                                                            (case)
                                                            ((top))
@@ -22480,9 +22552,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i61465"
-                                                                   "i61466"
-                                                                   "i61467"))
+                                                                 #("l-*-38721"
+                                                                   "l-*-38722"
+                                                                   
"l-*-38723"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -22490,7 +22562,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i61461"))
+                                                                 
#("l-*-38717"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -22502,17 +22574,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i61434"
-                                                                   "i61435"
-                                                                   "i61436"))
+                                                                 #("l-*-38690"
+                                                                   "l-*-38691"
+                                                                   
"l-*-38692"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i61424"
-                                                                   "i61425"
-                                                                   "i61426"))
+                                                                 #("l-*-38680"
+                                                                   "l-*-38681"
+                                                                   
"l-*-38682"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -22520,7 +22592,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i61421"))
+                                                                 
#("l-*-38677"))
                                                                #(ribcage
                                                                  (case)
                                                                  ((top))
@@ -22533,39 +22605,39 @@
                                                                      (hygiene
                                                                        
guile))))))
                                                               (hygiene guile))
-                                                           #{k 61571}#))
+                                                           k-38827))
                                                (cons '#(syntax-object
                                                         begin
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i61465"
-                                                             "i61466"
-                                                             "i61467"))
+                                                           #("l-*-38721"
+                                                             "l-*-38722"
+                                                             "l-*-38723"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i61461"))
+                                                           #("l-*-38717"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i61434"
-                                                             "i61435"
-                                                             "i61436"))
+                                                           #("l-*-38690"
+                                                             "l-*-38691"
+                                                             "l-*-38692"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i61424"
-                                                             "i61425"
-                                                             "i61426"))
+                                                           #("l-*-38680"
+                                                             "l-*-38681"
+                                                             "l-*-38682"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i61421"))
+                                                           #("l-*-38677"))
                                                          #(ribcage
                                                            (case)
                                                            ((top))
@@ -22577,28 +22649,27 @@
                                                                (hygiene
                                                                  guile))))))
                                                         (hygiene guile))
-                                                     (cons #{e1 61572}#
-                                                           #{e2 61573}#))
-                                               #{tmp 61564}#))
-                                       #{tmp 61567}#)
+                                                     (cons e1-38828 e2-38829))
+                                               tmp-38820))
+                                       tmp-38823)
                                      (syntax-violation
                                        'case
                                        "bad clause"
-                                       #{x 61475}#
-                                       #{clause 61541}#))))))))
-                        (#{f 61538}# #{m1 61482}# #{m2 61483}#))))
-                (let ((#{body 61485}# #{tmp 61484}#))
+                                       x-38731
+                                       clause-38797))))))))
+                        (f-38794 m1-38738 m2-38739))))
+                (let ((body-38741 tmp-38740))
                   (list '#(syntax-object
                            let
                            ((top)
                             #(ribcage () () ())
-                            #(ribcage #(body) #((top)) #("i61432"))
+                            #(ribcage #(body) #((top)) #("l-*-38688"))
                             #(ribcage
                               #(e m1 m2)
                               #((top) (top) (top))
-                              #("i61424" "i61425" "i61426"))
+                              #("l-*-38680" "l-*-38681" "l-*-38682"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i61421"))
+                            #(ribcage #(x) #((top)) #("l-*-38677"))
                             #(ribcage
                               (case)
                               ((top))
@@ -22613,13 +22684,18 @@
                                        t
                                        ((top)
                                         #(ribcage () () ())
-                                        #(ribcage #(body) #((top)) #("i61432"))
+                                        #(ribcage
+                                          #(body)
+                                          #((top))
+                                          #("l-*-38688"))
                                         #(ribcage
                                           #(e m1 m2)
                                           #((top) (top) (top))
-                                          #("i61424" "i61425" "i61426"))
+                                          #("l-*-38680"
+                                            "l-*-38681"
+                                            "l-*-38682"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i61421"))
+                                        #(ribcage #(x) #((top)) #("l-*-38677"))
                                         #(ribcage
                                           (case)
                                           ((top))
@@ -22630,46 +22706,44 @@
                                               ((top))
                                               (hygiene guile))))))
                                        (hygiene guile))
-                                    #{e 61481}#))
-                        #{body 61485}#))))
-            #{tmp 61477}#)
+                                    e-38737))
+                        body-38741))))
+            tmp-38733)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 61475}#))))))
+            x-38731))))))
 
 (define make-variable-transformer
-  (lambda (#{proc 61592}#)
-    (if (procedure? #{proc 61592}#)
+  (lambda (proc-38848)
+    (if (procedure? proc-38848)
       (letrec*
-        ((#{trans 61593}#
-           (lambda (#{x 61595}#)
-             (#{proc 61592}# #{x 61595}#))))
+        ((trans-38849
+           (lambda (x-38851) (proc-38848 x-38851))))
         (begin
           (set-procedure-property!
-            #{trans 61593}#
+            trans-38849
             'variable-transformer
             #t)
-          #{trans 61593}#))
+          trans-38849))
       (error "variable transformer not a procedure"
-             #{proc 61592}#))))
+             proc-38848))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x 61632}#)
-      (let ((#{tmp 61634}#
-              ($sc-dispatch #{x 61632}# '(_ any))))
-        (if #{tmp 61634}#
+    (lambda (x-38888)
+      (let ((tmp-38890 ($sc-dispatch x-38888 '(_ any))))
+        (if tmp-38890
           (@apply
-            (lambda (#{e 61638}#)
+            (lambda (e-38894)
               (list '#(syntax-object
                        lambda
                        ((top)
-                        #(ribcage #(e) #((top)) #("i61607"))
+                        #(ribcage #(e) #((top)) #("l-*-38863"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i61604"))
+                        #(ribcage #(x) #((top)) #("l-*-38860"))
                         #(ribcage
                           (identifier-syntax)
                           ((top))
@@ -22683,9 +22757,9 @@
                     '(#(syntax-object
                         x
                         ((top)
-                         #(ribcage #(e) #((top)) #("i61607"))
+                         #(ribcage #(e) #((top)) #("l-*-38863"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i61604"))
+                         #(ribcage #(x) #((top)) #("l-*-38860"))
                          #(ribcage
                            (identifier-syntax)
                            ((top))
@@ -22699,9 +22773,9 @@
                     '#((#(syntax-object
                           macro-type
                           ((top)
-                           #(ribcage #(e) #((top)) #("i61607"))
+                           #(ribcage #(e) #((top)) #("l-*-38863"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i61604"))
+                           #(ribcage #(x) #((top)) #("l-*-38860"))
                            #(ribcage
                              (identifier-syntax)
                              ((top))
@@ -22716,9 +22790,9 @@
                         #(syntax-object
                           identifier-syntax
                           ((top)
-                           #(ribcage #(e) #((top)) #("i61607"))
+                           #(ribcage #(e) #((top)) #("l-*-38863"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i61604"))
+                           #(ribcage #(x) #((top)) #("l-*-38860"))
                            #(ribcage
                              (identifier-syntax)
                              ((top))
@@ -22732,9 +22806,9 @@
                     (list '#(syntax-object
                              syntax-case
                              ((top)
-                              #(ribcage #(e) #((top)) #("i61607"))
+                              #(ribcage #(e) #((top)) #("l-*-38863"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i61604"))
+                              #(ribcage #(x) #((top)) #("l-*-38860"))
                               #(ribcage
                                 (identifier-syntax)
                                 ((top))
@@ -22748,9 +22822,9 @@
                           '#(syntax-object
                              x
                              ((top)
-                              #(ribcage #(e) #((top)) #("i61607"))
+                              #(ribcage #(e) #((top)) #("l-*-38863"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i61604"))
+                              #(ribcage #(x) #((top)) #("l-*-38860"))
                               #(ribcage
                                 (identifier-syntax)
                                 ((top))
@@ -22765,9 +22839,9 @@
                           (list '#(syntax-object
                                    id
                                    ((top)
-                                    #(ribcage #(e) #((top)) #("i61607"))
+                                    #(ribcage #(e) #((top)) #("l-*-38863"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i61604"))
+                                    #(ribcage #(x) #((top)) #("l-*-38860"))
                                     #(ribcage
                                       (identifier-syntax)
                                       ((top))
@@ -22781,9 +22855,9 @@
                                 '(#(syntax-object
                                     identifier?
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i61607"))
+                                     #(ribcage #(e) #((top)) #("l-*-38863"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i61604"))
+                                     #(ribcage #(x) #((top)) #("l-*-38860"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22797,9 +22871,9 @@
                                   (#(syntax-object
                                      syntax
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i61607"))
+                                      #(ribcage #(e) #((top)) #("l-*-38863"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i61604"))
+                                      #(ribcage #(x) #((top)) #("l-*-38860"))
                                       #(ribcage
                                         (identifier-syntax)
                                         ((top))
@@ -22813,9 +22887,9 @@
                                    #(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i61607"))
+                                      #(ribcage #(e) #((top)) #("l-*-38863"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i61604"))
+                                      #(ribcage #(x) #((top)) #("l-*-38860"))
                                       #(ribcage
                                         (identifier-syntax)
                                         ((top))
@@ -22829,9 +22903,15 @@
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i61607"))
+                                          #(ribcage
+                                            #(e)
+                                            #((top))
+                                            #("l-*-38863"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i61604"))
+                                          #(ribcage
+                                            #(x)
+                                            #((top))
+                                            #("l-*-38860"))
                                           #(ribcage
                                             (identifier-syntax)
                                             ((top))
@@ -22842,13 +22922,13 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      #{e 61638}#))
+                                      e-38894))
                           (list '(#(syntax-object
                                     _
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i61607"))
+                                     #(ribcage #(e) #((top)) #("l-*-38863"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i61604"))
+                                     #(ribcage #(x) #((top)) #("l-*-38860"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22862,9 +22942,9 @@
                                   #(syntax-object
                                     x
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i61607"))
+                                     #(ribcage #(e) #((top)) #("l-*-38863"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i61604"))
+                                     #(ribcage #(x) #((top)) #("l-*-38860"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22878,9 +22958,9 @@
                                   #(syntax-object
                                     ...
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i61607"))
+                                     #(ribcage #(e) #((top)) #("l-*-38863"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i61604"))
+                                     #(ribcage #(x) #((top)) #("l-*-38860"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -22894,9 +22974,15 @@
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i61607"))
+                                          #(ribcage
+                                            #(e)
+                                            #((top))
+                                            #("l-*-38863"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i61604"))
+                                          #(ribcage
+                                            #(x)
+                                            #((top))
+                                            #("l-*-38860"))
                                           #(ribcage
                                             (identifier-syntax)
                                             ((top))
@@ -22907,19 +22993,19 @@
                                                 ((top))
                                                 (hygiene guile))))))
                                          (hygiene guile))
-                                      (cons #{e 61638}#
+                                      (cons e-38894
                                             '(#(syntax-object
                                                 x
                                                 ((top)
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i61607"))
+                                                   #("l-*-38863"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i61604"))
+                                                   #("l-*-38860"))
                                                  #(ribcage
                                                    (identifier-syntax)
                                                    ((top))
@@ -22936,12 +23022,12 @@
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i61607"))
+                                                   #("l-*-38863"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i61604"))
+                                                   #("l-*-38860"))
                                                  #(ribcage
                                                    (identifier-syntax)
                                                    ((top))
@@ -22952,17 +23038,17 @@
                                                        ((top))
                                                        (hygiene guile))))))
                                                 (hygiene guile)))))))))
-            #{tmp 61634}#)
-          (let ((#{tmp 61639}#
+            tmp-38890)
+          (let ((tmp-38895
                   ($sc-dispatch
-                    #{x 61632}#
+                    x-38888
                     '(_ (any any)
                         ((#(free-id
                             #(syntax-object
                               set!
                               ((top)
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i61604"))
+                               #(ribcage #(x) #((top)) #("l-*-38860"))
                                #(ribcage
                                  (identifier-syntax)
                                  ((top))
@@ -22976,33 +23062,37 @@
                           any
                           any)
                          any)))))
-            (if (if #{tmp 61639}#
+            (if (if tmp-38895
                   (@apply
-                    (lambda (#{id 61643}#
-                             #{exp1 61644}#
-                             #{var 61645}#
-                             #{val 61646}#
-                             #{exp2 61647}#)
-                      (if (identifier? #{id 61643}#)
-                        (identifier? #{var 61645}#)
+                    (lambda (id-38899
+                             exp1-38900
+                             var-38901
+                             val-38902
+                             exp2-38903)
+                      (if (identifier? id-38899)
+                        (identifier? var-38901)
                         #f))
-                    #{tmp 61639}#)
+                    tmp-38895)
                   #f)
               (@apply
-                (lambda (#{id 61648}#
-                         #{exp1 61649}#
-                         #{var 61650}#
-                         #{val 61651}#
-                         #{exp2 61652}#)
+                (lambda (id-38904
+                         exp1-38905
+                         var-38906
+                         val-38907
+                         exp2-38908)
                   (list '#(syntax-object
                            make-variable-transformer
                            ((top)
                             #(ribcage
                               #(id exp1 var val exp2)
                               #((top) (top) (top) (top) (top))
-                              #("i61622" "i61623" "i61624" "i61625" "i61626"))
+                              #("l-*-38878"
+                                "l-*-38879"
+                                "l-*-38880"
+                                "l-*-38881"
+                                "l-*-38882"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i61604"))
+                            #(ribcage #(x) #((top)) #("l-*-38860"))
                             #(ribcage
                               (identifier-syntax)
                               ((top))
@@ -23019,13 +23109,13 @@
                                   #(ribcage
                                     #(id exp1 var val exp2)
                                     #((top) (top) (top) (top) (top))
-                                    #("i61622"
-                                      "i61623"
-                                      "i61624"
-                                      "i61625"
-                                      "i61626"))
+                                    #("l-*-38878"
+                                      "l-*-38879"
+                                      "l-*-38880"
+                                      "l-*-38881"
+                                      "l-*-38882"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i61604"))
+                                  #(ribcage #(x) #((top)) #("l-*-38860"))
                                   #(ribcage
                                     (identifier-syntax)
                                     ((top))
@@ -23042,13 +23132,13 @@
                                    #(ribcage
                                      #(id exp1 var val exp2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i61622"
-                                       "i61623"
-                                       "i61624"
-                                       "i61625"
-                                       "i61626"))
+                                     #("l-*-38878"
+                                       "l-*-38879"
+                                       "l-*-38880"
+                                       "l-*-38881"
+                                       "l-*-38882"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i61604"))
+                                   #(ribcage #(x) #((top)) #("l-*-38860"))
                                    #(ribcage
                                      (identifier-syntax)
                                      ((top))
@@ -23065,13 +23155,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i61622"
-                                         "i61623"
-                                         "i61624"
-                                         "i61625"
-                                         "i61626"))
+                                       #("l-*-38878"
+                                         "l-*-38879"
+                                         "l-*-38880"
+                                         "l-*-38881"
+                                         "l-*-38882"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i61604"))
+                                     #(ribcage #(x) #((top)) #("l-*-38860"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -23089,13 +23179,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i61622"
-                                         "i61623"
-                                         "i61624"
-                                         "i61625"
-                                         "i61626"))
+                                       #("l-*-38878"
+                                         "l-*-38879"
+                                         "l-*-38880"
+                                         "l-*-38881"
+                                         "l-*-38882"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i61604"))
+                                     #(ribcage #(x) #((top)) #("l-*-38860"))
                                      #(ribcage
                                        (identifier-syntax)
                                        ((top))
@@ -23112,13 +23202,13 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i61622"
-                                            "i61623"
-                                            "i61624"
-                                            "i61625"
-                                            "i61626"))
+                                          #("l-*-38878"
+                                            "l-*-38879"
+                                            "l-*-38880"
+                                            "l-*-38881"
+                                            "l-*-38882"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i61604"))
+                                        #(ribcage #(x) #((top)) #("l-*-38860"))
                                         #(ribcage
                                           (identifier-syntax)
                                           ((top))
@@ -23135,13 +23225,13 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i61622"
-                                            "i61623"
-                                            "i61624"
-                                            "i61625"
-                                            "i61626"))
+                                          #("l-*-38878"
+                                            "l-*-38879"
+                                            "l-*-38880"
+                                            "l-*-38881"
+                                            "l-*-38882"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i61604"))
+                                        #(ribcage #(x) #((top)) #("l-*-38860"))
                                         #(ribcage
                                           (identifier-syntax)
                                           ((top))
@@ -23158,13 +23248,16 @@
                                          #(ribcage
                                            #(id exp1 var val exp2)
                                            #((top) (top) (top) (top) (top))
-                                           #("i61622"
-                                             "i61623"
-                                             "i61624"
-                                             "i61625"
-                                             "i61626"))
+                                           #("l-*-38878"
+                                             "l-*-38879"
+                                             "l-*-38880"
+                                             "l-*-38881"
+                                             "l-*-38882"))
                                          #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i61604"))
+                                         #(ribcage
+                                           #(x)
+                                           #((top))
+                                           #("l-*-38860"))
                                          #(ribcage
                                            (identifier-syntax)
                                            ((top))
@@ -23185,16 +23278,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i61622"
-                                                        "i61623"
-                                                        "i61624"
-                                                        "i61625"
-                                                        "i61626"))
+                                                      #("l-*-38878"
+                                                        "l-*-38879"
+                                                        "l-*-38880"
+                                                        "l-*-38881"
+                                                        "l-*-38882"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i61604"))
+                                                      #("l-*-38860"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23205,8 +23298,8 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{var 61650}#
-                                                #{val 61651}#)
+                                                var-38906
+                                                val-38907)
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -23217,16 +23310,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i61622"
-                                                        "i61623"
-                                                        "i61624"
-                                                        "i61625"
-                                                        "i61626"))
+                                                      #("l-*-38878"
+                                                        "l-*-38879"
+                                                        "l-*-38880"
+                                                        "l-*-38881"
+                                                        "l-*-38882"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i61604"))
+                                                      #("l-*-38860"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23237,8 +23330,8 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{exp2 61652}#))
-                                    (list (cons #{id 61648}#
+                                                exp2-38908))
+                                    (list (cons id-38904
                                                 '(#(syntax-object
                                                     x
                                                     ((top)
@@ -23249,16 +23342,16 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i61622"
-                                                         "i61623"
-                                                         "i61624"
-                                                         "i61625"
-                                                         "i61626"))
+                                                       #("l-*-38878"
+                                                         "l-*-38879"
+                                                         "l-*-38880"
+                                                         "l-*-38881"
+                                                         "l-*-38882"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i61604"))
+                                                       #("l-*-38860"))
                                                      #(ribcage
                                                        (identifier-syntax)
                                                        ((top))
@@ -23279,16 +23372,16 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i61622"
-                                                         "i61623"
-                                                         "i61624"
-                                                         "i61625"
-                                                         "i61626"))
+                                                       #("l-*-38878"
+                                                         "l-*-38879"
+                                                         "l-*-38880"
+                                                         "l-*-38881"
+                                                         "l-*-38882"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i61604"))
+                                                       #("l-*-38860"))
                                                      #(ribcage
                                                        (identifier-syntax)
                                                        ((top))
@@ -23309,16 +23402,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i61622"
-                                                        "i61623"
-                                                        "i61624"
-                                                        "i61625"
-                                                        "i61626"))
+                                                      #("l-*-38878"
+                                                        "l-*-38879"
+                                                        "l-*-38880"
+                                                        "l-*-38881"
+                                                        "l-*-38882"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i61604"))
+                                                      #("l-*-38860"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23329,7 +23422,7 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                (cons #{exp1 61649}#
+                                                (cons exp1-38905
                                                       '(#(syntax-object
                                                           x
                                                           ((top)
@@ -23344,16 +23437,16 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i61622"
-                                                               "i61623"
-                                                               "i61624"
-                                                               "i61625"
-                                                               "i61626"))
+                                                             #("l-*-38878"
+                                                               "l-*-38879"
+                                                               "l-*-38880"
+                                                               "l-*-38881"
+                                                               "l-*-38882"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i61604"))
+                                                             #("l-*-38860"))
                                                            #(ribcage
                                                              
(identifier-syntax)
                                                              ((top))
@@ -23379,16 +23472,16 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i61622"
-                                                               "i61623"
-                                                               "i61624"
-                                                               "i61625"
-                                                               "i61626"))
+                                                             #("l-*-38878"
+                                                               "l-*-38879"
+                                                               "l-*-38880"
+                                                               "l-*-38881"
+                                                               "l-*-38882"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i61604"))
+                                                             #("l-*-38860"))
                                                            #(ribcage
                                                              
(identifier-syntax)
                                                              ((top))
@@ -23400,7 +23493,7 @@
                                                                  (hygiene
                                                                    guile))))))
                                                           (hygiene guile))))))
-                                    (list #{id 61648}#
+                                    (list id-38904
                                           (list '#(syntax-object
                                                    identifier?
                                                    ((top)
@@ -23411,16 +23504,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i61622"
-                                                        "i61623"
-                                                        "i61624"
-                                                        "i61625"
-                                                        "i61626"))
+                                                      #("l-*-38878"
+                                                        "l-*-38879"
+                                                        "l-*-38880"
+                                                        "l-*-38881"
+                                                        "l-*-38882"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i61604"))
+                                                      #("l-*-38860"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23445,16 +23538,16 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i61622"
-                                                              "i61623"
-                                                              "i61624"
-                                                              "i61625"
-                                                              "i61626"))
+                                                            #("l-*-38878"
+                                                              "l-*-38879"
+                                                              "l-*-38880"
+                                                              "l-*-38881"
+                                                              "l-*-38882"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i61604"))
+                                                            #("l-*-38860"))
                                                           #(ribcage
                                                             (identifier-syntax)
                                                             ((top))
@@ -23466,7 +23559,7 @@
                                                                 (hygiene
                                                                   guile))))))
                                                          (hygiene guile))
-                                                      #{id 61648}#))
+                                                      id-38904))
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -23477,16 +23570,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i61622"
-                                                        "i61623"
-                                                        "i61624"
-                                                        "i61625"
-                                                        "i61626"))
+                                                      #("l-*-38878"
+                                                        "l-*-38879"
+                                                        "l-*-38880"
+                                                        "l-*-38881"
+                                                        "l-*-38882"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i61604"))
+                                                      #("l-*-38860"))
                                                     #(ribcage
                                                       (identifier-syntax)
                                                       ((top))
@@ -23497,37 +23590,37 @@
                                                           ((top))
                                                           (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{exp1 61649}#))))))
-                #{tmp 61639}#)
+                                                exp1-38905))))))
+                tmp-38895)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 61632}#))))))))
+                x-38888))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x 61685}#)
-      (let ((#{tmp 61687}#
+    (lambda (x-38941)
+      (let ((tmp-38943
               ($sc-dispatch
-                #{x 61685}#
+                x-38941
                 '(_ (any . any) any . each-any))))
-        (if #{tmp 61687}#
+        (if tmp-38943
           (@apply
-            (lambda (#{id 61691}#
-                     #{args 61692}#
-                     #{b0 61693}#
-                     #{b1 61694}#)
+            (lambda (id-38947 args-38948 b0-38949 b1-38950)
               (list '#(syntax-object
                        define
                        ((top)
                         #(ribcage
                           #(id args b0 b1)
                           #((top) (top) (top) (top))
-                          #("i61667" "i61668" "i61669" "i61670"))
+                          #("l-*-38923"
+                            "l-*-38924"
+                            "l-*-38925"
+                            "l-*-38926"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i61664"))
+                        #(ribcage #(x) #((top)) #("l-*-38920"))
                         #(ribcage
                           (define*)
                           ((top))
@@ -23538,16 +23631,19 @@
                               ((top))
                               (hygiene guile))))))
                        (hygiene guile))
-                    #{id 61691}#
+                    id-38947
                     (cons '#(syntax-object
                              lambda*
                              ((top)
                               #(ribcage
                                 #(id args b0 b1)
                                 #((top) (top) (top) (top))
-                                #("i61667" "i61668" "i61669" "i61670"))
+                                #("l-*-38923"
+                                  "l-*-38924"
+                                  "l-*-38925"
+                                  "l-*-38926"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i61664"))
+                              #(ribcage #(x) #((top)) #("l-*-38920"))
                               #(ribcage
                                 (define*)
                                 ((top))
@@ -23558,14 +23654,12 @@
                                     ((top))
                                     (hygiene guile))))))
                              (hygiene guile))
-                          (cons #{args 61692}#
-                                (cons #{b0 61693}# #{b1 61694}#)))))
-            #{tmp 61687}#)
-          (let ((#{tmp 61695}#
-                  ($sc-dispatch #{x 61685}# '(_ any any))))
-            (if (if #{tmp 61695}#
+                          (cons args-38948 (cons b0-38949 b1-38950)))))
+            tmp-38943)
+          (let ((tmp-38951 ($sc-dispatch x-38941 '(_ any any))))
+            (if (if tmp-38951
                   (@apply
-                    (lambda (#{id 61699}# #{val 61700}#)
+                    (lambda (id-38955 val-38956)
                       (identifier?
                         '#(syntax-object
                            x
@@ -23573,9 +23667,9 @@
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i61677" "i61678"))
+                              #("l-*-38933" "l-*-38934"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i61664"))
+                            #(ribcage #(x) #((top)) #("l-*-38920"))
                             #(ribcage
                               (define*)
                               ((top))
@@ -23586,19 +23680,19 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))))
-                    #{tmp 61695}#)
+                    tmp-38951)
                   #f)
               (@apply
-                (lambda (#{id 61701}# #{val 61702}#)
+                (lambda (id-38957 val-38958)
                   (list '#(syntax-object
                            define
                            ((top)
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i61681" "i61682"))
+                              #("l-*-38937" "l-*-38938"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i61664"))
+                            #(ribcage #(x) #((top)) #("l-*-38920"))
                             #(ribcage
                               (define*)
                               ((top))
@@ -23609,11 +23703,11 @@
                                   ((top))
                                   (hygiene guile))))))
                            (hygiene guile))
-                        #{id 61701}#
-                        #{val 61702}#))
-                #{tmp 61695}#)
+                        id-38957
+                        val-38958))
+                tmp-38951)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 61685}#))))))))
+                x-38941))))))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index d96c3cf..428b583 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -273,8 +273,11 @@
         (lambda (x mod)
           (primitive-eval x)))
     
-      (define-syntax-rule (gensym-hook)
-        (gensym))
+      ;; Capture syntax-session-id before we shove it off into a module.
+      (define session-id
+        (let ((v (module-variable (current-module) 'syntax-session-id)))
+          (lambda ()
+            ((variable-ref v)))))
 
       (define put-global-definition-hook
         (lambda (symbol type val)
@@ -452,7 +455,7 @@
 
     ;; FIXME: use a faster gensym
     (define-syntax-rule (build-lexical-var src id)
-      (gensym (string-append (symbol->string id) " ")))
+      (gensym (string-append (symbol->string id) "-")))
 
     (define-structure (syntax-object expression wrap module))
 
@@ -626,8 +629,8 @@
 
     ;; labels must be comparable with "eq?", have read-write invariance,
     ;; and distinct from symbols.
-    (define gen-label
-      (lambda () (symbol->string (gensym "i"))))
+    (define (gen-label)
+      (string-append "l-" (session-id) (symbol->string (gensym "-"))))
 
     (define gen-labels
       (lambda (ls)
@@ -656,7 +659,7 @@
                    (cons 'shift (wrap-subst w)))))
 
     (define-syntax-rule (new-mark)
-      (gensym "m"))
+      (gensym (string-append "m-" (session-id) "-")))
 
     ;; make-empty-ribcage and extend-ribcage maintain list-based ribcages for
     ;; internal definitions, in which the ribcages are built incrementally
@@ -812,6 +815,55 @@
                       id))))))
          (else (syntax-violation 'id-var-name "invalid id" id)))))
 
+    ;; A helper procedure for syntax-locally-bound-identifiers, which
+    ;; itself is a helper for transformer procedures.
+    ;; `locally-bound-identifiers' returns a list of all bindings
+    ;; visible to a syntax object with the given wrap.  They are in
+    ;; order from outer to inner.
+    ;;
+    ;; The purpose of this procedure is to give a transformer procedure
+    ;; references on bound identifiers, that the transformer can then
+    ;; introduce some of them in its output.  As such, the identifiers
+    ;; are anti-marked, so that rebuild-macro-output doesn't apply new
+    ;; marks to them.
+    ;;
+    (define locally-bound-identifiers
+      (lambda (w mod)
+        (define scan
+          (lambda (subst results)
+            (if (null? subst)
+                results
+                (let ((fst (car subst)))
+                  (if (eq? fst 'shift)
+                      (scan (cdr subst) results)
+                      (let ((symnames (ribcage-symnames fst))
+                            (marks (ribcage-marks fst)))
+                        (if (vector? symnames)
+                            (scan-vector-rib subst symnames marks results)
+                            (scan-list-rib subst symnames marks results))))))))
+        (define scan-list-rib
+          (lambda (subst symnames marks results)
+            (let f ((symnames symnames) (marks marks) (results results))
+              (if (null? symnames)
+                  (scan (cdr subst) results)
+                  (f (cdr symnames) (cdr marks)
+                     (cons (wrap (car symnames)
+                                 (anti-mark (make-wrap (car marks) subst))
+                                 mod)
+                           results))))))
+        (define scan-vector-rib
+          (lambda (subst symnames marks results)
+            (let ((n (vector-length symnames)))
+              (let f ((i 0) (results results))
+                (if (fx= i n)
+                    (scan (cdr subst) results)
+                    (f (fx+ i 1)
+                       (cons (wrap (vector-ref symnames i)
+                                   (anti-mark (make-wrap (vector-ref marks i) 
subst))
+                                   mod)
+                             results)))))))
+        (scan (wrap-subst w) '())))
+
     ;; Returns three values: binding type, binding value, the module (for
     ;; resolving toplevel vars).
     (define (resolve-identifier id w r mod resolve-syntax-parameters?)
@@ -850,6 +902,14 @@
          (else
           (error "unexpected id-var-name" id w n)))))
 
+    (define transformer-environment
+      (make-fluid
+       (lambda (k)
+         (error "called outside the dynamic extent of a syntax transformer"))))
+
+    (define (with-transformer-environment k)
+      ((fluid-ref transformer-environment) k))
+
     ;; free-id=? must be passed fully wrapped ids since (free-id=? x y)
     ;; may be true even if (free-id=? (wrap x w) (wrap y w)) is not.
 
@@ -1017,7 +1077,7 @@
             (call-with-values
                 (lambda ()
                   (syntax-type x r w (source-annotation x) ribcage mod #f))
-              (lambda (type value e w s mod)
+              (lambda (type value form e w s mod)
                 (case type
                   ((define-form)
                    (let* ((id (wrap value w mod))
@@ -1109,11 +1169,11 @@
                   (else
                    (list
                     (if (eq? m 'c&e)
-                        (let ((x (expand-expr type value e r w s mod)))
+                        (let ((x (expand-expr type value form e r w s mod)))
                           (top-level-eval-hook x mod)
                           (lambda () x))
                         (lambda ()
-                          (expand-expr type value e r w s mod)))))))))
+                          (expand-expr type value form e r w s mod)))))))))
           (let ((exps (map (lambda (x) (x))
                            (reverse (parse body r w s m esew mod)))))
             (if (null? exps)
@@ -1152,8 +1212,8 @@
                     (syntax-violation 'eval-when "invalid situation" e
                                       (car l))))))))
 
-    ;; syntax-type returns six values: type, value, e, w, s, and mod. The
-    ;; first two are described in the table below.
+    ;; syntax-type returns seven values: type, value, form, e, w, s, and
+    ;; mod. The first two are described in the table below.
     ;;
     ;;    type                   value         explanation
     ;;    -------------------------------------------------------------------
@@ -1182,10 +1242,11 @@
     ;;    constant               none          self-evaluating datum
     ;;    other                  none          anything else
     ;;
-    ;; For definition forms (define-form, define-syntax-parameter-form,
-    ;; and define-syntax-form), e is the rhs expression.  For all
-    ;; others, e is the entire form.  w is the wrap for e.  s is the
-    ;; source for the entire form. mod is the module for e.
+    ;; form is the entire form.  For definition forms (define-form,
+    ;; define-syntax-form, and define-syntax-parameter-form), e is the
+    ;; rhs expression.  For all others, e is the entire form.  w is the
+    ;; wrap for both form and e.  s is the source for the entire form.
+    ;; mod is the module for both form and e.
     ;;
     ;; syntax-type expands macros and unwraps as necessary to get to one
     ;; of the forms above.  It also parses definition forms, although
@@ -1200,28 +1261,28 @@
               (case type
                 ((macro)
                  (if for-car?
-                     (values type value e w s mod)
+                     (values type value e e w s mod)
                      (syntax-type (expand-macro value e r w s rib mod)
                                   r empty-wrap s rib mod #f)))
                 ((global)
                  ;; Toplevel definitions may resolve to bindings with
                  ;; different names or in different modules.
-                 (values type value value w s mod*))
-                (else (values type value e w s mod))))))
+                 (values type value e value w s mod*))
+                (else (values type value e e w s mod))))))
          ((pair? e)
           (let ((first (car e)))
             (call-with-values
                 (lambda () (syntax-type first r w s rib mod #t))
-              (lambda (ftype fval fe fw fs fmod)
+              (lambda (ftype fval fform fe fw fs fmod)
                 (case ftype
                   ((lexical)
-                   (values 'lexical-call fval e w s mod))
+                   (values 'lexical-call fval e e w s mod))
                   ((global)
                    ;; If we got here via an (@@ ...) expansion, we need to
                    ;; make sure the fmod information is propagated back
                    ;; correctly -- hence this consing.
                    (values 'global-call (make-syntax-object fval w fmod)
-                           e w s mod))
+                           e e w s mod))
                   ((macro)
                    (syntax-type (expand-macro fval e r w s rib mod)
                                 r empty-wrap s rib mod for-car?))
@@ -1230,23 +1291,24 @@
                      (lambda (e r w s mod)
                        (syntax-type e r w s rib mod for-car?))))
                   ((core)
-                   (values 'core-form fval e w s mod))
+                   (values 'core-form fval e e w s mod))
                   ((local-syntax)
-                   (values 'local-syntax-form fval e w s mod))
+                   (values 'local-syntax-form fval e e w s mod))
                   ((begin)
-                   (values 'begin-form #f e w s mod))
+                   (values 'begin-form #f e e w s mod))
                   ((eval-when)
-                   (values 'eval-when-form #f e w s mod))
+                   (values 'eval-when-form #f e e w s mod))
                   ((define)
                    (syntax-case e ()
                      ((_ name val)
                       (id? #'name)
-                      (values 'define-form #'name #'val w s mod))
+                      (values 'define-form #'name e #'val w s mod))
                      ((_ (name . args) e1 e2 ...)
                       (and (id? #'name)
                            (valid-bound-ids? (lambda-var-list #'args)))
                       ;; need lambda here...
                       (values 'define-form (wrap #'name w mod)
+                              (wrap e w mod)
                               (decorate-source
                                (cons #'lambda (wrap #'(args e1 e2 ...) w mod))
                                s)
@@ -1254,38 +1316,39 @@
                      ((_ name)
                       (id? #'name)
                       (values 'define-form (wrap #'name w mod)
+                              (wrap e w mod)
                               #'(if #f #f)
                               empty-wrap s mod))))
                   ((define-syntax)
                    (syntax-case e ()
                      ((_ name val)
                       (id? #'name)
-                      (values 'define-syntax-form #'name #'val w s mod))))
+                      (values 'define-syntax-form #'name e #'val w s mod))))
                   ((define-syntax-parameter)
                    (syntax-case e ()
                      ((_ name val)
                       (id? #'name)
-                      (values 'define-syntax-parameter-form #'name #'val w s 
mod))))
+                      (values 'define-syntax-parameter-form #'name e #'val w s 
mod))))
                   (else
-                   (values 'call #f e w s mod)))))))
+                   (values 'call #f e e w s mod)))))))
          ((syntax-object? e)
           (syntax-type (syntax-object-expression e)
                        r
                        (join-wraps w (syntax-object-wrap e))
                        (or (source-annotation e) s) rib
                        (or (syntax-object-module e) mod) for-car?))
-         ((self-evaluating? e) (values 'constant #f e w s mod))
-         (else (values 'other #f e w s mod)))))
+         ((self-evaluating? e) (values 'constant #f e e w s mod))
+         (else (values 'other #f e e w s mod)))))
 
     (define expand
       (lambda (e r w mod)
         (call-with-values
             (lambda () (syntax-type e r w (source-annotation e) #f mod #f))
-          (lambda (type value e w s mod)
-            (expand-expr type value e r w s mod)))))
+          (lambda (type value form e w s mod)
+            (expand-expr type value form e r w s mod)))))
 
     (define expand-expr
-      (lambda (type value e r w s mod)
+      (lambda (type value form e r w s mod)
         (case type
           ((lexical)
            (build-lexical-reference 'value s e value))
@@ -1334,8 +1397,8 @@
                     (expand-sequence #'(e1 e2 ...) r w s mod)
                     (expand-void))))))
           ((define-form define-syntax-form define-syntax-parameter-form)
-           (syntax-violation #f "definition in expression context"
-                             e (wrap value w mod)))
+           (syntax-violation #f "definition in expression context, where 
definitions are not allowed,"
+                             (source-wrap form w s mod)))
           ((syntax)
            (syntax-violation #f "reference to pattern variable outside syntax 
form"
                              (source-wrap e w s mod)))
@@ -1423,8 +1486,10 @@
                    (syntax-violation #f "encountered raw symbol in macro 
output"
                                      (source-wrap e w (wrap-subst w) mod) x))
                   (else (decorate-source x s)))))
-        (rebuild-macro-output (p (source-wrap e (anti-mark w) s mod))
-                              (new-mark))))
+        (with-fluids ((transformer-environment
+                       (lambda (k) (k e r w s rib mod))))
+          (rebuild-macro-output (p (source-wrap e (anti-mark w) s mod))
+                                (new-mark)))))
 
     (define expand-body
       ;; In processing the forms of the body, we create a new, empty wrap.
@@ -1477,7 +1542,7 @@
                 (let ((e (cdar body)) (er (caar body)))
                   (call-with-values
                       (lambda () (syntax-type e er empty-wrap 
(source-annotation er) ribcage mod #f))
-                    (lambda (type value e w s mod)
+                    (lambda (type value form e w s mod)
                       (case type
                         ((define-form)
                          (let ((id (wrap value w mod)) (label (gen-label)))
@@ -2243,7 +2308,7 @@
          ((_ (head tail ...) val)
           (call-with-values
               (lambda () (syntax-type #'head r empty-wrap no-source #f mod #t))
-            (lambda (type value ee ww ss modmod)
+            (lambda (type value ee* ee ww ss modmod)
               (case type
                 ((module-ref)
                  (let ((val (expand #'val r w mod)))
@@ -2545,7 +2610,7 @@
           (lambda (ls)
             (arg-check list? ls 'generate-temporaries)
             (let ((mod (cons 'hygiene (module-name (current-module)))))
-              (map (lambda (x) (wrap (gensym-hook) top-wrap mod)) ls))))
+              (map (lambda (x) (wrap (gensym "t-") top-wrap mod)) ls))))
 
     (set! free-identifier=?
           (lambda (x y)
@@ -2569,6 +2634,53 @@
                    (strip form empty-wrap)
                    (and subform (strip subform empty-wrap)))))
 
+    (let ()
+      (define (syntax-module id)
+        (arg-check nonsymbol-id? id 'syntax-module)
+        (cdr (syntax-object-module id)))
+
+      (define (syntax-local-binding id)
+        (arg-check nonsymbol-id? id 'syntax-local-binding)
+        (with-transformer-environment
+         (lambda (e r w s rib mod)
+           (define (strip-anti-mark w)
+             (let ((ms (wrap-marks w)) (s (wrap-subst w)))
+               (if (and (pair? ms) (eq? (car ms) the-anti-mark))
+                   ;; output is from original text
+                   (make-wrap (cdr ms) (if rib (cons rib (cdr s)) (cdr s)))
+                   ;; output introduced by macro
+                   (make-wrap ms (if rib (cons rib s) s)))))
+           (call-with-values (lambda ()
+                               (resolve-identifier
+                                (syntax-object-expression id)
+                                (strip-anti-mark (syntax-object-wrap id))
+                                r
+                                (syntax-object-module id)
+                                ;; FIXME: come up with a better policy for
+                                ;; resolve-syntax-parameters
+                                #t))
+             (lambda (type value mod)
+               (case type
+                 ((lexical) (values 'lexical value))
+                 ((macro) (values 'macro value))
+                 ((syntax) (values 'pattern-variable value))
+                 ((displaced-lexical) (values 'displaced-lexical #f))
+                 ((global) (values 'global (cons value (cdr mod))))
+                 (else (values 'other #f))))))))
+
+      (define (syntax-locally-bound-identifiers id)
+        (arg-check nonsymbol-id? id 'syntax-locally-bound-identifiers)
+        (locally-bound-identifiers (syntax-object-wrap id)
+                                   (syntax-object-module id)))
+
+      ;; Using define! instead of set! to avoid warnings at
+      ;; compile-time, after the variables are stolen away into (system
+      ;; syntax).  See the end of boot-9.scm.
+      ;;
+      (define! 'syntax-module syntax-module)
+      (define! 'syntax-local-binding syntax-local-binding)
+      (define! 'syntax-locally-bound-identifiers 
syntax-locally-bound-identifiers))
+    
     ;; $sc-dispatch expects an expression and a pattern.  If the expression
     ;; matches the pattern a list of the matching expressions for each
     ;; "any" is returned.  Otherwise, #f is returned.  (This use of #f will
diff --git a/module/ice-9/vlist.scm b/module/ice-9/vlist.scm
index a62bf59..0ed4b6d 100644
--- a/module/ice-9/vlist.scm
+++ b/module/ice-9/vlist.scm
@@ -1,6 +1,6 @@
 ;;; -*- mode: scheme; coding: utf-8; -*-
 ;;;
-;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2009, 2010, 2011, 2012 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
@@ -21,6 +21,7 @@
   #:use-module (srfi srfi-9)
   #:use-module (srfi srfi-9 gnu)
   #:use-module (srfi srfi-26)
+  #:use-module (ice-9 format)
 
   #:export (vlist? vlist-cons vlist-head vlist-tail vlist-null?
             vlist-null list->vlist vlist-ref vlist-drop vlist-take
diff --git a/module/language/assembly/disassemble.scm 
b/module/language/assembly/disassemble.scm
index 88ea0d7..ced5f26 100644
--- a/module/language/assembly/disassemble.scm
+++ b/module/language/assembly/disassemble.scm
@@ -1,6 +1,6 @@
 ;;; Guile VM code converters
 
-;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2009, 2010, 2012 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
@@ -141,6 +141,9 @@
                          (list "`~a'address@hidden (arg)~]"
                                (binding:name b) (< (binding:index b) nargs))
                          (lp (cdr bindings))))))))
+      ((assert-nargs-ee/locals assert-nargs-ge/locals)
+       (list "~a arg~:p, ~a local~:p"
+             (logand (car args) #x7) (ash (car args) -3)))
       ((free-ref free-boxed-ref free-boxed-set)
        ;; FIXME: we can do better than this
        (list "(closure variable)"))
diff --git a/module/language/glil/compile-assembly.scm 
b/module/language/glil/compile-assembly.scm
index c76e412..a51fd58 100644
--- a/module/language/glil/compile-assembly.scm
+++ b/module/language/glil/compile-assembly.scm
@@ -103,6 +103,15 @@
 (define (immediate? x)
   (object->assembly x))
 
+;; This tests for a proper scheme list whose last cdr is '(), not #nil.
+;;
+(define (scheme-list? x)
+  (and (list? x)
+       (or (eq? x '())
+           (let ((p (last-pair x)))
+             (and (pair? p)
+                  (eq? (cdr p) '()))))))
+
 ;; Note: in all of these procedures that build up constant tables, the
 ;; first (zeroth) index is reserved.  At runtime it is replaced with the
 ;; procedure's module.  Hence all of this 1+ length business.
@@ -733,7 +742,7 @@
    ((keyword? x)
     `(,@(dump-object (keyword->symbol x) addr)
       (make-keyword)))
-   ((list? x)
+   ((scheme-list? x)
     (let ((tail (let ((len (length x)))
                   (if (>= len 65536) (too-long "list"))
                   `((list ,(quotient len 256) ,(modulo len 256))))))
@@ -815,7 +824,7 @@
         (values code (addr+ addr code))))
      ((variable-cache-cell? x)
       (dump1 (variable-cache-cell-key x) i addr))
-     ((list? x)
+     ((scheme-list? x)
       (receive (codes addr)
           (fold2 (lambda (x codes addr)
                    (receive (subcode addr) (ref-or-dump x i addr)
diff --git a/module/language/scheme/spec.scm b/module/language/scheme/spec.scm
index 0df4171..e4cf55c 100644
--- a/module/language/scheme/spec.scm
+++ b/module/language/scheme/spec.scm
@@ -1,6 +1,6 @@
 ;;; Guile Scheme specification
 
-;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2009, 2010, 2011, 2012 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
@@ -53,4 +53,11 @@
                     ;; compile-time changes to `current-reader' are
                     ;; limited to the current compilation unit.
                     (module-define! m 'current-reader (make-fluid))
+
+                    ;; Default to `simple-format', as is the case until
+                    ;; (ice-9 format) is loaded.  This allows
+                    ;; compile-time warnings to be emitted when using
+                    ;; unsupported options.
+                    (module-set! m 'format simple-format)
+
                     m)))
diff --git a/module/language/tree-il/analyze.scm 
b/module/language/tree-il/analyze.scm
index f75c9f1..04687a8 100644
--- a/module/language/tree-il/analyze.scm
+++ b/module/language/tree-il/analyze.scm
@@ -22,6 +22,7 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-9)
   #:use-module (srfi srfi-11)
+  #:use-module (srfi srfi-26)
   #:use-module (ice-9 vlist)
   #:use-module (ice-9 match)
   #:use-module (system base syntax)
@@ -1392,7 +1393,7 @@ accurate information is missing from a given `tree-il' 
element."
          ((,port ,fmt . ,rest)
           (if (and (const? port)
                    (not (boolean? (const-exp port))))
-              (warn 'format loc 'wrong-port (const-exp port)))
+              (warning 'format loc 'wrong-port (const-exp port)))
           ;; Warn on non-literal format strings, unless they refer to a
           ;; lexical variable named "fmt".
           (if (record-case fmt
@@ -1403,6 +1404,36 @@ accurate information is missing from a given `tree-il' 
element."
          (else
           (warning 'format loc 'wrong-num-args (length args)))))
 
+     (define (check-simple-format-args args loc)
+       ;; Check the arguments to the `simple-format' procedure, which is
+       ;; less capable than that of (ice-9 format).
+
+       (define allowed-chars
+         '(#\A #\S #\a #\s #\~ #\%))
+
+       (define (format-chars fmt)
+         (let loop ((chars  (string->list fmt))
+                    (result '()))
+           (match chars
+             (()
+              (reverse result))
+             ((#\~ opt rest ...)
+              (loop rest (cons opt result)))
+             ((_ rest ...)
+              (loop rest result)))))
+
+       (match args
+         ((port ($ <const> _ (? string? fmt)) _ ...)
+          (let ((opts (format-chars fmt)))
+            (or (every (cut memq <> allowed-chars) opts)
+                (begin
+                  (warning 'format loc 'simple-format fmt
+                           (find (negate (cut memq <> allowed-chars)) opts))
+                  #f))))
+         ((port (($ <const> _ '_) fmt) args ...)
+          (check-simple-format-args `(,port ,fmt ,args) loc))
+         (_ #t)))
+
      (define (resolve-toplevel name)
        (and (module? env)
             (false-if-exception (module-ref env name))))
@@ -1410,9 +1441,19 @@ accurate information is missing from a given `tree-il' 
element."
      (match x
        (($ <call> src ($ <toplevel-ref> _ name) args)
         (let ((proc (resolve-toplevel name)))
-          (and (or (eq? proc format)
-                   (eq? proc (@ (ice-9 format) format)))
-               (check-format-args args (or src (find pair? locs))))))
+          (if (or (and (eq? proc (@ (guile) simple-format))
+                       (check-simple-format-args args
+                                                 (or src (find pair? locs))))
+                  (eq? proc (@ (ice-9 format) format)))
+              (check-format-args args (or src (find pair? locs))))))
+       (($ <call> src ($ <module-ref> _ '(ice-9 format) 'format) args)
+        (check-format-args args (or src (find pair? locs))))
+       (($ <call> src ($ <module-ref> _ '(guile)
+                         (or 'format 'simple-format))
+           args)
+        (and (check-simple-format-args args
+                                       (or src (find pair? locs)))
+             (check-format-args args (or src (find pair? locs)))))
        (_ #t))
      #t)
 
diff --git a/module/language/tree-il/compile-glil.scm 
b/module/language/tree-il/compile-glil.scm
index 31e9a70..81defa1 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -1,6 +1,6 @@
 ;;; TREE-IL -> GLIL compiler
 
-;; Copyright (C) 2001,2008,2009,2010,2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001,2008,2009,2010,2011,2012 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
@@ -402,13 +402,12 @@
                 ;; values-mismatch warning pass.
                 (comp-push (make-call src (make-primitive-ref #f 'values)
                                       '())))
-               ((1)
-                (comp-push (car args)))
                (else
                 ;; Taking advantage of unspecified order of evaluation of
                 ;; arguments.
                 (for-each comp-drop (cdr args))
-                (comp-push (car args)))))
+                (comp-push (car args))
+                (maybe-emit-return))))
             ((vals)
              (for-each comp-push args)
              (emit-code #f (make-glil-const (length args)))
diff --git a/module/language/tree-il/peval.scm 
b/module/language/tree-il/peval.scm
index 1a355a0..9aac24c 100644
--- a/module/language/tree-il/peval.scm
+++ b/module/language/tree-il/peval.scm
@@ -411,7 +411,7 @@ top-level bindings from ENV and return the resulting 
expression."
   (define (fresh-gensyms vars)
     (map (lambda (var)
            (let ((new (gensym (string-append (symbol->string (var-name var))
-                                             " "))))
+                                             "-"))))
              (set! store (vhash-consq new var store))
              new))
          vars))
@@ -1008,7 +1008,9 @@ top-level bindings from ENV and return the resulting 
expression."
              exp))
         (else
          (let ((vals (map for-value exps)))
-           (if (and (memq ctx '(value test effect))
+           (if (and (case ctx
+                      ((value test effect) #t)
+                      (else (null? (cdr vals))))
                     (every singly-valued-expression? vals))
                (for-tail (list->seq src (append (cdr vals) (list (car vals)))))
                (make-primcall src 'values vals))))))
diff --git a/module/language/tree-il/primitives.scm 
b/module/language/tree-il/primitives.scm
index 8e9d2eb..f192c4f 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -1,6 +1,6 @@
 ;;; open-coding primitive procedures
 
-;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2010, 2011, 2012 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
@@ -487,8 +487,8 @@
             '@dynamic-wind
             (case-lambda
               ((src pre expr post)
-               (let ((PRE (gensym " pre"))
-                     (POST (gensym " post")))
+               (let ((PRE (gensym "pre-"))
+                     (POST (gensym "post-")))
                  (make-let
                   src
                   '(pre post)
diff --git a/module/rnrs/control.scm b/module/rnrs/control.scm
index b81c133..25ffa3e 100644
--- a/module/rnrs/control.scm
+++ b/module/rnrs/control.scm
@@ -1,6 +1,6 @@
 ;;; control.scm --- The R6RS control structures library
 
-;;      Copyright (C) 2010 Free Software Foundation, Inc.
+;;      Copyright (C) 2010, 2012 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
@@ -19,14 +19,4 @@
 
 (library (rnrs control (6))
   (export when unless do case-lambda)
-  (import (only (guile) if not begin define-syntax syntax-rules do 
case-lambda))
-
-  (define-syntax when
-    (syntax-rules ()
-      ((when test result1 result2 ...)
-       (if test (begin result1 result2 ...)))))
-
-  (define-syntax unless
-    (syntax-rules ()
-      ((unless test result1 result2 ...)
-       (if (not test) (begin result1 result2 ...))))))
+  (import (only (guile) when unless do case-lambda)))
diff --git a/module/scripts/list.scm b/module/scripts/list.scm
index 0f1d715..66116ce 100644
--- a/module/scripts/list.scm
+++ b/module/scripts/list.scm
@@ -1,6 +1,6 @@
 ;;; List --- List scripts that can be invoked by guild  -*- coding: iso-8859-1 
-*-
 
-;;;;   Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 ;;;; 
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -26,6 +26,7 @@
 ;;; Code:
 
 (define-module (scripts list)
+  #:use-module (srfi srfi-1)
   #:export (list-scripts))
 
 (define %include-in-guild-list #f)
diff --git a/module/sxml/ssax.scm b/module/sxml/ssax.scm
index 9709641..a4de0e3 100644
--- a/module/sxml/ssax.scm
+++ b/module/sxml/ssax.scm
@@ -1,6 +1,6 @@
 ;;;; (sxml ssax) -- the SSAX parser
 ;;;;
-;;;;   Copyright (C) 2009, 2010  Free Software Foundation, Inc.
+;;;;   Copyright (C) 2009, 2010,2012  Free Software Foundation, Inc.
 ;;;;    Modified 2004 by Andy Wingo <wingo at pobox dot com>.
 ;;;;    Written 2001,2002,2003,2004 by Oleg Kiselyov <oleg at pobox dot com> 
as SSAX.scm.
 ;;;; 
@@ -209,13 +209,6 @@ string @var{str}, which will then be parsed."
   (set! ssax:predefined-parsed-entities
         (acons entity str ssax:predefined-parsed-entities)))
 
-;; if condition is true, execute stmts in turn and return the result of
-;; the last statement otherwise, return #f
-(define-syntax when
-  (syntax-rules ()
-    ((when condition . stmts)
-      (and condition (begin . stmts)))))
-
 ;; Execute a sequence of forms and return the result of the _first_ one.
 ;; Like PROG1 in Lisp. Typically used to evaluate one or more forms with
 ;; side effects and return a value that must be computed before some or
diff --git a/module/system/base/message.scm b/module/system/base/message.scm
index 75e14ea..8cf285a 100644
--- a/module/system/base/message.scm
+++ b/module/system/base/message.scm
@@ -1,6 +1,6 @@
 ;;; User interface messages
 
-;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2009, 2010, 2011, 2012 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
@@ -150,6 +150,10 @@
                         (emit #f "~a to ~a" min max))))
 
                (match rest
+                 (('simple-format fmt opt)
+                  (emit port
+                        "~A: warning: ~S: unsupported format option ~~~A, use 
(ice-9 format) instead~%"
+                        loc (escape-newlines fmt) opt))
                  (('wrong-format-arg-count fmt min max actual)
                   (emit port
                         "~A: warning: ~S: wrong number of `format' arguments: 
expected ~A, got ~A~%"
diff --git a/module/system/repl/common.scm b/module/system/repl/common.scm
index 6c6ee2a..346ba99 100644
--- a/module/system/repl/common.scm
+++ b/module/system/repl/common.scm
@@ -39,7 +39,7 @@
 
 (define *version*
   (format #f "GNU Guile ~A
-Copyright (C) 1995-2011 Free Software Foundation, Inc.
+Copyright (C) 1995-2012 Free Software Foundation, Inc.
 
 Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
 This program is free software, and you are welcome to redistribute it
diff --git a/module/system/repl/error-handling.scm 
b/module/system/repl/error-handling.scm
index 2a585aa..0e31eb9 100644
--- a/module/system/repl/error-handling.scm
+++ b/module/system/repl/error-handling.scm
@@ -1,6 +1,6 @@
 ;;; Error handling in the REPL
 
-;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 2001, 2009, 2010, 2011, 2012 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
@@ -23,6 +23,7 @@
   #:use-module (system base pmatch)
   #:use-module (system vm trap-state)
   #:use-module (system repl debug)
+  #:use-module (ice-9 format)
   #:export (call-with-error-handling
             with-error-handling))
 
diff --git a/test-suite/lalr/common-test.scm b/test-suite/lalr/common-test.scm
index 8563029..8009148 100644
--- a/test-suite/lalr/common-test.scm
+++ b/test-suite/lalr/common-test.scm
@@ -8,13 +8,6 @@
 
 (define *error* '())
 
-(define-syntax when
-  (syntax-rules ()
-    ((_ ?expr ?body ...)
-     (if ?expr
-        (let () ?body ...)
-       #f))))
-
 (define-syntax check
   (syntax-rules (=>)
     ((_ ?expr => ?expected-result)
diff --git a/test-suite/standalone/Makefile.am 
b/test-suite/standalone/Makefile.am
index 08d249c..d8cfafa 100644
--- a/test-suite/standalone/Makefile.am
+++ b/test-suite/standalone/Makefile.am
@@ -189,6 +189,13 @@ test_scm_to_latin1_string_LDADD = $(LIBGUILE_LDADD)
 check_PROGRAMS += test-scm-to-latin1-string
 TESTS += test-scm-to-latin1-string
 
+# test-scm-values
+test_scm_values_SOURCES = test-scm-values.c
+test_scm_values_CFLAGS = ${test_cflags}
+test_scm_values_LDADD = $(LIBGUILE_LDADD)
+check_PROGRAMS += test-scm-values
+TESTS += test-scm-values
+
 if HAVE_SHARED_LIBRARIES
 
 # test-extensions
diff --git a/test-suite/standalone/test-guile-snarf 
b/test-suite/standalone/test-guile-snarf
index 41a9dc6..e314791 100755
--- a/test-suite/standalone/test-guile-snarf
+++ b/test-suite/standalone/test-guile-snarf
@@ -1,7 +1,23 @@
 #!/bin/sh
+
+# Test the `guile-snarf' tool.
+
+# Strip the first line, like GNU `tail -n +2' does, but in a portable
+# way (`tail' on Solaris 10 doesn't support `-n +2' for instance.)
+strip_first_line ()
+{
+    read line
+    while read line
+    do
+       echo "$line"
+    done
+}
+
 snarf ()
 {
-    echo "$1" | guile-snarf - | tail -n +2 | tr -d ' \t\n'
+    # GNU cpp emits a comment on the first line, which shows what
+    # arguments it was passed.  Strip this line.
+    echo "$1" | guile-snarf - | strip_first_line | tr -d ' \t\n'
 }
 
 snarf_test ()
diff --git a/test-suite/standalone/test-loose-ends.c 
b/test-suite/standalone/test-loose-ends.c
index 2fdbe7d..ee0fcf3 100644
--- a/test-suite/standalone/test-loose-ends.c
+++ b/test-suite/standalone/test-loose-ends.c
@@ -3,7 +3,7 @@
  * Test items of the Guile C API that aren't covered by any other tests.
  */
 
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2012 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
@@ -43,9 +43,43 @@ test_scm_from_locale_keywordn ()
 }
 
 static void
+test_scm_local_eval ()
+{
+  SCM result;
+
+  scm_c_use_module ("ice-9 local-eval");
+  result = scm_local_eval
+    (scm_list_3 (scm_from_latin1_symbol ("+"),
+                 scm_from_latin1_symbol ("x"),
+                 scm_from_latin1_symbol ("y")),
+     scm_c_eval_string ("(let ((x 1) (y 2)) (the-environment))"));
+     
+  assert (scm_is_true (scm_equal_p (result,
+                                    scm_from_signed_integer (3))));
+}
+
+static void
+test_scm_call ()
+{
+  SCM result;
+
+  result = scm_call (scm_c_public_ref ("guile", "+"),
+                     scm_from_int (1),
+                     scm_from_int (2),
+                     SCM_UNDEFINED);
+  assert (scm_is_true (scm_equal_p (result, scm_from_int (3))));
+
+  result = scm_call (scm_c_public_ref ("guile", "list"),
+                     SCM_UNDEFINED);
+  assert (scm_is_eq (result, SCM_EOL));
+}
+
+static void
 tests (void *data, int argc, char **argv)
 {
   test_scm_from_locale_keywordn ();
+  test_scm_local_eval ();
+  test_scm_call ();
 }
 
 int
diff --git a/test-suite/standalone/test-list.c 
b/test-suite/standalone/test-scm-values.c
similarity index 50%
copy from test-suite/standalone/test-list.c
copy to test-suite/standalone/test-scm-values.c
index b51a2a1..ece62da 100644
--- a/test-suite/standalone/test-list.c
+++ b/test-suite/standalone/test-scm-values.c
@@ -1,6 +1,4 @@
-/* test-list.c - exercise libguile/list.c functions */
-
-/* Copyright (C) 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2012 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
@@ -22,39 +20,45 @@
 # include <config.h>
 #endif
 
+#include <assert.h>
 #include <libguile.h>
-
 #include <stdlib.h>
-#include <stdio.h>
 #include <string.h>
 
-/* pretty trivial, but ensure this entrypoint exists, since it was
-   documented in Guile 1.6 and earlier */
 static void
-test_scm_list (void)
+test_scm_c_value_ref_on_multiple_values ()
 {
-  {
-    if (! scm_is_eq (SCM_EOL, scm_list (SCM_EOL)))
-      {
-        fprintf (stderr, "fail: scm_list SCM_EOL\n");
-        exit (EXIT_FAILURE);
-      }
-  }
+  SCM values = scm_values (scm_list_3 (scm_from_latin1_string ("foo"),
+                                       scm_from_latin1_string ("bar"),
+                                       scm_from_latin1_string ("baz")));
+
+  char *foo = scm_to_latin1_string (scm_c_value_ref (values, 0));
+  char *bar = scm_to_latin1_string (scm_c_value_ref (values, 1));
+  char *baz = scm_to_latin1_string (scm_c_value_ref (values, 2));
+
+  assert (strcmp (foo, "foo") == 0);
+  assert (strcmp (bar, "bar") == 0);
+  assert (strcmp (baz, "baz") == 0);
 
-  {
-    SCM lst = scm_list_2 (scm_from_int (1), scm_from_int (2));
-    if (! scm_is_true (scm_equal_p (lst, scm_list (lst))))
-      {
-        fprintf (stderr, "fail: scm_list '(1 2)\n");
-        exit (EXIT_FAILURE);
-      }
-  }
+  free (foo);
+  free (bar);
+  free (baz);
+}
+
+static void
+test_scm_c_value_ref_on_a_single_value ()
+{
+  SCM value = scm_from_latin1_string ("foo");
+  char *foo = scm_to_latin1_string (scm_c_value_ref (value, 0));
+  assert (strcmp (foo, "foo") == 0);
+  free (foo);
 }
 
 static void
 tests (void *data, int argc, char **argv)
 {
-  test_scm_list ();
+  test_scm_c_value_ref_on_multiple_values ();
+  test_scm_c_value_ref_on_a_single_value ();
 }
 
 int
diff --git a/test-suite/tests/asm-to-bytecode.test 
b/test-suite/tests/asm-to-bytecode.test
index 1132a41..9a8178c 100644
--- a/test-suite/tests/asm-to-bytecode.test
+++ b/test-suite/tests/asm-to-bytecode.test
@@ -1,6 +1,6 @@
 ;;;; Assembly to bytecode compilation -*- mode: scheme; coding: utf-8; -*-
 ;;;;
-;;;;   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2010, 2011, 2012 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
@@ -129,6 +129,12 @@
                (string=? (target-vendor) vendor)
                (string=? (target-os) os)))))))
 
+(define (native-cpu)
+  (with-target %host-type target-cpu))
+
+(define (native-word-size)
+  ((@ (system foreign) sizeof) '*))
+
 (define %objcode-cookie-size
   (string-length "GOOF----LE-8"))
 
@@ -139,7 +145,17 @@
       (lambda (p get-objcode)
         (with-target triplet
           (lambda ()
-            (let ((b (compile-bytecode
+            (let ((word-size
+                   ;; When the target is the native CPU, rather trust
+                   ;; the native CPU's word size.  This is because
+                   ;; Debian's `sparc64-linux-gnu' port, for instance,
+                   ;; actually has a 32-bit user-land, for instance (see
+                   ;; <http://www.debian.org/ports/sparc/#sparc64bit>
+                   ;; for details.)
+                   (if (string=? (native-cpu) (target-cpu))
+                       (native-word-size)
+                       word-size))
+                  (b (compile-bytecode
                       '(load-program () 16 #f
                                      (assert-nargs-ee/locals 1)
                                      (make-int8 77)
diff --git a/test-suite/tests/eval.test b/test-suite/tests/eval.test
index a128cd7..a5fbfec 100644
--- a/test-suite/tests/eval.test
+++ b/test-suite/tests/eval.test
@@ -1,5 +1,5 @@
 ;;;; eval.test --- tests guile's evaluator     -*- scheme -*-
-;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011 Free Software 
Foundation, Inc.
+;;;; Copyright (C) 2000, 2001, 2006, 2007, 2009, 2010, 2011, 2012 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
@@ -19,7 +19,8 @@
   :use-module (test-suite lib)
   :use-module ((srfi srfi-1) :select (unfold count))
   :use-module ((system vm vm) :select (make-vm call-with-vm))
-  :use-module (ice-9 documentation))
+  :use-module (ice-9 documentation)
+  :use-module (ice-9 local-eval))
 
 
 (define exception:bad-expression
@@ -74,6 +75,10 @@
 
 (with-test-prefix "evaluator"
 
+  (pass-if "definitions return #<unspecified>"
+    (eq? (primitive-eval '(define test-var 'foo))
+         (if #f #f)))
+
   (with-test-prefix "symbol lookup"
 
     (with-test-prefix "top level"
@@ -422,4 +427,96 @@
           (thunk (let loop () (cons 's (loop)))))
       (call-with-vm vm thunk))))
 
+;;;
+;;; local-eval
+;;;
+
+(with-test-prefix "local evaluation"
+
+  (pass-if "local-eval"
+
+    (let* ((env1 (local-eval '(let ((x 1) (y 2) (z 3))
+                                (define-syntax-rule (foo x) (quote x))
+                                (the-environment))
+                             (current-module)))
+           (env2 (local-eval '(let ((x 111) (a 'a))
+                                (define-syntax-rule (bar x) (quote x))
+                                (the-environment))
+                           env1)))
+      (local-eval '(set! x 11) env1)
+      (local-eval '(set! y 22) env1)
+      (local-eval '(set! z 33) env2)
+      (and (equal? (local-eval '(list x y z) env1)
+                   '(11 22 33))
+           (equal? (local-eval '(list x y z a) env2)
+                   '(111 22 33 a)))))
+
+  (pass-if "local-compile"
+
+    (let* ((env1 (local-compile '(let ((x 1) (y 2) (z 3))
+                                   (define-syntax-rule (foo x) (quote x))
+                                   (the-environment))
+                                (current-module)))
+           (env2 (local-compile '(let ((x 111) (a 'a))
+                                   (define-syntax-rule (bar x) (quote x))
+                                   (the-environment))
+                                env1)))
+      (local-compile '(set! x 11) env1)
+      (local-compile '(set! y 22) env1)
+      (local-compile '(set! z 33) env2)
+      (and (equal? (local-compile '(list x y z) env1)
+                   '(11 22 33))
+           (equal? (local-compile '(list x y z a) env2)
+                   '(111 22 33 a)))))
+
+  (pass-if "the-environment within a macro"
+    (let ((module-a-name '(test module the-environment a))
+          (module-b-name '(test module the-environment b)))
+      (let ((module-a (resolve-module module-a-name))
+            (module-b (resolve-module module-b-name)))
+        (module-use! module-a (resolve-interface '(guile)))
+        (module-use! module-a (resolve-interface '(ice-9 local-eval)))
+        (eval '(begin
+                 (define z 3)
+                 (define-syntax-rule (test)
+                   (let ((x 1) (y 2))
+                     (the-environment))))
+              module-a)
+        (module-use! module-b (resolve-interface '(guile)))
+        (let ((env (local-eval `(let ((x 111) (y 222))
+                                  ((@@ ,module-a-name test)))
+                               module-b)))
+          (equal? (local-eval '(list x y z) env)
+                  '(1 2 3))))))
+
+  (pass-if "capture pattern variables"
+    (let ((env (syntax-case #'(((a 1) (b 2) (c 3))
+                               ((d 4) (e 5) (f 6))) ()
+                 ((((k v) ...) ...) (the-environment)))))
+      (equal? (syntax->datum (local-eval '#'((k ... v ...) ...) env))
+              '((a b c 1 2 3) (d e f 4 5 6)))))
+
+  (pass-if "mixed primitive-eval, local-eval and local-compile"
+
+    (let* ((env1 (primitive-eval '(let ((x 1) (y 2) (z 3))
+                                    (define-syntax-rule (foo x) (quote x))
+                                    (the-environment))))
+           (env2 (local-eval '(let ((x 111) (a 'a))
+                                (define-syntax-rule (bar x) (quote x))
+                                (the-environment))
+                             env1))
+           (env3 (local-compile '(let ((y 222) (b 'b))
+                                   (the-environment))
+                                env2)))
+      (local-eval    '(set! x 11) env1)
+      (local-compile '(set! y 22) env2)
+      (local-eval    '(set! z 33) env2)
+      (local-compile '(set! a (* y 2)) env3)
+      (and (equal? (local-compile '(list x y z) env1)
+                   '(11 22 33))
+           (equal? (local-eval '(list x y z a) env2)
+                   '(111 22 33 444))
+           (equal? (local-eval '(list x y z a b) env3)
+                   '(111 222 33 444 b))))))
+
 ;;; eval.test ends here
diff --git a/test-suite/tests/foreign.test b/test-suite/tests/foreign.test
index 2c326c9..6eafe95 100644
--- a/test-suite/tests/foreign.test
+++ b/test-suite/tests/foreign.test
@@ -1,6 +1,6 @@
 ;;;; foreign.test --- FFI.           -*- mode: scheme; coding: utf-8; -*-
 ;;;;
-;;;;   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2010, 2011, 2012 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
@@ -71,6 +71,12 @@
       (equal? (make-pointer 123)
               (make-pointer 123 finalizer))))
 
+  (pass-if "equal? modulo finalizer (set-pointer-finalizer!)"
+    (let ((finalizer (dynamic-func "scm_is_pair" (dynamic-link)))
+          (ptr       (make-pointer 123)))
+      (set-pointer-finalizer! ptr finalizer)
+      (equal? (make-pointer 123) ptr)))
+
   (pass-if "not equal?"
     (not (equal? (make-pointer 123) (make-pointer 456)))))
 
diff --git a/test-suite/tests/gc.test b/test-suite/tests/gc.test
index 25dc577..97eeb19 100644
--- a/test-suite/tests/gc.test
+++ b/test-suite/tests/gc.test
@@ -1,6 +1,6 @@
 ;;;; gc.test --- test guile's garbage collection    -*- scheme -*-
 ;;;; Copyright (C) 2000, 2001, 2004, 2006, 2007, 2008, 2009,
-;;;;   2011 Free Software Foundation, Inc.
+;;;;   2011, 2012 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
@@ -87,11 +87,26 @@
          total)))
 
   (pass-if "Lexical vars are collectable"
-    (procedure?
-     (compile
-      '(begin
-         (define guardian (make-guardian))
-         (let ((f (lambda () (display "test\n"))))
-           (guardian f))
-         (gc)(gc)(gc)
-         (guardian))))))
+    (let ((l (compile
+              '(begin
+                 (define guardian (make-guardian))
+                 (let ((f (list 'foo)))
+                   (guardian f))
+                 ;; See below.
+                 ;; ((lambda () #t))
+                 (gc)(gc)(gc)
+                 (guardian))
+              ;; Prevent the optimizer from propagating f.
+              #:opts '(#:partial-eval? #f))))
+      (if (not l)
+          ;; We think that something on the C stack in the VM is holding
+          ;; on to a reference to the list.  This happens on
+          ;; register-poor architectures, where more locals are spilled
+          ;; to the stack.  If more code runs before the (gc) is run,
+          ;; like a ((lambda () #t)), then the test passes.  So given
+          ;; that at some point, the reference will be dropped, we will
+          ;; count these cases as "unresolved" instead of "fail".
+          ;;
+          ;; See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10336.
+          (throw 'unresolved)
+          (equal? l '(foo))))))
diff --git a/test-suite/tests/hash.test b/test-suite/tests/hash.test
index f3d603d..bcdfe91 100644
--- a/test-suite/tests/hash.test
+++ b/test-suite/tests/hash.test
@@ -1,6 +1,6 @@
 ;;;; hash.test --- test guile hashing     -*- scheme -*-
 ;;;;
-;;;; Copyright (C) 2004, 2005, 2006, 2008, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2004, 2005, 2006, 2008, 2011, 2012 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
@@ -75,9 +75,10 @@
                    (make-hash-table -1))
  (pass-if (hash-table? (make-hash-table 0))) ;; default
  (pass-if (not (hash-table? 'not-a-hash-table)))
- (pass-if (equal? "#<hash-table 0/113>" 
-                 (with-output-to-string 
-                   (lambda () (write (make-hash-table 100)))))))
+ (pass-if (string-suffix? " 0/113>"
+                          (with-output-to-string
+                            (lambda ()
+                              (write (make-hash-table 100)))))))
 
 ;;;
 ;;; usual set and reference
@@ -129,8 +130,9 @@
                 (equal? 'thirty (hash-ref table 30))
                 (equal? 'thirty-three (hash-ref table 33))
                 (equal? 'bar (hash-ref table 'foo))
-                (equal? "#<hash-table 36/61>" 
-                        (with-output-to-string (lambda () (write table)))))))
+                (string-suffix? " 36/61>"
+                                 (with-output-to-string
+                                   (lambda () (write table)))))))
 
  ;; 1 and 1 are equal? and eqv? and eq?
  (pass-if (equal? 'foo
@@ -240,8 +242,9 @@
    (pass-if (equal? 'equal (hashx-ref hash assoc table 2/64)))
    (pass-if (equal? 'equal (hashx-ref hash assoc table 2/66)))
    (pass-if (equal? 'equal (hashx-ref hash assoc table 34)))
-   (pass-if (equal? "#<hash-table 33/61>" 
-                   (with-output-to-string (lambda () (write table)))))))
+   (pass-if (string-suffix? " 33/61>"
+                            (with-output-to-string
+                              (lambda () (write table)))))))
 
 (with-test-prefix 
  "hashx"
diff --git a/test-suite/tests/i18n.test b/test-suite/tests/i18n.test
index 0567051..da23080 100644
--- a/test-suite/tests/i18n.test
+++ b/test-suite/tests/i18n.test
@@ -138,9 +138,11 @@
   (under-locale-or-unresolved %french-utf8-locale thunk))
 
 (define (under-turkish-utf8-locale-or-unresolved thunk)
-  ;; FreeBSD 8.2 has a broken tr_TR locale where `i' is mapped to
-  ;; uppercase `I' instead of `Ä°', so disable tests on that platform.
-  (if (string-contains %host-type "freebsd8")
+  ;; FreeBSD 8.2 and Solaris 2.10 have a broken tr_TR locale where `i'
+  ;; is mapped to uppercase `I' instead of `Ä°', so disable tests on that
+  ;; platform.
+  (if (or (string-contains %host-type "freebsd8")
+          (string-contains %host-type "solaris2.10"))
       (throw 'unresolved)
       (under-locale-or-unresolved %turkish-utf8-locale thunk)))
 
diff --git a/test-suite/tests/statprof.test b/test-suite/tests/statprof.test
index b2ee41e..1fec617 100644
--- a/test-suite/tests/statprof.test
+++ b/test-suite/tests/statprof.test
@@ -31,8 +31,22 @@
   #:use-module (srfi srfi-1)
   #:use-module (statprof))
 
+;; Throw `unresolved' upon ENOSYS.  This is used to skip tests on
+;; platforms such as GNU/Hurd where `ITIMER_PROF' is is currently
+;; unimplemented.
+(define-syntax-rule (when-implemented body ...)
+  (catch 'system-error
+    (lambda ()
+      body ...)
+    (lambda args
+      (let ((errno (system-error-errno args)))
+        (false-if-exception (statprof-stop))
+        (if (= errno ENOSYS)
+            (throw 'unresolved)
+            (apply throw args))))))
+
 (pass-if "statistical sample counts within expected range"
-  (let ()
+  (when-implemented
     ;; test to see that if we call 3 identical functions equally, they
     ;; show up equally in the call count, +/- 30%. it's a big range, and
     ;; I tried to do something more statistically valid, but failed (for
@@ -43,18 +57,18 @@
       ;; Disable partial evaluation so that `(+ i i)' doesn't get
       ;; stripped.
       (compile '(lambda (n)
-                  (do ((i 0 (+ i 1))) ((= 200 i)) (+ i i)))
-               #:opts '(#:partial-eval? #f)))
+                 (do ((i 0 (+ i 1))) ((= 200 i)) (+ i i)))
+              #:opts '(#:partial-eval? #f)))
     (define run-test
       (compile '(lambda (num-calls funcs)
-                  (let loop ((x num-calls) (funcs funcs))
-                    (cond
-                     ((positive? x)
-                      ((car funcs) x)
-                      (loop (- x 1) (cdr funcs))))))))
-    
+                 (let loop ((x num-calls) (funcs funcs))
+                   (cond
+                    ((positive? x)
+                     ((car funcs) x)
+                     (loop (- x 1) (cdr funcs))))))))
+
     (let ((num-calls 80000)
-          (funcs (circular-list (make-func) (make-func) (make-func))))
+         (funcs (circular-list (make-func) (make-func) (make-func))))
 
       ;; Run test. 20000 us == 200 Hz.
       (statprof-reset 0 20000 #f #f)
@@ -62,25 +76,31 @@
       (run-test num-calls funcs)
       (statprof-stop)
 
-      (let* ((a-data (statprof-proc-call-data (car funcs)))
-             (b-data (statprof-proc-call-data (cadr funcs)))
-             (c-data (statprof-proc-call-data (caddr funcs)))
-             (samples (map statprof-call-data-cum-samples
-                           (list a-data b-data c-data)))
-             (average (/ (apply + samples) 3))
-             (max-allowed-drift 0.30) ; 30%
-             (diffs (map (lambda (x) (abs (- x average)))
-                         samples))
-             (max-diff (apply max diffs)))
+      (let ((a-data (statprof-proc-call-data (car funcs)))
+           (b-data (statprof-proc-call-data (cadr funcs)))
+           (c-data (statprof-proc-call-data (caddr funcs))))
+       (if (and a-data b-data c-data)
+           (let* ((samples (map statprof-call-data-cum-samples
+                                (list a-data b-data c-data)))
+                  (average (/ (apply + samples) 3))
+                  (max-allowed-drift 0.30)     ; 30%
+                   (diffs (map (lambda (x) (abs (- x average)))
+                               samples))
+                   (max-diff (apply max diffs)))
+
+             (let ((drift-fraction (/ max-diff average)))
+               (or (< drift-fraction max-allowed-drift)
+                   ;; don't stop the test suite for what statistically is
+                   ;; bound to happen.
+                   (throw 'unresolved (pk average drift-fraction)))))
 
-        (let ((drift-fraction (/ max-diff average)))
-          (or (< drift-fraction max-allowed-drift)
-              ;; don't stop the test suite for what statistically is
-              ;; bound to happen.
-              (throw 'unresolved (pk average drift-fraction))))))))
+            ;; Samples were not collected for at least one of the
+            ;; functions, possibly because NUM-CALLS is too low compared
+            ;; to the CPU speed.
+           (throw 'unresolved (pk (list a-data b-data c-data))))))))
 
 (pass-if "accurate call counting"
-  (let ()
+  (when-implemented
     ;; Test to see that if we call a function N times while the profiler
     ;; is active, it shows up N times.
     (let ((num-calls 200))
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index e8945c6..0ab58c9 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -1,7 +1,7 @@
 ;;;; tree-il.test --- test suite for compiling tree-il   -*- scheme -*-
 ;;;; Andy Wingo <address@hidden> --- May 2009
 ;;;;
-;;;;   Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2009, 2010, 2011, 2012 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
@@ -546,7 +546,24 @@
    (primcall +
              (primcall values (const 1) (const 2)))
    (program () (std-prelude 0 0 #f) (label _)
-            (const 1) (call return 1))))
+            (const 1) (call return 1)))
+
+  ;; Testing `(values foo)' in push context with RA.
+  (assert-tree-il->glil without-partial-evaluation
+   (primcall cdr
+             (letrec (lp) (#{lp ~V9KrhVD4PFEL6oCTrLg3A}#)
+                     ((lambda ((name . lp))
+                        (lambda-case ((() #f #f #f () ())
+                                      (primcall values (const (one two)))))))
+                     (call (lexical lp #{lp ~V9KrhVD4PFEL6oCTrLg3A}#))))
+   (program () (std-prelude 0 0 #f) (label _)
+            (branch br _) ;; entering the fix, jump to :2
+            ;; :1 body of lp, jump to :3
+            (label _) (bind) (const (one two)) (branch br _) (unbind)
+            ;; :2 initial call of lp, jump to :1
+            (label _) (bind) (branch br _) (label _) (unbind)
+            ;; :3 the push continuation
+            (call cdr 1) (call return 1))))
 
 ;; FIXME: binding info for or-hacked locals might bork the disassembler,
 ;; and could be tightened in any case
@@ -2177,7 +2194,8 @@
      (pass-if "~%, ~~, ~&, ~t, ~_, and ~\\n"
        (null? (call-with-warnings
                (lambda ()
-                 (compile '(format some-port "~&~3_~~ ~\n~12they~%")
+                 (compile '((@ (ice-9 format) format) some-port
+                            "~&~3_~~ ~\n~12they~%")
                           #:opts %opts-w-format
                           #:to 'assembly)))))
 
@@ -2204,7 +2222,8 @@
      (pass-if "two missing arguments"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f "foo ~10,2f and bar ~S~%")
+                   (compile '((@ (ice-9 format) format) #f
+                              "foo ~10,2f and bar ~S~%")
                             #:opts %opts-w-format
                             #:to 'assembly)))))
          (and (= (length w) 1)
@@ -2235,7 +2254,7 @@
        (pass-if "literals"
         (null? (call-with-warnings
                 (lambda ()
-                  (compile '(format #f "~A ~[foo~;bar~;baz~;~] ~10,2f"
+                  (compile '((@ (ice-9 format) format) #f "~A 
~[foo~;bar~;baz~;~] ~10,2f"
                                     'a 1 3.14)
                            #:opts %opts-w-format
                            #:to 'assembly)))))
@@ -2243,7 +2262,7 @@
        (pass-if "literals with selector"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "~2[foo~;bar~;baz~;~] ~A"
+                     (compile '((@ (ice-9 format) format) #f 
"~2[foo~;bar~;baz~;~] ~A"
                                        1 'dont-ignore-me)
                               #:opts %opts-w-format
                               #:to 'assembly)))))
@@ -2254,7 +2273,7 @@
        (pass-if "escapes (exact count)"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "~[~a~;~a~]")
+                     (compile '((@ (ice-9 format) format) #f "~[~a~;~a~]")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2264,7 +2283,7 @@
        (pass-if "escapes with selector"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "~1[chbouib~;~a~]")
+                     (compile '((@ (ice-9 format) format) #f 
"~1[chbouib~;~a~]")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2274,7 +2293,7 @@
        (pass-if "escapes, range"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "~[chbouib~;~a~;~2*~a~]")
+                     (compile '((@ (ice-9 format) format) #f 
"~[chbouib~;~a~;~2*~a~]")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2284,7 +2303,7 @@
        (pass-if "@"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "address@hidden")
+                     (compile '((@ (ice-9 format) format) #f "address@hidden")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2294,7 +2313,7 @@
        (pass-if "nested"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "~:[~[hey~;~a~;~va~]~;~3*~]")
+                     (compile '((@ (ice-9 format) format) #f 
"~:[~[hey~;~a~;~va~]~;~3*~]")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2304,7 +2323,7 @@
        (pass-if "unterminated"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "~[unterminated")
+                     (compile '((@ (ice-9 format) format) #f "~[unterminated")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2314,7 +2333,7 @@
        (pass-if "unexpected ~;"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "foo~;bar")
+                     (compile '((@ (ice-9 format) format) #f "foo~;bar")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2324,7 +2343,7 @@
        (pass-if "unexpected ~]"
          (let ((w (call-with-warnings
                    (lambda ()
-                     (compile '(format #f "foo~]")
+                     (compile '((@ (ice-9 format) format) #f "foo~]")
                               #:opts %opts-w-format
                               #:to 'assembly)))))
            (and (= (length w) 1)
@@ -2334,7 +2353,7 @@
      (pass-if "~{...~}"
        (null? (call-with-warnings
                (lambda ()
-                 (compile '(format #f "~A ~{~S~} ~A"
+                 (compile '((@ (ice-9 format) format) #f "~A ~{~S~} ~A"
                                    'hello '("ladies" "and")
                                    'gentlemen)
                           #:opts %opts-w-format
@@ -2343,7 +2362,7 @@
      (pass-if "~{...~}, too many args"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f "~{~S~}" 1 2 3)
+                   (compile '((@ (ice-9 format) format) #f "~{~S~}" 1 2 3)
                             #:opts %opts-w-format
                             #:to 'assembly)))))
          (and (= (length w) 1)
@@ -2353,14 +2372,14 @@
      (pass-if "address@hidden"
        (null? (call-with-warnings
                (lambda ()
-                 (compile '(format #f "address@hidden" 1 2 3)
+                 (compile '((@ (ice-9 format) format) #f "address@hidden" 1 2 
3)
                           #:opts %opts-w-format
                           #:to 'assembly)))))
 
      (pass-if "address@hidden, too few args"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f "~A address@hidden")
+                   (compile '((@ (ice-9 format) format) #f "~A address@hidden")
                             #:opts %opts-w-format
                             #:to 'assembly)))))
          (and (= (length w) 1)
@@ -2370,7 +2389,7 @@
      (pass-if "unterminated ~{...~}"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f "~{")
+                   (compile '((@ (ice-9 format) format) #f "~{")
                             #:opts %opts-w-format
                             #:to 'assembly)))))
          (and (= (length w) 1)
@@ -2380,14 +2399,14 @@
      (pass-if "~(...~)"
        (null? (call-with-warnings
                (lambda ()
-                 (compile '(format #f "~:@(~A ~A~)" 'foo 'bar)
+                 (compile '((@ (ice-9 format) format) #f "~:@(~A ~A~)" 'foo 
'bar)
                           #:opts %opts-w-format
                           #:to 'assembly)))))
 
      (pass-if "~v"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f "~v_foo")
+                   (compile '((@ (ice-9 format) format) #f "~v_foo")
                             #:opts %opts-w-format
                             #:to 'assembly)))))
          (and (= (length w) 1)
@@ -2396,7 +2415,7 @@
      (pass-if "~v:@y"
        (null? (call-with-warnings
                (lambda ()
-                 (compile '(format #f "~v:@y" 1 123)
+                 (compile '((@ (ice-9 format) format) #f "~v:@y" 1 123)
                           #:opts %opts-w-format
                           #:to 'assembly)))))
 
@@ -2404,7 +2423,7 @@
      (pass-if "~*"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f "~2*~a" 'a 'b)
+                   (compile '((@ (ice-9 format) format) #f "~2*~a" 'a 'b)
                             #:opts %opts-w-format
                             #:to 'assembly)))))
          (and (= (length w) 1)
@@ -2414,14 +2433,14 @@
      (pass-if "~?"
        (null? (call-with-warnings
                (lambda ()
-                 (compile '(format #f "~?" "~d ~d" '(1 2))
+                 (compile '((@ (ice-9 format) format) #f "~?" "~d ~d" '(1 2))
                           #:opts %opts-w-format
                           #:to 'assembly)))))
 
      (pass-if "complex 1"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f
+                   (compile '((@ (ice-9 format) format) #f
                                      "address@hidden    address@hidden;; 
address@hidden@[~61t at ~a~]\n"
                                      1 2 3 4 5 6)
                             #:opts %opts-w-format
@@ -2433,7 +2452,7 @@
      (pass-if "complex 2"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f
+                   (compile '((@ (ice-9 format) format) #f
                                      "~:(~A~) Commands~:[~; [abbrev]~]:~2%"
                                      1 2 3 4)
                             #:opts %opts-w-format
@@ -2445,7 +2464,7 @@
      (pass-if "complex 3"
        (let ((w (call-with-warnings
                  (lambda ()
-                   (compile '(format #f "address@hidden:[~*~3_~;~3d~] ~v:@y~%")
+                   (compile '((@ (ice-9 format) format) #f 
"address@hidden:[~*~3_~;~3d~] ~v:@y~%")
                             #:opts %opts-w-format
                             #:to 'assembly)))))
          (and (= (length w) 1)
@@ -2472,4 +2491,31 @@
                  (compile '(let ((format chbouib))
                              (format #t "not ~A a format string"))
                           #:opts %opts-w-format
-                          #:to 'assembly)))))))
+                          #:to 'assembly)))))
+
+     (with-test-prefix "simple-format"
+
+       (pass-if "good"
+         (null? (call-with-warnings
+                 (lambda ()
+                   (compile '(simple-format #t "foo ~a bar ~s ~%~~" 1 2)
+                            #:opts %opts-w-format
+                            #:to 'assembly)))))
+
+       (pass-if "wrong number of args"
+         (let ((w (call-with-warnings
+                   (lambda ()
+                     (compile '(simple-format #t "foo ~a ~s~%" 'one-missing)
+                              #:opts %opts-w-format
+                              #:to 'assembly)))))
+           (and (= (length w) 1)
+                (number? (string-contains (car w) "wrong number")))))
+
+       (pass-if "unsupported"
+         (let ((w (call-with-warnings
+                   (lambda ()
+                     (compile '(simple-format #t "foo ~x~%" 16)
+                              #:opts %opts-w-format
+                              #:to 'assembly)))))
+           (and (= (length w) 1)
+                (number? (string-contains (car w) "unsupported format 
option"))))))))


hooks/post-receive
-- 
GNU Guile



reply via email to

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