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-20-g46e372e


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-20-g46e372e
Date: Mon, 10 Oct 2011 14:21:51 +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=46e372ef71ae7774b05a44a7443887a70efa8da0

The branch, master has been updated
       via  46e372ef71ae7774b05a44a7443887a70efa8da0 (commit)
       via  a215c1591351b9c8099c833361520c174d490cd4 (commit)
       via  34c5fe83c021eb27c5bdff0f1328c733a7cb45b4 (commit)
       via  4bf9e92875973b8997b2876218b6bd595fbf1952 (commit)
       via  f26c3a93ecc0fdf69139ce86a825f262535554c9 (commit)
       via  751708726bff664e1119396241dab8b99c19bbe0 (commit)
       via  580a59e75e4d865da2b9e2490e73e5bbd3de5878 (commit)
       via  30669991740de16d8147496def08592fd40e2e2c (commit)
       via  022dda690126d993d82644efeffada1a1ef41123 (commit)
       via  b2c4c3e5e315c64a5978d1c5918e9063cd92ada8 (commit)
       via  41d43584f2175e22e3380ae1553a3415dae711fc (commit)
       via  1082cbba47d3735a502c7cc631c5cc4a705b6a62 (commit)
       via  012492a7f1968bb996a98864da32591bffbf08a3 (commit)
       via  6d2d68972144e795a53067f1c08c13be01559784 (commit)
       via  904981ee417afea6f1ed4a244dd275e78a6a4b8d (commit)
       via  47974c308a27c6327696b1c21bfde00fe78fd3a9 (commit)
       via  6d5f8c324e6c5f4fda155329eab6dade43ac5ffe (commit)
       via  21524430e9d821014d6c0efbe4df74c12179c072 (commit)
       via  9acea53ecd4377a98250f52517ed0f00a108f103 (commit)
       via  16d50b8e89d92f7aacea374802cb47c5ee373a33 (commit)
      from  840cf0d1e2bb3b019210958056404f29347042fe (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 46e372ef71ae7774b05a44a7443887a70efa8da0
Author: Andy Wingo <address@hidden>
Date:   Mon Oct 10 16:21:06 2011 +0200

    regenerate psyntax-pp.scm
    
    * module/ice-9/psyntax-pp.scm: Regenerate, now with optimizations.

commit a215c1591351b9c8099c833361520c174d490cd4
Merge: 840cf0d 34c5fe8
Author: Andy Wingo <address@hidden>
Date:   Mon Oct 10 16:20:08 2011 +0200

    Merge remote-tracking branch 'origin/stable-2.0'
    
    Does not include psyntax regeneration.
    
    Conflicts:
        module/ice-9/psyntax-pp.scm
        module/language/tree-il/peval.scm
        test-suite/tests/tree-il.test

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

Summary of changes:
 doc/ref/api-control.texi                |   11 +
 doc/ref/api-data.texi                   |   13 +
 libguile/numbers.c                      |   10 +
 libguile/numbers.h                      |    2 +
 libguile/read.c                         |   41 +-
 module/Makefile.am                      |    1 +
 module/ice-9/match.scm                  |    1 +
 module/ice-9/psyntax-pp.scm             |23681 +++++++++++++++++--------------
 module/language/tree-il/debug.scm       |  264 +
 module/language/tree-il/optimize.scm    |    6 +-
 module/language/tree-il/peval.scm       |  908 +-
 module/language/tree-il/primitives.scm  |   45 +-
 test-suite/standalone/test-conversion.c |   33 +
 test-suite/tests/reader.test            |    8 +
 test-suite/tests/tree-il.test           |  213 +-
 15 files changed, 14113 insertions(+), 11124 deletions(-)
 create mode 100644 module/language/tree-il/debug.scm

diff --git a/doc/ref/api-control.texi b/doc/ref/api-control.texi
index 9f741fd..ad36806 100644
--- a/doc/ref/api-control.texi
+++ b/doc/ref/api-control.texi
@@ -1636,9 +1636,13 @@ causing a segmentation fault.  Guile provides some 
macros to make this
 easier.
 
 @deftypefn Macro void SCM_ASSERT (int @var{test}, SCM @var{obj}, unsigned int 
@var{position}, const char address@hidden)
address@hidden Macro void SCM_ASSERT_TYPE (int @var{test}, SCM @var{obj}, 
unsigned int @var{position}, const char address@hidden, const char 
address@hidden) 
 If @var{test} is zero, signal a ``wrong type argument'' error,
 attributed to the subroutine named @var{subr}, operating on the value
 @var{obj}, which is the @var{position}'th argument of @var{subr}.
+
+In @code{SCM_ASSERT_TYPE}, @var{expected} is a C string describing the
+type of argument that was expected.
 @end deftypefn
 
 @deftypefn Macro int SCM_ARG1
@@ -1663,6 +1667,13 @@ leave it unspecified which argument's type is incorrect. 
 Again,
 @code{SCM_ARGn} should be preferred over a raw zero constant.
 @end deftypefn
 
+The @code{SCM_ASRTGO} macro provides another strategy for handling 
+incorrect types.
+
address@hidden Macro void SCM_ASRTGO (int @var{test}, label)
+If @var{test} is zero, use @code{goto} to jump to the given @var{label}.
address@hidden must appear within the current function.
address@hidden deftypefn
 
 @node Continuation Barriers
 @subsection Continuation Barriers
diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi
index 9825bef..f9b39b6 100644
--- a/doc/ref/api-data.texi
+++ b/doc/ref/api-data.texi
@@ -747,12 +747,25 @@ otherwise.
 
 @end deffn
 
address@hidden {C Function} int scm_is_exact (SCM z)
+Return a @code{1} if the number @var{z} is exact, and @code{0}
+otherwise.  This is equivalent to @code{scm_is_true (scm_exact_p (z))}.
+
+An alternate approch to testing the exactness of a number is to 
+use @code{scm_is_signed_integer} or @code{scm_is_unsigned_integer}.
address@hidden deftypefn
+
 @deffn {Scheme Procedure} inexact? z
 @deffnx {C Function} scm_inexact_p (z)
 Return @code{#t} if the number @var{z} is inexact, @code{#f}
 else.
 @end deffn
 
address@hidden {C Function} int scm_is_inexact (SCM z)
+Return a @code{1} if the number @var{z} is inexact, and @code{0}
+otherwise.  This is equivalent to @code{scm_is_true (scm_inexact_p (z))}.
address@hidden deftypefn
+
 @deffn {Scheme Procedure} inexact->exact z
 @deffnx {C Function} scm_inexact_to_exact (z)
 Return an exact number that is numerically closest to @var{z}, when
diff --git a/libguile/numbers.c b/libguile/numbers.c
index a278ed5..19673b8 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -536,6 +536,11 @@ SCM_PRIMITIVE_GENERIC (scm_exact_p, "exact?", 1, 0, 0,
 }
 #undef FUNC_NAME
 
+int
+scm_is_exact (SCM val)
+{
+  return scm_is_true (scm_exact_p (val));
+}
 
 SCM_PRIMITIVE_GENERIC (scm_inexact_p, "inexact?", 1, 0, 0,
             (SCM x),
@@ -552,6 +557,11 @@ SCM_PRIMITIVE_GENERIC (scm_inexact_p, "inexact?", 1, 0, 0,
 }
 #undef FUNC_NAME
 
+int
+scm_is_inexact (SCM val)
+{
+  return scm_is_true (scm_inexact_p (val));
+}
 
 SCM_PRIMITIVE_GENERIC (scm_odd_p, "odd?", 1, 0, 0, 
             (SCM n),
diff --git a/libguile/numbers.h b/libguile/numbers.h
index d985830..d3a3444 100644
--- a/libguile/numbers.h
+++ b/libguile/numbers.h
@@ -165,6 +165,7 @@ typedef struct scm_t_complex
 
 
 SCM_API SCM scm_exact_p (SCM x);
+SCM_API int scm_is_exact (SCM x);
 SCM_API SCM scm_odd_p (SCM n);
 SCM_API SCM scm_even_p (SCM n);
 SCM_API SCM scm_finite_p (SCM x);
@@ -241,6 +242,7 @@ SCM_API SCM scm_real_p (SCM x);
 SCM_API SCM scm_rational_p (SCM z);
 SCM_API SCM scm_integer_p (SCM x);
 SCM_API SCM scm_inexact_p (SCM x);
+SCM_API int scm_is_inexact (SCM x);
 SCM_API SCM scm_num_eq_p (SCM x, SCM y);
 SCM_API SCM scm_less_p (SCM x, SCM y);
 SCM_API SCM scm_gr_p (SCM x, SCM y);
diff --git a/libguile/read.c b/libguile/read.c
index 0b7144c..4b9c248 100644
--- a/libguile/read.c
+++ b/libguile/read.c
@@ -1133,34 +1133,33 @@ scm_read_r6rs_block_comment (scm_t_wchar chr, SCM port)
   /* Unlike SCSH-style block comments, SRFI-30/R6RS block comments may be
      nested.  So care must be taken.  */
   int nesting_level = 1;
-  int opening_seen = 0, closing_seen = 0;
+
+  int a = scm_getc (port);
+
+  if (a == EOF)
+    scm_i_input_error ("scm_read_r6rs_block_comment", port,
+                       "unterminated `#| ... |#' comment", SCM_EOL);
 
   while (nesting_level > 0)
     {
-      int c = scm_getc (port);
+      int b = scm_getc (port);
 
-      if (c == EOF)
+      if (b == EOF)
        scm_i_input_error ("scm_read_r6rs_block_comment", port,
                           "unterminated `#| ... |#' comment", SCM_EOL);
 
-      if (opening_seen)
-       {
-         if (c == '|')
-           nesting_level++;
-         opening_seen = 0;
-       }
-      else if (closing_seen)
-       {
-         if (c == '#')
-           nesting_level--;
-         closing_seen = 0;
-       }
-      else if (c == '|')
-       closing_seen = 1;
-      else if (c == '#')
-       opening_seen = 1;
-      else
-       opening_seen = closing_seen = 0;
+      if (a == '|' && b == '#')
+        {
+          nesting_level--;
+          b = EOF;
+        }
+      else if (a == '#' && b == '|')
+        {
+          nesting_level++;
+          b = EOF;
+        }
+
+      a = b;
     }
 
   return SCM_UNSPECIFIED;
diff --git a/module/Makefile.am b/module/Makefile.am
index 6b265b6..b93d8d3 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -98,6 +98,7 @@ TREE_IL_LANG_SOURCES =                                        
        \
   language/tree-il/analyze.scm                                 \
   language/tree-il/inline.scm                                  \
   language/tree-il/compile-glil.scm                            \
+  language/tree-il/debug.scm                                   \
   language/tree-il/spec.scm
 
 GLIL_LANG_SOURCES =                                            \
diff --git a/module/ice-9/match.scm b/module/ice-9/match.scm
index 0384f69..2753ebe 100644
--- a/module/ice-9/match.scm
+++ b/module/ice-9/match.scm
@@ -58,6 +58,7 @@
 ;; file.
 (include-from-path "ice-9/match.upstream.scm")
 
+;; Patch to work around <http://debbugs.gnu.org/9567>.
 (define-syntax match
   (syntax-rules ()
     ((match)
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index db6fc8a..2d94856 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -2,2203 +2,2669 @@
 (if #f #f)
 
 (letrec*
-  ((#{make-void 208}#
-     (lambda (#{src 783}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 0)
-         #{src 783}#)))
-   (#{make-const 210}#
-     (lambda (#{src 785}# #{exp 786}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 1)
-         #{src 785}#
-         #{exp 786}#)))
-   (#{make-lexical-ref 214}#
-     (lambda (#{src 793}# #{name 794}# #{gensym 795}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 3)
-         #{src 793}#
-         #{name 794}#
-         #{gensym 795}#)))
-   (#{make-lexical-set 216}#
-     (lambda (#{src 799}#
-              #{name 800}#
-              #{gensym 801}#
-              #{exp 802}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 4)
-         #{src 799}#
-         #{name 800}#
-         #{gensym 801}#
-         #{exp 802}#)))
-   (#{make-module-ref 218}#
-     (lambda (#{src 807}#
-              #{mod 808}#
-              #{name 809}#
-              #{public? 810}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 5)
-         #{src 807}#
-         #{mod 808}#
-         #{name 809}#
-         #{public? 810}#)))
-   (#{make-module-set 220}#
-     (lambda (#{src 815}#
-              #{mod 816}#
-              #{name 817}#
-              #{public? 818}#
-              #{exp 819}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 6)
-         #{src 815}#
-         #{mod 816}#
-         #{name 817}#
-         #{public? 818}#
-         #{exp 819}#)))
-   (#{make-toplevel-ref 222}#
-     (lambda (#{src 825}# #{name 826}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 7)
-         #{src 825}#
-         #{name 826}#)))
-   (#{make-toplevel-set 224}#
-     (lambda (#{src 829}# #{name 830}# #{exp 831}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 8)
-         #{src 829}#
-         #{name 830}#
-         #{exp 831}#)))
-   (#{make-toplevel-define 226}#
-     (lambda (#{src 835}# #{name 836}# #{exp 837}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 9)
-         #{src 835}#
-         #{name 836}#
-         #{exp 837}#)))
-   (#{make-conditional 228}#
-     (lambda (#{src 841}#
-              #{test 842}#
-              #{consequent 843}#
-              #{alternate 844}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 10)
-         #{src 841}#
-         #{test 842}#
-         #{consequent 843}#
-         #{alternate 844}#)))
-   (#{make-call 230}#
-     (lambda (#{src 849}# #{proc 850}# #{args 851}#)
+  ((#{top-level-eval-hook 4302}#
+     (lambda (#{x 36532}# #{mod 36533}#)
+       (primitive-eval #{x 36532}#)))
+   (#{maybe-name-value! 4307}#
+     (lambda (#{name 19324}# #{val 19325}#)
+       (if (if (struct? #{val 19325}#)
+             (eq? (struct-vtable #{val 19325}#)
+                  (vector-ref %expanded-vtables 14))
+             #f)
+         (let ((#{meta 19332}# (struct-ref #{val 19325}# 1)))
+           (if (not (assq 'name #{meta 19332}#))
+             (let ((#{v 19337}#
+                     (cons (cons 'name #{name 19324}#) #{meta 19332}#)))
+               (struct-set! #{val 19325}# 1 #{v 19337}#)))))))
+   (#{build-call 4309}#
+     (lambda (#{source 19069}#
+              #{fun-exp 19070}#
+              #{arg-exps 19071}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 11)
-         #{src 849}#
-         #{proc 850}#
-         #{args 851}#)))
-   (#{make-primcall 232}#
-     (lambda (#{src 855}# #{name 856}# #{args 857}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 12)
-         #{src 855}#
-         #{name 856}#
-         #{args 857}#)))
-   (#{make-seq 234}#
-     (lambda (#{src 861}# #{head 862}# #{tail 863}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 13)
-         #{src 861}#
-         #{head 862}#
-         #{tail 863}#)))
-   (#{make-lambda 236}#
-     (lambda (#{src 867}# #{meta 868}# #{body 869}#)
+         #{source 19069}#
+         #{fun-exp 19070}#
+         #{arg-exps 19071}#)))
+   (#{build-conditional 4310}#
+     (lambda (#{source 19077}#
+              #{test-exp 19078}#
+              #{then-exp 19079}#
+              #{else-exp 19080}#)
        (make-struct/no-tail
-         (vector-ref %expanded-vtables 14)
-         #{src 867}#
-         #{meta 868}#
-         #{body 869}#)))
-   (#{make-lambda-case 238}#
-     (lambda (#{src 873}#
-              #{req 874}#
-              #{opt 875}#
-              #{rest 876}#
-              #{kw 877}#
-              #{inits 878}#
-              #{gensyms 879}#
-              #{body 880}#
-              #{alternate 881}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 15)
-         #{src 873}#
-         #{req 874}#
-         #{opt 875}#
-         #{rest 876}#
-         #{kw 877}#
-         #{inits 878}#
-         #{gensyms 879}#
-         #{body 880}#
-         #{alternate 881}#)))
-   (#{make-let 240}#
-     (lambda (#{src 891}#
-              #{names 892}#
-              #{gensyms 893}#
-              #{vals 894}#
-              #{body 895}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 16)
-         #{src 891}#
-         #{names 892}#
-         #{gensyms 893}#
-         #{vals 894}#
-         #{body 895}#)))
-   (#{make-letrec 242}#
-     (lambda (#{src 901}#
-              #{in-order? 902}#
-              #{names 903}#
-              #{gensyms 904}#
-              #{vals 905}#
-              #{body 906}#)
-       (make-struct/no-tail
-         (vector-ref %expanded-vtables 17)
-         #{src 901}#
-         #{in-order? 902}#
-         #{names 903}#
-         #{gensyms 904}#
-         #{vals 905}#
-         #{body 906}#)))
-   (#{make-dynlet 244}#
-     (lambda (#{src 913}#
-              #{fluids 914}#
-              #{vals 915}#
-              #{body 916}#)
+         (vector-ref %expanded-vtables 10)
+         #{source 19077}#
+         #{test-exp 19078}#
+         #{then-exp 19079}#
+         #{else-exp 19080}#)))
+   (#{build-dynlet 4311}#
+     (lambda (#{source 19087}#
+              #{fluids 19088}#
+              #{vals 19089}#
+              #{body 19090}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 18)
-         #{src 913}#
-         #{fluids 914}#
-         #{vals 915}#
-         #{body 916}#)))
-   (#{lambda? 247}#
-     (lambda (#{x 921}#)
-       (if (struct? #{x 921}#)
-         (eq? (struct-vtable #{x 921}#)
-              (vector-ref %expanded-vtables 14))
-         #f)))
-   (#{lambda-meta 249}#
-     (lambda (#{x 925}#) (struct-ref #{x 925}# 1)))
-   (#{set-lambda-meta! 251}#
-     (lambda (#{x 927}# #{v 928}#)
-       (struct-set! #{x 927}# 1 #{v 928}#)))
-   (#{top-level-eval-hook 257}#
-     (lambda (#{x 931}# #{mod 932}#)
-       (primitive-eval #{x 931}#)))
-   (#{local-eval-hook 259}#
-     (lambda (#{x 935}# #{mod 936}#)
-       (primitive-eval #{x 935}#)))
-   (#{put-global-definition-hook 263}#
-     (lambda (#{symbol 939}# #{type 940}# #{val 941}#)
-       (module-define!
-         (current-module)
-         #{symbol 939}#
-         (make-syntax-transformer
-           #{symbol 939}#
-           #{type 940}#
-           #{val 941}#))))
-   (#{get-global-definition-hook 265}#
-     (lambda (#{symbol 945}# #{module 946}#)
+         #{source 19087}#
+         #{fluids 19088}#
+         #{vals 19089}#
+         #{body 19090}#)))
+   (#{build-lexical-reference 4312}#
+     (lambda (#{type 36534}#
+              #{source 36535}#
+              #{name 36536}#
+              #{var 36537}#)
+       (make-struct/no-tail
+         (vector-ref %expanded-vtables 3)
+         #{source 36535}#
+         #{name 36536}#
+         #{var 36537}#)))
+   (#{build-lexical-assignment 4313}#
+     (lambda (#{source 19097}#
+              #{name 19098}#
+              #{var 19099}#
+              #{exp 19100}#)
        (begin
-         (if (if (not #{module 946}#) (current-module) #f)
-           (warn "module system is booted, we should have a module"
-                 #{symbol 945}#))
-         (let ((#{v 952}# (module-variable
-                            (if #{module 946}#
-                              (resolve-module (cdr #{module 946}#))
-                              (current-module))
-                            #{symbol 945}#)))
-           (if #{v 952}#
-             (if (variable-bound? #{v 952}#)
-               (let ((#{val 957}# (variable-ref #{v 952}#)))
-                 (if (macro? #{val 957}#)
-                   (if (macro-type #{val 957}#)
-                     (cons (macro-type #{val 957}#)
-                           (macro-binding #{val 957}#))
-                     #f)
-                   #f))
+         (if (if (struct? #{exp 19100}#)
+               (eq? (struct-vtable #{exp 19100}#)
+                    (vector-ref %expanded-vtables 14))
                #f)
-             #f)))))
-   (#{decorate-source 267}#
-     (lambda (#{e 961}# #{s 962}#)
-       (begin
-         (if (if (pair? #{e 961}#) #{s 962}# #f)
-           (set-source-properties! #{e 961}# #{s 962}#))
-         #{e 961}#)))
-   (#{maybe-name-value! 269}#
-     (lambda (#{name 967}# #{val 968}#)
-       (if (#{lambda? 247}# #{val 968}#)
-         (let ((#{meta 972}# (#{lambda-meta 249}# #{val 968}#)))
-           (if (not (assq 'name #{meta 972}#))
-             (#{set-lambda-meta! 251}#
-               #{val 968}#
-               (cons (cons 'name #{name 967}#) #{meta 972}#)))))))
-   (#{build-void 271}#
-     (lambda (#{source 973}#)
-       (#{make-void 208}# #{source 973}#)))
-   (#{build-call 273}#
-     (lambda (#{source 975}# #{fun-exp 976}# #{arg-exps 977}#)
-       (#{make-call 230}#
-         #{source 975}#
-         #{fun-exp 976}#
-         #{arg-exps 977}#)))
-   (#{build-conditional 275}#
-     (lambda (#{source 981}#
-              #{test-exp 982}#
-              #{then-exp 983}#
-              #{else-exp 984}#)
-       (#{make-conditional 228}#
-         #{source 981}#
-         #{test-exp 982}#
-         #{then-exp 983}#
-         #{else-exp 984}#)))
-   (#{build-lexical-reference 279}#
-     (lambda (#{type 997}#
-              #{source 998}#
-              #{name 999}#
-              #{var 1000}#)
-       (#{make-lexical-ref 214}#
-         #{source 998}#
-         #{name 999}#
-         #{var 1000}#)))
-   (#{analyze-variable 283}#
-     (lambda (#{mod 1013}#
-              #{var 1014}#
-              #{modref-cont 1015}#
-              #{bare-cont 1016}#)
-       (if (not #{mod 1013}#)
-         (#{bare-cont 1016}# #{var 1014}#)
-         (let ((#{kind 1023}# (car #{mod 1013}#))
-               (#{mod 1024}# (cdr #{mod 1013}#)))
-           (if (memv #{kind 1023}# '(public))
-             (#{modref-cont 1015}#
-               #{mod 1024}#
-               #{var 1014}#
+           (let ((#{meta 19116}# (struct-ref #{exp 19100}# 1)))
+             (if (not (assq 'name #{meta 19116}#))
+               (let ((#{v 19123}#
+                       (cons (cons 'name #{name 19098}#) #{meta 19116}#)))
+                 (struct-set! #{exp 19100}# 1 #{v 19123}#)))))
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 4)
+           #{source 19097}#
+           #{name 19098}#
+           #{var 19099}#
+           #{exp 19100}#))))
+   (#{analyze-variable 4314}#
+     (lambda (#{mod 36543}#
+              #{var 36544}#
+              #{modref-cont 36545}#
+              #{bare-cont 36546}#)
+       (if (not #{mod 36543}#)
+         (#{bare-cont 36546}# #{var 36544}#)
+         (let ((#{kind 36547}# (car #{mod 36543}#))
+               (#{mod 36548}# (cdr #{mod 36543}#)))
+           (if (eqv? #{kind 36547}# 'public)
+             (#{modref-cont 36545}#
+               #{mod 36548}#
+               #{var 36544}#
                #t)
-             (if (memv #{kind 1023}# '(private))
+             (if (eqv? #{kind 36547}# 'private)
                (if (not (equal?
-                          #{mod 1024}#
+                          #{mod 36548}#
                           (module-name (current-module))))
-                 (#{modref-cont 1015}#
-                   #{mod 1024}#
-                   #{var 1014}#
+                 (#{modref-cont 36545}#
+                   #{mod 36548}#
+                   #{var 36544}#
                    #f)
-                 (#{bare-cont 1016}# #{var 1014}#))
-               (if (memv #{kind 1023}# '(bare))
-                 (#{bare-cont 1016}# #{var 1014}#)
-                 (if (memv #{kind 1023}# '(hygiene))
+                 (#{bare-cont 36546}# #{var 36544}#))
+               (if (eqv? #{kind 36547}# 'bare)
+                 (#{bare-cont 36546}# #{var 36544}#)
+                 (if (eqv? #{kind 36547}# 'hygiene)
                    (if (if (not (equal?
-                                  #{mod 1024}#
+                                  #{mod 36548}#
                                   (module-name (current-module))))
                          (module-variable
-                           (resolve-module #{mod 1024}#)
-                           #{var 1014}#)
+                           (resolve-module #{mod 36548}#)
+                           #{var 36544}#)
                          #f)
-                     (#{modref-cont 1015}#
-                       #{mod 1024}#
-                       #{var 1014}#
+                     (#{modref-cont 36545}#
+                       #{mod 36548}#
+                       #{var 36544}#
                        #f)
-                     (#{bare-cont 1016}# #{var 1014}#))
+                     (#{bare-cont 36546}# #{var 36544}#))
                    (syntax-violation
                      #f
                      "bad module kind"
-                     #{var 1014}#
-                     #{mod 1024}#)))))))))
-   (#{build-global-reference 285}#
-     (lambda (#{source 1032}# #{var 1033}# #{mod 1034}#)
-       (#{analyze-variable 283}#
-         #{mod 1034}#
-         #{var 1033}#
-         (lambda (#{mod 1038}# #{var 1039}# #{public? 1040}#)
-           (#{make-module-ref 218}#
-             #{source 1032}#
-             #{mod 1038}#
-             #{var 1039}#
-             #{public? 1040}#))
-         (lambda (#{var 1044}#)
-           (#{make-toplevel-ref 222}#
-             #{source 1032}#
-             #{var 1044}#)))))
-   (#{build-global-assignment 287}#
-     (lambda (#{source 1046}#
-              #{var 1047}#
-              #{exp 1048}#
-              #{mod 1049}#)
+                     #{var 36544}#
+                     #{mod 36548}#)))))))))
+   (#{build-global-reference 4315}#
+     (lambda (#{source 36563}# #{var 36564}# #{mod 36565}#)
+       (#{analyze-variable 4314}#
+         #{mod 36565}#
+         #{var 36564}#
+         (lambda (#{mod 36568}# #{var 36569}# #{public? 36570}#)
+           (make-struct/no-tail
+             (vector-ref %expanded-vtables 5)
+             #{source 36563}#
+             #{mod 36568}#
+             #{var 36569}#
+             #{public? 36570}#))
+         (lambda (#{var 36577}#)
+           (make-struct/no-tail
+             (vector-ref %expanded-vtables 7)
+             #{source 36563}#
+             #{var 36577}#)))))
+   (#{build-global-assignment 4316}#
+     (lambda (#{source 19132}#
+              #{var 19133}#
+              #{exp 19134}#
+              #{mod 19135}#)
        (begin
-         (#{maybe-name-value! 269}#
-           #{var 1047}#
-           #{exp 1048}#)
-         (#{analyze-variable 283}#
-           #{mod 1049}#
-           #{var 1047}#
-           (lambda (#{mod 1054}# #{var 1055}# #{public? 1056}#)
-             (#{make-module-set 220}#
-               #{source 1046}#
-               #{mod 1054}#
-               #{var 1055}#
-               #{public? 1056}#
-               #{exp 1048}#))
-           (lambda (#{var 1060}#)
-             (#{make-toplevel-set 224}#
-               #{source 1046}#
-               #{var 1060}#
-               #{exp 1048}#))))))
-   (#{build-global-definition 289}#
-     (lambda (#{source 1062}# #{var 1063}# #{exp 1064}#)
+         (if (if (struct? #{exp 19134}#)
+               (eq? (struct-vtable #{exp 19134}#)
+                    (vector-ref %expanded-vtables 14))
+               #f)
+           (let ((#{meta 19151}# (struct-ref #{exp 19134}# 1)))
+             (if (not (assq 'name #{meta 19151}#))
+               (let ((#{v 19158}#
+                       (cons (cons 'name #{var 19133}#) #{meta 19151}#)))
+                 (struct-set! #{exp 19134}# 1 #{v 19158}#)))))
+         (#{analyze-variable 4314}#
+           #{mod 19135}#
+           #{var 19133}#
+           (lambda (#{mod 19163}# #{var 19164}# #{public? 19165}#)
+             (make-struct/no-tail
+               (vector-ref %expanded-vtables 6)
+               #{source 19132}#
+               #{mod 19163}#
+               #{var 19164}#
+               #{public? 19165}#
+               #{exp 19134}#))
+           (lambda (#{var 19173}#)
+             (make-struct/no-tail
+               (vector-ref %expanded-vtables 8)
+               #{source 19132}#
+               #{var 19173}#
+               #{exp 19134}#))))))
+   (#{build-global-definition 4317}#
+     (lambda (#{source 36582}# #{var 36583}# #{exp 36584}#)
        (begin
-         (#{maybe-name-value! 269}#
-           #{var 1063}#
-           #{exp 1064}#)
-         (#{make-toplevel-define 226}#
-           #{source 1062}#
-           #{var 1063}#
-           #{exp 1064}#))))
-   (#{build-simple-lambda 291}#
-     (lambda (#{src 1068}#
-              #{req 1069}#
-              #{rest 1070}#
-              #{vars 1071}#
-              #{meta 1072}#
-              #{exp 1073}#)
-       (#{make-lambda 236}#
-         #{src 1068}#
-         #{meta 1072}#
-         (#{make-lambda-case 238}#
-           #{src 1068}#
-           #{req 1069}#
-           #f
-           #{rest 1070}#
-           #f
-           '()
-           #{vars 1071}#
-           #{exp 1073}#
-           #f))))
-   (#{build-lambda-case 295}#
-     (lambda (#{src 1086}#
-              #{req 1087}#
-              #{opt 1088}#
-              #{rest 1089}#
-              #{kw 1090}#
-              #{inits 1091}#
-              #{vars 1092}#
-              #{body 1093}#
-              #{else-case 1094}#)
-       (#{make-lambda-case 238}#
-         #{src 1086}#
-         #{req 1087}#
-         #{opt 1088}#
-         #{rest 1089}#
-         #{kw 1090}#
-         #{inits 1091}#
-         #{vars 1092}#
-         #{body 1093}#
-         #{else-case 1094}#)))
-   (#{build-primcall 297}#
-     (lambda (#{src 1104}# #{name 1105}# #{args 1106}#)
-       (#{make-primcall 232}#
-         #{src 1104}#
-         #{name 1105}#
-         #{args 1106}#)))
-   (#{build-data 301}#
-     (lambda (#{src 1114}# #{exp 1115}#)
-       (#{make-const 210}# #{src 1114}# #{exp 1115}#)))
-   (#{build-sequence 303}#
-     (lambda (#{src 1118}# #{exps 1119}#)
-       (if (null? (cdr #{exps 1119}#))
-         (car #{exps 1119}#)
-         (#{make-seq 234}#
-           #{src 1118}#
-           (car #{exps 1119}#)
-           (#{build-sequence 303}# #f (cdr #{exps 1119}#))))))
-   (#{build-letrec 309}#
-     (lambda (#{src 1152}#
-              #{in-order? 1153}#
-              #{ids 1154}#
-              #{vars 1155}#
-              #{val-exps 1156}#
-              #{body-exp 1157}#)
-       (if (null? #{vars 1155}#)
-         #{body-exp 1157}#
+         (if (if (struct? #{exp 36584}#)
+               (eq? (struct-vtable #{exp 36584}#)
+                    (vector-ref %expanded-vtables 14))
+               #f)
+           (let ((#{meta 36600}# (struct-ref #{exp 36584}# 1)))
+             (if (not (assq 'name #{meta 36600}#))
+               (let ((#{v 36607}#
+                       (cons (cons 'name #{var 36583}#) #{meta 36600}#)))
+                 (struct-set! #{exp 36584}# 1 #{v 36607}#)))))
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 9)
+           #{source 36582}#
+           #{var 36583}#
+           #{exp 36584}#))))
+   (#{build-simple-lambda 4318}#
+     (lambda (#{src 19179}#
+              #{req 19180}#
+              #{rest 19181}#
+              #{vars 19182}#
+              #{meta 19183}#
+              #{exp 19184}#)
+       (let ((#{body 19190}#
+               (make-struct/no-tail
+                 (vector-ref %expanded-vtables 15)
+                 #{src 19179}#
+                 #{req 19180}#
+                 #f
+                 #{rest 19181}#
+                 #f
+                 '()
+                 #{vars 19182}#
+                 #{exp 19184}#
+                 #f)))
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 14)
+           #{src 19179}#
+           #{meta 19183}#
+           #{body 19190}#))))
+   (#{build-primcall 4321}#
+     (lambda (#{src 19202}# #{name 19203}# #{args 19204}#)
+       (make-struct/no-tail
+         (vector-ref %expanded-vtables 12)
+         #{src 19202}#
+         #{name 19203}#
+         #{args 19204}#)))
+   (#{build-sequence 4324}#
+     (lambda (#{src 36615}# #{exps 36616}#)
+       (if (null? (cdr #{exps 36616}#))
+         (car #{exps 36616}#)
+         (let ((#{head 36620}# (car #{exps 36616}#))
+               (#{tail 36621}#
+                 (#{build-sequence 4324}# #f (cdr #{exps 36616}#))))
+           (make-struct/no-tail
+             (vector-ref %expanded-vtables 13)
+             #{src 36615}#
+             #{head 36620}#
+             #{tail 36621}#)))))
+   (#{build-named-let 4326}#
+     (lambda (#{src 19210}#
+              #{ids 19211}#
+              #{vars 19212}#
+              #{val-exps 19213}#
+              #{body-exp 19214}#)
+       (let ((#{f 19215}# (car #{vars 19212}#))
+             (#{f-name 19216}# (car #{ids 19211}#))
+             (#{vars 19217}# (cdr #{vars 19212}#))
+             (#{ids 19218}# (cdr #{ids 19211}#)))
+         (let ((#{proc 19219}#
+                 (let ((#{body 19239}#
+                         (make-struct/no-tail
+                           (vector-ref %expanded-vtables 15)
+                           #{src 19210}#
+                           #{ids 19218}#
+                           #f
+                           #f
+                           #f
+                           '()
+                           #{vars 19217}#
+                           #{body-exp 19214}#
+                           #f)))
+                   (make-struct/no-tail
+                     (vector-ref %expanded-vtables 14)
+                     #{src 19210}#
+                     '()
+                     #{body 19239}#))))
+           (begin
+             (if (if (struct? #{proc 19219}#)
+                   (eq? (struct-vtable #{proc 19219}#)
+                        (vector-ref %expanded-vtables 14))
+                   #f)
+               (let ((#{meta 19263}# (struct-ref #{proc 19219}# 1)))
+                 (if (not (assq 'name #{meta 19263}#))
+                   (let ((#{v 19270}#
+                           (cons (cons 'name #{f-name 19216}#)
+                                 #{meta 19263}#)))
+                     (struct-set! #{proc 19219}# 1 #{v 19270}#)))))
+             (for-each
+               #{maybe-name-value! 4307}#
+               #{ids 19218}#
+               #{val-exps 19213}#)
+             (let ((#{names 19294}# (list #{f-name 19216}#))
+                   (#{gensyms 19295}# (list #{f 19215}#))
+                   (#{vals 19296}# (list #{proc 19219}#))
+                   (#{body 19297}#
+                     (let ((#{fun-exp 19301}#
+                             (make-struct/no-tail
+                               (vector-ref %expanded-vtables 3)
+                               #{src 19210}#
+                               #{f-name 19216}#
+                               #{f 19215}#)))
+                       (make-struct/no-tail
+                         (vector-ref %expanded-vtables 11)
+                         #{src 19210}#
+                         #{fun-exp 19301}#
+                         #{val-exps 19213}#))))
+               (make-struct/no-tail
+                 (vector-ref %expanded-vtables 17)
+                 #{src 19210}#
+                 #f
+                 #{names 19294}#
+                 #{gensyms 19295}#
+                 #{vals 19296}#
+                 #{body 19297}#)))))))
+   (#{build-letrec 4327}#
+     (lambda (#{src 19317}#
+              #{in-order? 19318}#
+              #{ids 19319}#
+              #{vars 19320}#
+              #{val-exps 19321}#
+              #{body-exp 19322}#)
+       (if (null? #{vars 19320}#)
+         #{body-exp 19322}#
          (begin
            (for-each
-             #{maybe-name-value! 269}#
-             #{ids 1154}#
-             #{val-exps 1156}#)
-           (#{make-letrec 242}#
-             #{src 1152}#
-             #{in-order? 1153}#
-             #{ids 1154}#
-             #{vars 1155}#
-             #{val-exps 1156}#
-             #{body-exp 1157}#)))))
-   (#{make-syntax-object 314}#
-     (lambda (#{expression 1164}#
-              #{wrap 1165}#
-              #{module 1166}#)
-       (vector
-         'syntax-object
-         #{expression 1164}#
-         #{wrap 1165}#
-         #{module 1166}#)))
-   (#{syntax-object? 316}#
-     (lambda (#{x 1170}#)
-       (if (vector? #{x 1170}#)
-         (if (= (vector-length #{x 1170}#) 4)
-           (eq? (vector-ref #{x 1170}# 0) 'syntax-object)
-           #f)
-         #f)))
-   (#{syntax-object-expression 318}#
-     (lambda (#{x 1175}#) (vector-ref #{x 1175}# 1)))
-   (#{syntax-object-wrap 320}#
-     (lambda (#{x 1177}#) (vector-ref #{x 1177}# 2)))
-   (#{syntax-object-module 322}#
-     (lambda (#{x 1179}#) (vector-ref #{x 1179}# 3)))
-   (#{source-annotation 331}#
-     (lambda (#{x 1193}#)
-       (if (#{syntax-object? 316}# #{x 1193}#)
-         (#{source-annotation 331}#
-           (#{syntax-object-expression 318}# #{x 1193}#))
-         (if (pair? #{x 1193}#)
-           (let ((#{props 1200}# (source-properties #{x 1193}#)))
-             (if (pair? #{props 1200}#) #{props 1200}# #f))
+             #{maybe-name-value! 4307}#
+             #{ids 19319}#
+             #{val-exps 19321}#)
+           (make-struct/no-tail
+             (vector-ref %expanded-vtables 17)
+             #{src 19317}#
+             #{in-order? 19318}#
+             #{ids 19319}#
+             #{vars 19320}#
+             #{val-exps 19321}#
+             #{body-exp 19322}#)))))
+   (#{source-annotation 4336}#
+     (lambda (#{x 19348}#)
+       (if (if (vector? #{x 19348}#)
+             (if (= (vector-length #{x 19348}#) 4)
+               (eq? (vector-ref #{x 19348}# 0) 'syntax-object)
+               #f)
+             #f)
+         (#{source-annotation 4336}#
+           (vector-ref #{x 19348}# 1))
+         (if (pair? #{x 19348}#)
+           (let ((#{props 19363}# (source-properties #{x 19348}#)))
+             (if (pair? #{props 19363}#) #{props 19363}# #f))
            #f))))
-   (#{extend-env 341}#
-     (lambda (#{labels 1202}# #{bindings 1203}# #{r 1204}#)
-       (if (null? #{labels 1202}#)
-         #{r 1204}#
-         (#{extend-env 341}#
-           (cdr #{labels 1202}#)
-           (cdr #{bindings 1203}#)
-           (cons (cons (car #{labels 1202}#)
-                       (car #{bindings 1203}#))
-                 #{r 1204}#)))))
-   (#{extend-var-env 343}#
-     (lambda (#{labels 1208}# #{vars 1209}# #{r 1210}#)
-       (if (null? #{labels 1208}#)
-         #{r 1210}#
-         (#{extend-var-env 343}#
-           (cdr #{labels 1208}#)
-           (cdr #{vars 1209}#)
-           (cons (cons (car #{labels 1208}#)
-                       (cons 'lexical (car #{vars 1209}#)))
-                 #{r 1210}#)))))
-   (#{macros-only-env 345}#
-     (lambda (#{r 1215}#)
-       (if (null? #{r 1215}#)
+   (#{extend-env 4337}#
+     (lambda (#{labels 19365}# #{bindings 19366}# #{r 19367}#)
+       (if (null? #{labels 19365}#)
+         #{r 19367}#
+         (#{extend-env 4337}#
+           (cdr #{labels 19365}#)
+           (cdr #{bindings 19366}#)
+           (cons (cons (car #{labels 19365}#)
+                       (car #{bindings 19366}#))
+                 #{r 19367}#)))))
+   (#{extend-var-env 4338}#
+     (lambda (#{labels 19368}# #{vars 19369}# #{r 19370}#)
+       (if (null? #{labels 19368}#)
+         #{r 19370}#
+         (#{extend-var-env 4338}#
+           (cdr #{labels 19368}#)
+           (cdr #{vars 19369}#)
+           (cons (cons (car #{labels 19368}#)
+                       (cons 'lexical (car #{vars 19369}#)))
+                 #{r 19370}#)))))
+   (#{macros-only-env 4339}#
+     (lambda (#{r 19371}#)
+       (if (null? #{r 19371}#)
          '()
-         (let ((#{a 1218}# (car #{r 1215}#)))
-           (if (eq? (car (cdr #{a 1218}#)) 'macro)
-             (cons #{a 1218}#
-                   (#{macros-only-env 345}# (cdr #{r 1215}#)))
-             (#{macros-only-env 345}# (cdr #{r 1215}#)))))))
-   (#{lookup 347}#
-     (lambda (#{x 1219}# #{r 1220}# #{mod 1221}#)
-       (let ((#{t 1227}# (assq #{x 1219}# #{r 1220}#)))
-         (if #{t 1227}#
-           (cdr #{t 1227}#)
-           (if (symbol? #{x 1219}#)
-             (let ((#{t 1233}#
-                     (#{get-global-definition-hook 265}#
-                       #{x 1219}#
-                       #{mod 1221}#)))
-               (if #{t 1233}# #{t 1233}# '(global)))
-             '(displaced-lexical))))))
-   (#{global-extend 349}#
-     (lambda (#{type 1238}# #{sym 1239}# #{val 1240}#)
-       (#{put-global-definition-hook 263}#
-         #{sym 1239}#
-         #{type 1238}#
-         #{val 1240}#)))
-   (#{nonsymbol-id? 351}#
-     (lambda (#{x 1244}#)
-       (if (#{syntax-object? 316}# #{x 1244}#)
-         (symbol?
-           (#{syntax-object-expression 318}# #{x 1244}#))
-         #f)))
-   (#{id? 353}#
-     (lambda (#{x 1248}#)
-       (if (symbol? #{x 1248}#)
+         (let ((#{a 19372}# (car #{r 19371}#)))
+           (if (eq? (car (cdr #{a 19372}#)) 'macro)
+             (cons #{a 19372}#
+                   (#{macros-only-env 4339}# (cdr #{r 19371}#)))
+             (#{macros-only-env 4339}# (cdr #{r 19371}#)))))))
+   (#{global-extend 4341}#
+     (lambda (#{type 19374}# #{sym 19375}# #{val 19376}#)
+       (module-define!
+         (current-module)
+         #{sym 19375}#
+         (make-syntax-transformer
+           #{sym 19375}#
+           #{type 19374}#
+           #{val 19376}#))))
+   (#{id? 4343}#
+     (lambda (#{x 12386}#)
+       (if (symbol? #{x 12386}#)
          #t
-         (if (#{syntax-object? 316}# #{x 1248}#)
-           (symbol?
-             (#{syntax-object-expression 318}# #{x 1248}#))
+         (if (if (vector? #{x 12386}#)
+               (if (= (vector-length #{x 12386}#) 4)
+                 (eq? (vector-ref #{x 12386}# 0) 'syntax-object)
+                 #f)
+               #f)
+           (symbol? (vector-ref #{x 12386}# 1))
            #f))))
-   (#{id-sym-name&marks 357}#
-     (lambda (#{x 1255}# #{w 1256}#)
-       (if (#{syntax-object? 316}# #{x 1255}#)
-         (values
-           (#{syntax-object-expression 318}# #{x 1255}#)
-           (#{join-marks 411}#
-             (car #{w 1256}#)
-             (car (#{syntax-object-wrap 320}# #{x 1255}#))))
-         (values #{x 1255}# (car #{w 1256}#)))))
-   (#{gen-label 371}#
-     (lambda () (symbol->string (gensym "i"))))
-   (#{gen-labels 373}#
-     (lambda (#{ls 1262}#)
-       (if (null? #{ls 1262}#)
+   (#{gen-labels 4346}#
+     (lambda (#{ls 19386}#)
+       (if (null? #{ls 19386}#)
          '()
-         (cons (#{gen-label 371}#)
-               (#{gen-labels 373}# (cdr #{ls 1262}#))))))
-   (#{make-ribcage 376}#
-     (lambda (#{symnames 1264}#
-              #{marks 1265}#
-              #{labels 1266}#)
-       (vector
-         'ribcage
-         #{symnames 1264}#
-         #{marks 1265}#
-         #{labels 1266}#)))
-   (#{ribcage-symnames 380}#
-     (lambda (#{x 1275}#) (vector-ref #{x 1275}# 1)))
-   (#{ribcage-marks 382}#
-     (lambda (#{x 1277}#) (vector-ref #{x 1277}# 2)))
-   (#{ribcage-labels 384}#
-     (lambda (#{x 1279}#) (vector-ref #{x 1279}# 3)))
-   (#{set-ribcage-symnames! 386}#
-     (lambda (#{x 1281}# #{update 1282}#)
-       (vector-set! #{x 1281}# 1 #{update 1282}#)))
-   (#{set-ribcage-marks! 388}#
-     (lambda (#{x 1285}# #{update 1286}#)
-       (vector-set! #{x 1285}# 2 #{update 1286}#)))
-   (#{set-ribcage-labels! 390}#
-     (lambda (#{x 1289}# #{update 1290}#)
-       (vector-set! #{x 1289}# 3 #{update 1290}#)))
-   (#{anti-mark 397}#
-     (lambda (#{w 1293}#)
-       (cons (cons #f (car #{w 1293}#))
-             (cons 'shift (cdr #{w 1293}#)))))
-   (#{extend-ribcage! 403}#
-     (lambda (#{ribcage 1299}# #{id 1300}# #{label 1301}#)
-       (begin
-         (#{set-ribcage-symnames! 386}#
-           #{ribcage 1299}#
-           (cons (#{syntax-object-expression 318}# #{id 1300}#)
-                 (#{ribcage-symnames 380}# #{ribcage 1299}#)))
-         (#{set-ribcage-marks! 388}#
-           #{ribcage 1299}#
-           (cons (car (#{syntax-object-wrap 320}# #{id 1300}#))
-                 (#{ribcage-marks 382}# #{ribcage 1299}#)))
-         (#{set-ribcage-labels! 390}#
-           #{ribcage 1299}#
-           (cons #{label 1301}#
-                 (#{ribcage-labels 384}# #{ribcage 1299}#))))))
-   (#{make-binding-wrap 405}#
-     (lambda (#{ids 1306}# #{labels 1307}# #{w 1308}#)
-       (if (null? #{ids 1306}#)
-         #{w 1308}#
-         (cons (car #{w 1308}#)
-               (cons (let ((#{labelvec 1315}#
-                             (list->vector #{labels 1307}#)))
-                       (let ((#{n 1317}# (vector-length #{labelvec 1315}#)))
-                         (let ((#{symnamevec 1320}# (make-vector #{n 1317}#))
-                               (#{marksvec 1321}# (make-vector #{n 1317}#)))
+         (cons (symbol->string (gensym "i"))
+               (#{gen-labels 4346}# (cdr #{ls 19386}#))))))
+   (#{make-binding-wrap 4357}#
+     (lambda (#{ids 19390}# #{labels 19391}# #{w 19392}#)
+       (if (null? #{ids 19390}#)
+         #{w 19392}#
+         (cons (car #{w 19392}#)
+               (cons (let ((#{labelvec 19393}#
+                             (list->vector #{labels 19391}#)))
+                       (let ((#{n 19394}# (vector-length #{labelvec 19393}#)))
+                         (let ((#{symnamevec 19395}# (make-vector #{n 19394}#))
+                               (#{marksvec 19396}# (make-vector #{n 19394}#)))
                            (begin
                              (letrec*
-                               ((#{f 1325}#
-                                  (lambda (#{ids 1326}# #{i 1327}#)
-                                    (if (not (null? #{ids 1326}#))
+                               ((#{f 19397}#
+                                  (lambda (#{ids 19592}# #{i 19593}#)
+                                    (if (not (null? #{ids 19592}#))
                                       (call-with-values
                                         (lambda ()
-                                          (#{id-sym-name&marks 357}#
-                                            (car #{ids 1326}#)
-                                            #{w 1308}#))
-                                        (lambda (#{symname 1328}#
-                                                 #{marks 1329}#)
+                                          (let ((#{x 19596}#
+                                                  (car #{ids 19592}#)))
+                                            (if (if (vector? #{x 19596}#)
+                                                  (if (= (vector-length
+                                                           #{x 19596}#)
+                                                         4)
+                                                    (eq? (vector-ref
+                                                           #{x 19596}#
+                                                           0)
+                                                         'syntax-object)
+                                                    #f)
+                                                  #f)
+                                              (values
+                                                (vector-ref #{x 19596}# 1)
+                                                (let ((#{m1 19612}#
+                                                        (car #{w 19392}#))
+                                                      (#{m2 19613}#
+                                                        (car (vector-ref
+                                                               #{x 19596}#
+                                                               2))))
+                                                  (if (null? #{m2 19613}#)
+                                                    #{m1 19612}#
+                                                    (append
+                                                      #{m1 19612}#
+                                                      #{m2 19613}#))))
+                                              (values
+                                                #{x 19596}#
+                                                (car #{w 19392}#)))))
+                                        (lambda (#{symname 19633}#
+                                                 #{marks 19634}#)
                                           (begin
                                             (vector-set!
-                                              #{symnamevec 1320}#
-                                              #{i 1327}#
-                                              #{symname 1328}#)
+                                              #{symnamevec 19395}#
+                                              #{i 19593}#
+                                              #{symname 19633}#)
                                             (vector-set!
-                                              #{marksvec 1321}#
-                                              #{i 1327}#
-                                              #{marks 1329}#)
-                                            (#{f 1325}#
-                                              (cdr #{ids 1326}#)
-                                              (#{1+}# #{i 1327}#)))))))))
-                               (#{f 1325}# #{ids 1306}# 0))
-                             (#{make-ribcage 376}#
-                               #{symnamevec 1320}#
-                               #{marksvec 1321}#
-                               #{labelvec 1315}#)))))
-                     (cdr #{w 1308}#))))))
-   (#{smart-append 407}#
-     (lambda (#{m1 1334}# #{m2 1335}#)
-       (if (null? #{m2 1335}#)
-         #{m1 1334}#
-         (append #{m1 1334}# #{m2 1335}#))))
-   (#{join-wraps 409}#
-     (lambda (#{w1 1338}# #{w2 1339}#)
-       (let ((#{m1 1344}# (car #{w1 1338}#))
-             (#{s1 1345}# (cdr #{w1 1338}#)))
-         (if (null? #{m1 1344}#)
-           (if (null? #{s1 1345}#)
-             #{w2 1339}#
-             (cons (car #{w2 1339}#)
-                   (#{smart-append 407}#
-                     #{s1 1345}#
-                     (cdr #{w2 1339}#))))
-           (cons (#{smart-append 407}#
-                   #{m1 1344}#
-                   (car #{w2 1339}#))
-                 (#{smart-append 407}#
-                   #{s1 1345}#
-                   (cdr #{w2 1339}#)))))))
-   (#{join-marks 411}#
-     (lambda (#{m1 1354}# #{m2 1355}#)
-       (#{smart-append 407}# #{m1 1354}# #{m2 1355}#)))
-   (#{same-marks? 413}#
-     (lambda (#{x 1358}# #{y 1359}#)
-       (if (eq? #{x 1358}# #{y 1359}#)
-         (eq? #{x 1358}# #{y 1359}#)
-         (if (not (null? #{x 1358}#))
-           (if (not (null? #{y 1359}#))
-             (if (eq? (car #{x 1358}#) (car #{y 1359}#))
-               (#{same-marks? 413}#
-                 (cdr #{x 1358}#)
-                 (cdr #{y 1359}#))
+                                              #{marksvec 19396}#
+                                              #{i 19593}#
+                                              #{marks 19634}#)
+                                            (#{f 19397}#
+                                              (cdr #{ids 19592}#)
+                                              (#{1+}# #{i 19593}#)))))))))
+                               (#{f 19397}# #{ids 19390}# 0))
+                             (vector
+                               'ribcage
+                               #{symnamevec 19395}#
+                               #{marksvec 19396}#
+                               #{labelvec 19393}#)))))
+                     (cdr #{w 19392}#))))))
+   (#{same-marks? 4361}#
+     (lambda (#{x 36622}# #{y 36623}#)
+       (if (eq? #{x 36622}# #{y 36623}#)
+         (eq? #{x 36622}# #{y 36623}#)
+         (if (not (null? #{x 36622}#))
+           (if (not (null? #{y 36623}#))
+             (if (eq? (car #{x 36622}#) (car #{y 36623}#))
+               (#{same-marks? 4361}#
+                 (cdr #{x 36622}#)
+                 (cdr #{y 36623}#))
                #f)
              #f)
            #f))))
-   (#{id-var-name 415}#
-     (lambda (#{id 1370}# #{w 1371}#)
+   (#{id-var-name 4362}#
+     (lambda (#{id 19641}# #{w 19642}#)
        (letrec*
-         ((#{search 1377}#
-            (lambda (#{sym 1393}# #{subst 1394}# #{marks 1395}#)
-              (if (null? #{subst 1394}#)
-                (values #f #{marks 1395}#)
-                (let ((#{fst 1400}# (car #{subst 1394}#)))
-                  (if (eq? #{fst 1400}# 'shift)
-                    (#{search 1377}#
-                      #{sym 1393}#
-                      (cdr #{subst 1394}#)
-                      (cdr #{marks 1395}#))
-                    (let ((#{symnames 1402}#
-                            (#{ribcage-symnames 380}# #{fst 1400}#)))
-                      (if (vector? #{symnames 1402}#)
-                        (#{search-vector-rib 1381}#
-                          #{sym 1393}#
-                          #{subst 1394}#
-                          #{marks 1395}#
-                          #{symnames 1402}#
-                          #{fst 1400}#)
-                        (#{search-list-rib 1379}#
-                          #{sym 1393}#
-                          #{subst 1394}#
-                          #{marks 1395}#
-                          #{symnames 1402}#
-                          #{fst 1400}#))))))))
-          (#{search-list-rib 1379}#
-            (lambda (#{sym 1403}#
-                     #{subst 1404}#
-                     #{marks 1405}#
-                     #{symnames 1406}#
-                     #{ribcage 1407}#)
+         ((#{search 19643}#
+            (lambda (#{sym 19704}# #{subst 19705}# #{marks 19706}#)
+              (if (null? #{subst 19705}#)
+                (values #f #{marks 19706}#)
+                (let ((#{fst 19707}# (car #{subst 19705}#)))
+                  (if (eq? #{fst 19707}# 'shift)
+                    (#{search 19643}#
+                      #{sym 19704}#
+                      (cdr #{subst 19705}#)
+                      (cdr #{marks 19706}#))
+                    (let ((#{symnames 19709}# (vector-ref #{fst 19707}# 1)))
+                      (if (vector? #{symnames 19709}#)
+                        (#{search-vector-rib 19645}#
+                          #{sym 19704}#
+                          #{subst 19705}#
+                          #{marks 19706}#
+                          #{symnames 19709}#
+                          #{fst 19707}#)
+                        (#{search-list-rib 19644}#
+                          #{sym 19704}#
+                          #{subst 19705}#
+                          #{marks 19706}#
+                          #{symnames 19709}#
+                          #{fst 19707}#))))))))
+          (#{search-list-rib 19644}#
+            (lambda (#{sym 19879}#
+                     #{subst 19880}#
+                     #{marks 19881}#
+                     #{symnames 19882}#
+                     #{ribcage 19883}#)
               (letrec*
-                ((#{f 1416}#
-                   (lambda (#{symnames 1417}# #{i 1418}#)
-                     (if (null? #{symnames 1417}#)
-                       (#{search 1377}#
-                         #{sym 1403}#
-                         (cdr #{subst 1404}#)
-                         #{marks 1405}#)
-                       (if (if (eq? (car #{symnames 1417}#) #{sym 1403}#)
-                             (#{same-marks? 413}#
-                               #{marks 1405}#
+                ((#{f 19884}#
+                   (lambda (#{symnames 19887}# #{i 19888}#)
+                     (if (null? #{symnames 19887}#)
+                       (#{search 19643}#
+                         #{sym 19879}#
+                         (cdr #{subst 19880}#)
+                         #{marks 19881}#)
+                       (if (if (eq? (car #{symnames 19887}#) #{sym 19879}#)
+                             (#{same-marks? 4361}#
+                               #{marks 19881}#
                                (list-ref
-                                 (#{ribcage-marks 382}# #{ribcage 1407}#)
-                                 #{i 1418}#))
+                                 (vector-ref #{ribcage 19883}# 2)
+                                 #{i 19888}#))
                              #f)
                          (values
                            (list-ref
-                             (#{ribcage-labels 384}# #{ribcage 1407}#)
-                             #{i 1418}#)
-                           #{marks 1405}#)
-                         (#{f 1416}#
-                           (cdr #{symnames 1417}#)
-                           (#{1+}# #{i 1418}#)))))))
-                (#{f 1416}# #{symnames 1406}# 0))))
-          (#{search-vector-rib 1381}#
-            (lambda (#{sym 1427}#
-                     #{subst 1428}#
-                     #{marks 1429}#
-                     #{symnames 1430}#
-                     #{ribcage 1431}#)
-              (let ((#{n 1438}# (vector-length #{symnames 1430}#)))
+                             (vector-ref #{ribcage 19883}# 3)
+                             #{i 19888}#)
+                           #{marks 19881}#)
+                         (#{f 19884}#
+                           (cdr #{symnames 19887}#)
+                           (#{1+}# #{i 19888}#)))))))
+                (#{f 19884}# #{symnames 19882}# 0))))
+          (#{search-vector-rib 19645}#
+            (lambda (#{sym 20038}#
+                     #{subst 20039}#
+                     #{marks 20040}#
+                     #{symnames 20041}#
+                     #{ribcage 20042}#)
+              (let ((#{n 20043}# (vector-length #{symnames 20041}#)))
                 (letrec*
-                  ((#{f 1441}#
-                     (lambda (#{i 1442}#)
-                       (if (= #{i 1442}# #{n 1438}#)
-                         (#{search 1377}#
-                           #{sym 1427}#
-                           (cdr #{subst 1428}#)
-                           #{marks 1429}#)
-                         (if (if (eq? (vector-ref #{symnames 1430}# #{i 1442}#)
-                                      #{sym 1427}#)
-                               (#{same-marks? 413}#
-                                 #{marks 1429}#
+                  ((#{f 20044}#
+                     (lambda (#{i 20101}#)
+                       (if (= #{i 20101}# #{n 20043}#)
+                         (#{search 19643}#
+                           #{sym 20038}#
+                           (cdr #{subst 20039}#)
+                           #{marks 20040}#)
+                         (if (if (eq? (vector-ref
+                                        #{symnames 20041}#
+                                        #{i 20101}#)
+                                      #{sym 20038}#)
+                               (#{same-marks? 4361}#
+                                 #{marks 20040}#
                                  (vector-ref
-                                   (#{ribcage-marks 382}# #{ribcage 1431}#)
-                                   #{i 1442}#))
+                                   (vector-ref #{ribcage 20042}# 2)
+                                   #{i 20101}#))
                                #f)
                            (values
                              (vector-ref
-                               (#{ribcage-labels 384}# #{ribcage 1431}#)
-                               #{i 1442}#)
-                             #{marks 1429}#)
-                           (#{f 1441}# (#{1+}# #{i 1442}#)))))))
-                  (#{f 1441}# 0))))))
-         (if (symbol? #{id 1370}#)
-           (let ((#{t 1454}#
-                   (#{search 1377}#
-                     #{id 1370}#
-                     (cdr #{w 1371}#)
-                     (car #{w 1371}#))))
-             (if #{t 1454}# #{t 1454}# #{id 1370}#))
-           (if (#{syntax-object? 316}# #{id 1370}#)
-             (let ((#{id 1463}#
-                     (#{syntax-object-expression 318}# #{id 1370}#))
-                   (#{w1 1464}#
-                     (#{syntax-object-wrap 320}# #{id 1370}#)))
-               (let ((#{marks 1466}#
-                       (#{join-marks 411}#
-                         (car #{w 1371}#)
-                         (car #{w1 1464}#))))
+                               (vector-ref #{ribcage 20042}# 3)
+                               #{i 20101}#)
+                             #{marks 20040}#)
+                           (#{f 20044}# (#{1+}# #{i 20101}#)))))))
+                  (#{f 20044}# 0))))))
+         (if (symbol? #{id 19641}#)
+           (let ((#{t 19646}#
+                   (#{search 19643}#
+                     #{id 19641}#
+                     (cdr #{w 19642}#)
+                     (car #{w 19642}#))))
+             (if #{t 19646}# #{t 19646}# #{id 19641}#))
+           (if (if (vector? #{id 19641}#)
+                 (if (= (vector-length #{id 19641}#) 4)
+                   (eq? (vector-ref #{id 19641}# 0) 'syntax-object)
+                   #f)
+                 #f)
+             (let ((#{id 19661}# (vector-ref #{id 19641}# 1))
+                   (#{w1 19662}# (vector-ref #{id 19641}# 2)))
+               (let ((#{marks 19663}#
+                       (let ((#{m1 19673}# (car #{w 19642}#))
+                             (#{m2 19674}# (car #{w1 19662}#)))
+                         (if (null? #{m2 19674}#)
+                           #{m1 19673}#
+                           (append #{m1 19673}# #{m2 19674}#)))))
                  (call-with-values
                    (lambda ()
-                     (#{search 1377}#
-                       #{id 1463}#
-                       (cdr #{w 1371}#)
-                       #{marks 1466}#))
-                   (lambda (#{new-id 1470}# #{marks 1471}#)
-                     (if #{new-id 1470}#
-                       #{new-id 1470}#
-                       (let ((#{t 1479}#
-                               (#{search 1377}#
-                                 #{id 1463}#
-                                 (cdr #{w1 1464}#)
-                                 #{marks 1471}#)))
-                         (if #{t 1479}# #{t 1479}# #{id 1463}#)))))))
+                     (#{search 19643}#
+                       #{id 19661}#
+                       (cdr #{w 19642}#)
+                       #{marks 19663}#))
+                   (lambda (#{new-id 19690}# #{marks 19691}#)
+                     (if #{new-id 19690}#
+                       #{new-id 19690}#
+                       (let ((#{t 19699}#
+                               (#{search 19643}#
+                                 #{id 19661}#
+                                 (cdr #{w1 19662}#)
+                                 #{marks 19691}#)))
+                         (if #{t 19699}# #{t 19699}# #{id 19661}#)))))))
              (syntax-violation
                'id-var-name
                "invalid id"
-               #{id 1370}#))))))
-   (#{free-id=? 417}#
-     (lambda (#{i 1484}# #{j 1485}#)
-       (let ((#{ni 1490}#
-               (#{id-var-name 415}# #{i 1484}# '(())))
-             (#{nj 1491}#
-               (#{id-var-name 415}# #{j 1485}# '(()))))
-         (if (eq? #{ni 1490}#
-                  (if (#{syntax-object? 316}# #{i 1484}#)
-                    (#{syntax-object-expression 318}# #{i 1484}#)
-                    #{i 1484}#))
-           (if (eq? #{nj 1491}#
-                    (if (#{syntax-object? 316}# #{j 1485}#)
-                      (#{syntax-object-expression 318}# #{j 1485}#)
-                      #{j 1485}#))
-             (if (let ((#{bi 1514}#
-                         (let ((#{mod 4428}#
-                                 (if (#{syntax-object? 316}# #{i 1484}#)
-                                   (#{syntax-object-module 322}# #{i 1484}#)
+               #{id 19641}#))))))
+   (#{free-id=? 4363}#
+     (lambda (#{i 20251}# #{j 20252}#)
+       (let ((#{ni 20253}#
+               (#{id-var-name 4362}# #{i 20251}# '(())))
+             (#{nj 20254}#
+               (#{id-var-name 4362}# #{j 20252}# '(()))))
+         (if (eq? #{ni 20253}#
+                  (if (if (vector? #{i 20251}#)
+                        (if (= (vector-length #{i 20251}#) 4)
+                          (eq? (vector-ref #{i 20251}# 0) 'syntax-object)
+                          #f)
+                        #f)
+                    (vector-ref #{i 20251}# 1)
+                    #{i 20251}#))
+           (if (eq? #{nj 20254}#
+                    (if (if (vector? #{j 20252}#)
+                          (if (= (vector-length #{j 20252}#) 4)
+                            (eq? (vector-ref #{j 20252}# 0) 'syntax-object)
+                            #f)
+                          #f)
+                      (vector-ref #{j 20252}# 1)
+                      #{j 20252}#))
+             (if (let ((#{bi 20312}#
+                         (let ((#{mod 20581}#
+                                 (if (if (vector? #{i 20251}#)
+                                       (if (= (vector-length #{i 20251}#) 4)
+                                         (eq? (vector-ref #{i 20251}# 0)
+                                              'syntax-object)
+                                         #f)
+                                       #f)
+                                   (vector-ref #{i 20251}# 3)
                                    #f)))
                            (module-variable
-                             (if #{mod 4428}#
-                               (resolve-module (cdr #{mod 4428}#))
+                             (if #{mod 20581}#
+                               (resolve-module (cdr #{mod 20581}#))
                                (current-module))
-                             (if (#{syntax-object? 316}# #{i 1484}#)
-                               (#{syntax-object-expression 318}# #{i 1484}#)
-                               #{i 1484}#)))))
-                   (if #{bi 1514}#
-                     (eq? #{bi 1514}#
-                          (let ((#{mod 4432}#
-                                  (if (#{syntax-object? 316}# #{j 1485}#)
-                                    (#{syntax-object-module 322}# #{j 1485}#)
+                             (if (if (vector? #{i 20251}#)
+                                   (if (= (vector-length #{i 20251}#) 4)
+                                     (eq? (vector-ref #{i 20251}# 0)
+                                          'syntax-object)
+                                     #f)
+                                   #f)
+                               (vector-ref #{i 20251}# 1)
+                               #{i 20251}#)))))
+                   (if #{bi 20312}#
+                     (eq? #{bi 20312}#
+                          (let ((#{mod 20425}#
+                                  (if (if (vector? #{j 20252}#)
+                                        (if (= (vector-length #{j 20252}#) 4)
+                                          (eq? (vector-ref #{j 20252}# 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (vector-ref #{j 20252}# 3)
                                     #f)))
                             (module-variable
-                              (if #{mod 4432}#
-                                (resolve-module (cdr #{mod 4432}#))
+                              (if #{mod 20425}#
+                                (resolve-module (cdr #{mod 20425}#))
                                 (current-module))
-                              (if (#{syntax-object? 316}# #{j 1485}#)
-                                (#{syntax-object-expression 318}# #{j 1485}#)
-                                #{j 1485}#))))
-                     (if (not (let ((#{mod 4436}#
-                                      (if (#{syntax-object? 316}# #{j 1485}#)
-                                        (#{syntax-object-module 322}#
-                                          #{j 1485}#)
+                              (if (if (vector? #{j 20252}#)
+                                    (if (= (vector-length #{j 20252}#) 4)
+                                      (eq? (vector-ref #{j 20252}# 0)
+                                           'syntax-object)
+                                      #f)
+                                    #f)
+                                (vector-ref #{j 20252}# 1)
+                                #{j 20252}#))))
+                     (if (not (let ((#{mod 20503}#
+                                      (if (if (vector? #{j 20252}#)
+                                            (if (= (vector-length #{j 20252}#)
+                                                   4)
+                                              (eq? (vector-ref #{j 20252}# 0)
+                                                   'syntax-object)
+                                              #f)
+                                            #f)
+                                        (vector-ref #{j 20252}# 3)
                                         #f)))
                                 (module-variable
-                                  (if #{mod 4436}#
-                                    (resolve-module (cdr #{mod 4436}#))
+                                  (if #{mod 20503}#
+                                    (resolve-module (cdr #{mod 20503}#))
                                     (current-module))
-                                  (if (#{syntax-object? 316}# #{j 1485}#)
-                                    (#{syntax-object-expression 318}#
-                                      #{j 1485}#)
-                                    #{j 1485}#))))
-                       (eq? #{ni 1490}# #{nj 1491}#)
+                                  (if (if (vector? #{j 20252}#)
+                                        (if (= (vector-length #{j 20252}#) 4)
+                                          (eq? (vector-ref #{j 20252}# 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (vector-ref #{j 20252}# 1)
+                                    #{j 20252}#))))
+                       (eq? #{ni 20253}# #{nj 20254}#)
                        #f)))
-               (eq? (let ((#{mod 4440}#
-                            (if (#{syntax-object? 316}# #{i 1484}#)
-                              (#{syntax-object-module 322}# #{i 1484}#)
+               (eq? (let ((#{mod 20659}#
+                            (if (if (vector? #{i 20251}#)
+                                  (if (= (vector-length #{i 20251}#) 4)
+                                    (eq? (vector-ref #{i 20251}# 0)
+                                         'syntax-object)
+                                    #f)
+                                  #f)
+                              (vector-ref #{i 20251}# 3)
                               #f)))
                       (module-variable
-                        (if #{mod 4440}#
-                          (resolve-module (cdr #{mod 4440}#))
+                        (if #{mod 20659}#
+                          (resolve-module (cdr #{mod 20659}#))
                           (current-module))
-                        (if (#{syntax-object? 316}# #{i 1484}#)
-                          (#{syntax-object-expression 318}# #{i 1484}#)
-                          #{i 1484}#)))
-                    (let ((#{mod 4444}#
-                            (if (#{syntax-object? 316}# #{j 1485}#)
-                              (#{syntax-object-module 322}# #{j 1485}#)
+                        (if (if (vector? #{i 20251}#)
+                              (if (= (vector-length #{i 20251}#) 4)
+                                (eq? (vector-ref #{i 20251}# 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (vector-ref #{i 20251}# 1)
+                          #{i 20251}#)))
+                    (let ((#{mod 20737}#
+                            (if (if (vector? #{j 20252}#)
+                                  (if (= (vector-length #{j 20252}#) 4)
+                                    (eq? (vector-ref #{j 20252}# 0)
+                                         'syntax-object)
+                                    #f)
+                                  #f)
+                              (vector-ref #{j 20252}# 3)
                               #f)))
                       (module-variable
-                        (if #{mod 4444}#
-                          (resolve-module (cdr #{mod 4444}#))
+                        (if #{mod 20737}#
+                          (resolve-module (cdr #{mod 20737}#))
                           (current-module))
-                        (if (#{syntax-object? 316}# #{j 1485}#)
-                          (#{syntax-object-expression 318}# #{j 1485}#)
-                          #{j 1485}#))))
+                        (if (if (vector? #{j 20252}#)
+                              (if (= (vector-length #{j 20252}#) 4)
+                                (eq? (vector-ref #{j 20252}# 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (vector-ref #{j 20252}# 1)
+                          #{j 20252}#))))
                #f)
              #f)
-           (if (eq? #{ni 1490}# #{nj 1491}#)
-             (not (eq? #{nj 1491}#
-                       (if (#{syntax-object? 316}# #{j 1485}#)
-                         (#{syntax-object-expression 318}# #{j 1485}#)
-                         #{j 1485}#)))
+           (if (eq? #{ni 20253}# #{nj 20254}#)
+             (not (eq? #{nj 20254}#
+                       (if (if (vector? #{j 20252}#)
+                             (if (= (vector-length #{j 20252}#) 4)
+                               (eq? (vector-ref #{j 20252}# 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (vector-ref #{j 20252}# 1)
+                         #{j 20252}#)))
              #f)))))
-   (#{bound-id=? 419}#
-     (lambda (#{i 1523}# #{j 1524}#)
-       (if (if (#{syntax-object? 316}# #{i 1523}#)
-             (#{syntax-object? 316}# #{j 1524}#)
+   (#{bound-id=? 4364}#
+     (lambda (#{i 20837}# #{j 20838}#)
+       (if (if (if (vector? #{i 20837}#)
+                 (if (= (vector-length #{i 20837}#) 4)
+                   (eq? (vector-ref #{i 20837}# 0) 'syntax-object)
+                   #f)
+                 #f)
+             (if (vector? #{j 20838}#)
+               (if (= (vector-length #{j 20838}#) 4)
+                 (eq? (vector-ref #{j 20838}# 0) 'syntax-object)
+                 #f)
+               #f)
              #f)
-         (if (eq? (#{syntax-object-expression 318}# #{i 1523}#)
-                  (#{syntax-object-expression 318}# #{j 1524}#))
-           (#{same-marks? 413}#
-             (car (#{syntax-object-wrap 320}# #{i 1523}#))
-             (car (#{syntax-object-wrap 320}# #{j 1524}#)))
+         (if (eq? (vector-ref #{i 20837}# 1)
+                  (vector-ref #{j 20838}# 1))
+           (#{same-marks? 4361}#
+             (car (vector-ref #{i 20837}# 2))
+             (car (vector-ref #{j 20838}# 2)))
            #f)
-         (eq? #{i 1523}# #{j 1524}#))))
-   (#{valid-bound-ids? 421}#
-     (lambda (#{ids 1533}#)
+         (eq? #{i 20837}# #{j 20838}#))))
+   (#{valid-bound-ids? 4365}#
+     (lambda (#{ids 21007}#)
        (if (letrec*
-             ((#{all-ids? 1538}#
-                (lambda (#{ids 1539}#)
-                  (if (null? #{ids 1539}#)
-                    (null? #{ids 1539}#)
-                    (if (#{id? 353}# (car #{ids 1539}#))
-                      (#{all-ids? 1538}# (cdr #{ids 1539}#))
+             ((#{all-ids? 21008}#
+                (lambda (#{ids 21198}#)
+                  (if (null? #{ids 21198}#)
+                    (null? #{ids 21198}#)
+                    (if (let ((#{x 21209}# (car #{ids 21198}#)))
+                          (if (symbol? #{x 21209}#)
+                            #t
+                            (if (if (vector? #{x 21209}#)
+                                  (if (= (vector-length #{x 21209}#) 4)
+                                    (eq? (vector-ref #{x 21209}# 0)
+                                         'syntax-object)
+                                    #f)
+                                  #f)
+                              (symbol? (vector-ref #{x 21209}# 1))
+                              #f)))
+                      (#{all-ids? 21008}# (cdr #{ids 21198}#))
                       #f)))))
-             (#{all-ids? 1538}# #{ids 1533}#))
-         (#{distinct-bound-ids? 423}# #{ids 1533}#)
+             (#{all-ids? 21008}# #{ids 21007}#))
+         (#{distinct-bound-ids? 4366}# #{ids 21007}#)
          #f)))
-   (#{distinct-bound-ids? 423}#
-     (lambda (#{ids 1547}#)
+   (#{distinct-bound-ids? 4366}#
+     (lambda (#{ids 21330}#)
        (letrec*
-         ((#{distinct? 1551}#
-            (lambda (#{ids 1552}#)
-              (if (null? #{ids 1552}#)
-                (null? #{ids 1552}#)
-                (if (not (#{bound-id-member? 425}#
-                           (car #{ids 1552}#)
-                           (cdr #{ids 1552}#)))
-                  (#{distinct? 1551}# (cdr #{ids 1552}#))
+         ((#{distinct? 21331}#
+            (lambda (#{ids 21436}#)
+              (if (null? #{ids 21436}#)
+                (null? #{ids 21436}#)
+                (if (not (#{bound-id-member? 4367}#
+                           (car #{ids 21436}#)
+                           (cdr #{ids 21436}#)))
+                  (#{distinct? 21331}# (cdr #{ids 21436}#))
                   #f)))))
-         (#{distinct? 1551}# #{ids 1547}#))))
-   (#{bound-id-member? 425}#
-     (lambda (#{x 1559}# #{list 1560}#)
-       (if (not (null? #{list 1560}#))
-         (let ((#{t 1567}#
-                 (#{bound-id=? 419}#
-                   #{x 1559}#
-                   (car #{list 1560}#))))
-           (if #{t 1567}#
-             #{t 1567}#
-             (#{bound-id-member? 425}#
-               #{x 1559}#
-               (cdr #{list 1560}#))))
+         (#{distinct? 21331}# #{ids 21330}#))))
+   (#{bound-id-member? 4367}#
+     (lambda (#{x 21532}# #{list 21533}#)
+       (if (not (null? #{list 21533}#))
+         (let ((#{t 21534}#
+                 (#{bound-id=? 4364}#
+                   #{x 21532}#
+                   (car #{list 21533}#))))
+           (if #{t 21534}#
+             #{t 21534}#
+             (#{bound-id-member? 4367}#
+               #{x 21532}#
+               (cdr #{list 21533}#))))
          #f)))
-   (#{wrap 427}#
-     (lambda (#{x 1569}# #{w 1570}# #{defmod 1571}#)
-       (if (if (null? (car #{w 1570}#))
-             (null? (cdr #{w 1570}#))
-             #f)
-         #{x 1569}#
-         (if (#{syntax-object? 316}# #{x 1569}#)
-           (#{make-syntax-object 314}#
-             (#{syntax-object-expression 318}# #{x 1569}#)
-             (#{join-wraps 409}#
-               #{w 1570}#
-               (#{syntax-object-wrap 320}# #{x 1569}#))
-             (#{syntax-object-module 322}# #{x 1569}#))
-           (if (null? #{x 1569}#)
-             #{x 1569}#
-             (#{make-syntax-object 314}#
-               #{x 1569}#
-               #{w 1570}#
-               #{defmod 1571}#))))))
-   (#{source-wrap 429}#
-     (lambda (#{x 1586}#
-              #{w 1587}#
-              #{s 1588}#
-              #{defmod 1589}#)
-       (#{wrap 427}#
-         (#{decorate-source 267}# #{x 1586}# #{s 1588}#)
-         #{w 1587}#
-         #{defmod 1589}#)))
-   (#{chi-sequence 431}#
-     (lambda (#{body 1594}#
-              #{r 1595}#
-              #{w 1596}#
-              #{s 1597}#
-              #{mod 1598}#)
-       (#{build-sequence 303}#
-         #{s 1597}#
+   (#{source-wrap 4369}#
+     (lambda (#{x 21708}#
+              #{w 21709}#
+              #{s 21710}#
+              #{defmod 21711}#)
+       (let ((#{x 21715}#
+               (begin
+                 (if (if (pair? #{x 21708}#) #{s 21710}# #f)
+                   (set-source-properties! #{x 21708}# #{s 21710}#))
+                 #{x 21708}#)))
+         (if (if (null? (car #{w 21709}#))
+               (null? (cdr #{w 21709}#))
+               #f)
+           #{x 21715}#
+           (if (if (vector? #{x 21715}#)
+                 (if (= (vector-length #{x 21715}#) 4)
+                   (eq? (vector-ref #{x 21715}# 0) 'syntax-object)
+                   #f)
+                 #f)
+             (let ((#{expression 21747}# (vector-ref #{x 21715}# 1))
+                   (#{wrap 21748}#
+                     (let ((#{w2 21756}# (vector-ref #{x 21715}# 2)))
+                       (let ((#{m1 21757}# (car #{w 21709}#))
+                             (#{s1 21758}# (cdr #{w 21709}#)))
+                         (if (null? #{m1 21757}#)
+                           (if (null? #{s1 21758}#)
+                             #{w2 21756}#
+                             (cons (car #{w2 21756}#)
+                                   (let ((#{m2 21773}# (cdr #{w2 21756}#)))
+                                     (if (null? #{m2 21773}#)
+                                       #{s1 21758}#
+                                       (append #{s1 21758}# #{m2 21773}#)))))
+                           (cons (let ((#{m2 21781}# (car #{w2 21756}#)))
+                                   (if (null? #{m2 21781}#)
+                                     #{m1 21757}#
+                                     (append #{m1 21757}# #{m2 21781}#)))
+                                 (let ((#{m2 21789}# (cdr #{w2 21756}#)))
+                                   (if (null? #{m2 21789}#)
+                                     #{s1 21758}#
+                                     (append #{s1 21758}# #{m2 21789}#))))))))
+                   (#{module 21749}# (vector-ref #{x 21715}# 3)))
+               (vector
+                 'syntax-object
+                 #{expression 21747}#
+                 #{wrap 21748}#
+                 #{module 21749}#))
+             (if (null? #{x 21715}#)
+               #{x 21715}#
+               (vector
+                 'syntax-object
+                 #{x 21715}#
+                 #{w 21709}#
+                 #{defmod 21711}#)))))))
+   (#{chi-sequence 4370}#
+     (lambda (#{body 36631}#
+              #{r 36632}#
+              #{w 36633}#
+              #{s 36634}#
+              #{mod 36635}#)
+       (#{build-sequence 4324}#
+         #{s 36634}#
          (letrec*
-           ((#{dobody 1609}#
-              (lambda (#{body 1610}#
-                       #{r 1611}#
-                       #{w 1612}#
-                       #{mod 1613}#)
-                (if (null? #{body 1610}#)
+           ((#{dobody 36725}#
+              (lambda (#{body 36810}#
+                       #{r 36811}#
+                       #{w 36812}#
+                       #{mod 36813}#)
+                (if (null? #{body 36810}#)
                   '()
-                  (let ((#{first 1615}#
-                          (#{chi 441}#
-                            (car #{body 1610}#)
-                            #{r 1611}#
-                            #{w 1612}#
-                            #{mod 1613}#)))
-                    (cons #{first 1615}#
-                          (#{dobody 1609}#
-                            (cdr #{body 1610}#)
-                            #{r 1611}#
-                            #{w 1612}#
-                            #{mod 1613}#)))))))
-           (#{dobody 1609}#
-             #{body 1594}#
-             #{r 1595}#
-             #{w 1596}#
-             #{mod 1598}#)))))
-   (#{chi-top-sequence 433}#
-     (lambda (#{body 1616}#
-              #{r 1617}#
-              #{w 1618}#
-              #{s 1619}#
-              #{m 1620}#
-              #{esew 1621}#
-              #{mod 1622}#)
+                  (let ((#{first 36814}#
+                          (#{chi 4375}#
+                            (car #{body 36810}#)
+                            #{r 36811}#
+                            #{w 36812}#
+                            #{mod 36813}#)))
+                    (cons #{first 36814}#
+                          (#{dobody 36725}#
+                            (cdr #{body 36810}#)
+                            #{r 36811}#
+                            #{w 36812}#
+                            #{mod 36813}#)))))))
+           (#{dobody 36725}#
+             #{body 36631}#
+             #{r 36632}#
+             #{w 36633}#
+             #{mod 36635}#)))))
+   (#{chi-top-sequence 4371}#
+     (lambda (#{body 21804}#
+              #{r 21805}#
+              #{w 21806}#
+              #{s 21807}#
+              #{m 21808}#
+              #{esew 21809}#
+              #{mod 21810}#)
        (letrec*
-         ((#{scan 1631}#
-            (lambda (#{body 1632}#
-                     #{r 1633}#
-                     #{w 1634}#
-                     #{s 1635}#
-                     #{m 1636}#
-                     #{esew 1637}#
-                     #{mod 1638}#
-                     #{exps 1639}#)
-              (if (null? #{body 1632}#)
-                #{exps 1639}#
+         ((#{scan 21811}#
+            (lambda (#{body 21958}#
+                     #{r 21959}#
+                     #{w 21960}#
+                     #{s 21961}#
+                     #{m 21962}#
+                     #{esew 21963}#
+                     #{mod 21964}#
+                     #{exps 21965}#)
+              (if (null? #{body 21958}#)
+                #{exps 21965}#
                 (call-with-values
                   (lambda ()
                     (call-with-values
                       (lambda ()
-                        (let ((#{e 1652}# (car #{body 1632}#)))
-                          (#{syntax-type 439}#
-                            #{e 1652}#
-                            #{r 1633}#
-                            #{w 1634}#
-                            (let ((#{t 1655}#
-                                    (#{source-annotation 331}# #{e 1652}#)))
-                              (if #{t 1655}# #{t 1655}# #{s 1635}#))
+                        (let ((#{e 21966}# (car #{body 21958}#)))
+                          (#{syntax-type 4374}#
+                            #{e 21966}#
+                            #{r 21959}#
+                            #{w 21960}#
+                            (let ((#{t 21970}#
+                                    (#{source-annotation 4336}# #{e 21966}#)))
+                              (if #{t 21970}# #{t 21970}# #{s 21961}#))
                             #f
-                            #{mod 1638}#
+                            #{mod 21964}#
                             #f)))
-                      (lambda (#{type 1657}#
-                               #{value 1658}#
-                               #{e 1659}#
-                               #{w 1660}#
-                               #{s 1661}#
-                               #{mod 1662}#)
-                        (if (memv #{type 1657}# '(begin-form))
-                          (let ((#{tmp 1671}# ($sc-dispatch #{e 1659}# '(_))))
-                            (if #{tmp 1671}#
-                              (@apply (lambda () #{exps 1639}#) #{tmp 1671}#)
-                              (let ((#{tmp 1672}#
+                      (lambda (#{type 22252}#
+                               #{value 22253}#
+                               #{e 22254}#
+                               #{w 22255}#
+                               #{s 22256}#
+                               #{mod 22257}#)
+                        (if (eqv? #{type 22252}# 'begin-form)
+                          (let ((#{tmp 22262}#
+                                  ($sc-dispatch #{e 22254}# '(_))))
+                            (if #{tmp 22262}#
+                              (@apply (lambda () #{exps 21965}#) #{tmp 22262}#)
+                              (let ((#{tmp 22266}#
                                       ($sc-dispatch
-                                        #{e 1659}#
+                                        #{e 22254}#
                                         '(_ any . each-any))))
-                                (if #{tmp 1672}#
+                                (if #{tmp 22266}#
                                   (@apply
-                                    (lambda (#{e1 1675}# #{e2 1676}#)
-                                      (#{scan 1631}#
-                                        (cons #{e1 1675}# #{e2 1676}#)
-                                        #{r 1633}#
-                                        #{w 1660}#
-                                        #{s 1661}#
-                                        #{m 1636}#
-                                        #{esew 1637}#
-                                        #{mod 1662}#
-                                        #{exps 1639}#))
-                                    #{tmp 1672}#)
+                                    (lambda (#{e1 22270}# #{e2 22271}#)
+                                      (#{scan 21811}#
+                                        (cons #{e1 22270}# #{e2 22271}#)
+                                        #{r 21959}#
+                                        #{w 22255}#
+                                        #{s 22256}#
+                                        #{m 21962}#
+                                        #{esew 21963}#
+                                        #{mod 22257}#
+                                        #{exps 21965}#))
+                                    #{tmp 22266}#)
                                   (syntax-violation
                                     #f
                                     "source expression failed to match any 
pattern"
-                                    #{e 1659}#)))))
-                          (if (memv #{type 1657}# '(local-syntax-form))
-                            (#{chi-local-syntax 451}#
-                              #{value 1658}#
-                              #{e 1659}#
-                              #{r 1633}#
-                              #{w 1660}#
-                              #{s 1661}#
-                              #{mod 1662}#
-                              (lambda (#{body 1679}#
-                                       #{r 1680}#
-                                       #{w 1681}#
-                                       #{s 1682}#
-                                       #{mod 1683}#)
-                                (#{scan 1631}#
-                                  #{body 1679}#
-                                  #{r 1680}#
-                                  #{w 1681}#
-                                  #{s 1682}#
-                                  #{m 1636}#
-                                  #{esew 1637}#
-                                  #{mod 1683}#
-                                  #{exps 1639}#)))
-                            (if (memv #{type 1657}# '(eval-when-form))
-                              (let ((#{tmp 1691}#
+                                    #{e 22254}#)))))
+                          (if (eqv? #{type 22252}# 'local-syntax-form)
+                            (#{chi-local-syntax 4380}#
+                              #{value 22253}#
+                              #{e 22254}#
+                              #{r 21959}#
+                              #{w 22255}#
+                              #{s 22256}#
+                              #{mod 22257}#
+                              (lambda (#{body 22286}#
+                                       #{r 22287}#
+                                       #{w 22288}#
+                                       #{s 22289}#
+                                       #{mod 22290}#)
+                                (#{scan 21811}#
+                                  #{body 22286}#
+                                  #{r 22287}#
+                                  #{w 22288}#
+                                  #{s 22289}#
+                                  #{m 21962}#
+                                  #{esew 21963}#
+                                  #{mod 22290}#
+                                  #{exps 21965}#)))
+                            (if (eqv? #{type 22252}# 'eval-when-form)
+                              (let ((#{tmp 22295}#
                                       ($sc-dispatch
-                                        #{e 1659}#
+                                        #{e 22254}#
                                         '(_ each-any any . each-any))))
-                                (if #{tmp 1691}#
+                                (if #{tmp 22295}#
                                   (@apply
-                                    (lambda (#{x 1695}#
-                                             #{e1 1696}#
-                                             #{e2 1697}#)
-                                      (let ((#{when-list 1700}#
-                                              (#{chi-when-list 437}#
-                                                #{e 1659}#
-                                                #{x 1695}#
-                                                #{w 1660}#))
-                                            (#{body 1701}#
-                                              (cons #{e1 1696}# #{e2 1697}#)))
-                                        (if (eq? #{m 1636}# 'e)
-                                          (if (memq 'eval #{when-list 1700}#)
-                                            (#{scan 1631}#
-                                              #{body 1701}#
-                                              #{r 1633}#
-                                              #{w 1660}#
-                                              #{s 1661}#
+                                    (lambda (#{x 22299}#
+                                             #{e1 22300}#
+                                             #{e2 22301}#)
+                                      (let ((#{when-list 22302}#
+                                              (#{chi-when-list 4373}#
+                                                #{e 22254}#
+                                                #{x 22299}#
+                                                #{w 22255}#))
+                                            (#{body 22303}#
+                                              (cons #{e1 22300}#
+                                                    #{e2 22301}#)))
+                                        (if (eq? #{m 21962}# 'e)
+                                          (if (memq 'eval #{when-list 22302}#)
+                                            (#{scan 21811}#
+                                              #{body 22303}#
+                                              #{r 21959}#
+                                              #{w 22255}#
+                                              #{s 22256}#
                                               (if (memq 'expand
-                                                        #{when-list 1700}#)
+                                                        #{when-list 22302}#)
                                                 'c&e
                                                 'e)
                                               '(eval)
-                                              #{mod 1662}#
-                                              #{exps 1639}#)
+                                              #{mod 22257}#
+                                              #{exps 21965}#)
                                             (begin
                                               (if (memq 'expand
-                                                        #{when-list 1700}#)
-                                                (#{top-level-eval-hook 257}#
-                                                  (#{chi-top-sequence 433}#
-                                                    #{body 1701}#
-                                                    #{r 1633}#
-                                                    #{w 1660}#
-                                                    #{s 1661}#
-                                                    'e
-                                                    '(eval)
-                                                    #{mod 1662}#)
-                                                  #{mod 1662}#))
-                                              (values #{exps 1639}#)))
-                                          (if (memq 'load #{when-list 1700}#)
-                                            (if (let ((#{t 1710}#
+                                                        #{when-list 22302}#)
+                                                (let ((#{x 22310}#
+                                                        (#{chi-top-sequence 
4371}#
+                                                          #{body 22303}#
+                                                          #{r 21959}#
+                                                          #{w 22255}#
+                                                          #{s 22256}#
+                                                          'e
+                                                          '(eval)
+                                                          #{mod 22257}#)))
+                                                  (primitive-eval
+                                                    #{x 22310}#)))
+                                              (values #{exps 21965}#)))
+                                          (if (memq 'load #{when-list 22302}#)
+                                            (if (let ((#{t 22312}#
                                                         (memq 'compile
-                                                              #{when-list 
1700}#)))
-                                                  (if #{t 1710}#
-                                                    #{t 1710}#
-                                                    (let ((#{t 1713}#
+                                                              #{when-list 
22302}#)))
+                                                  (if #{t 22312}#
+                                                    #{t 22312}#
+                                                    (let ((#{t 22314}#
                                                             (memq 'expand
-                                                                  #{when-list 
1700}#)))
-                                                      (if #{t 1713}#
-                                                        #{t 1713}#
-                                                        (if (eq? #{m 1636}#
+                                                                  #{when-list 
22302}#)))
+                                                      (if #{t 22314}#
+                                                        #{t 22314}#
+                                                        (if (eq? #{m 21962}#
                                                                  'c&e)
                                                           (memq 'eval
-                                                                #{when-list 
1700}#)
+                                                                #{when-list 
22302}#)
                                                           #f)))))
-                                              (#{scan 1631}#
-                                                #{body 1701}#
-                                                #{r 1633}#
-                                                #{w 1660}#
-                                                #{s 1661}#
+                                              (#{scan 21811}#
+                                                #{body 22303}#
+                                                #{r 21959}#
+                                                #{w 22255}#
+                                                #{s 22256}#
                                                 'c&e
                                                 '(compile load)
-                                                #{mod 1662}#
-                                                #{exps 1639}#)
-                                              (if (memq #{m 1636}# '(c c&e))
-                                                (#{scan 1631}#
-                                                  #{body 1701}#
-                                                  #{r 1633}#
-                                                  #{w 1660}#
-                                                  #{s 1661}#
+                                                #{mod 22257}#
+                                                #{exps 21965}#)
+                                              (if (if (eq? #{m 21962}# 'c)
+                                                    #t
+                                                    (eq? #{m 21962}# 'c&e))
+                                                (#{scan 21811}#
+                                                  #{body 22303}#
+                                                  #{r 21959}#
+                                                  #{w 22255}#
+                                                  #{s 22256}#
                                                   'c
                                                   '(load)
-                                                  #{mod 1662}#
-                                                  #{exps 1639}#)
-                                                (values #{exps 1639}#)))
-                                            (if (let ((#{t 1721}#
+                                                  #{mod 22257}#
+                                                  #{exps 21965}#)
+                                                (values #{exps 21965}#)))
+                                            (if (let ((#{t 22324}#
                                                         (memq 'compile
-                                                              #{when-list 
1700}#)))
-                                                  (if #{t 1721}#
-                                                    #{t 1721}#
-                                                    (let ((#{t 1724}#
+                                                              #{when-list 
22302}#)))
+                                                  (if #{t 22324}#
+                                                    #{t 22324}#
+                                                    (let ((#{t 22326}#
                                                             (memq 'expand
-                                                                  #{when-list 
1700}#)))
-                                                      (if #{t 1724}#
-                                                        #{t 1724}#
-                                                        (if (eq? #{m 1636}#
+                                                                  #{when-list 
22302}#)))
+                                                      (if #{t 22326}#
+                                                        #{t 22326}#
+                                                        (if (eq? #{m 21962}#
                                                                  'c&e)
                                                           (memq 'eval
-                                                                #{when-list 
1700}#)
+                                                                #{when-list 
22302}#)
                                                           #f)))))
                                               (begin
-                                                (#{top-level-eval-hook 257}#
-                                                  (#{chi-top-sequence 433}#
-                                                    #{body 1701}#
-                                                    #{r 1633}#
-                                                    #{w 1660}#
-                                                    #{s 1661}#
-                                                    'e
-                                                    '(eval)
-                                                    #{mod 1662}#)
-                                                  #{mod 1662}#)
-                                                (values #{exps 1639}#))
-                                              (values #{exps 1639}#))))))
-                                    #{tmp 1691}#)
+                                                (let ((#{x 22331}#
+                                                        (#{chi-top-sequence 
4371}#
+                                                          #{body 22303}#
+                                                          #{r 21959}#
+                                                          #{w 22255}#
+                                                          #{s 22256}#
+                                                          'e
+                                                          '(eval)
+                                                          #{mod 22257}#)))
+                                                  (primitive-eval #{x 22331}#))
+                                                (values #{exps 21965}#))
+                                              (values #{exps 21965}#))))))
+                                    #{tmp 22295}#)
                                   (syntax-violation
                                     #f
                                     "source expression failed to match any 
pattern"
-                                    #{e 1659}#)))
-                              (if (memv #{type 1657}# '(define-syntax-form))
-                                (let ((#{n 1732}#
-                                        (#{id-var-name 415}#
-                                          #{value 1658}#
-                                          #{w 1660}#))
-                                      (#{r 1733}#
-                                        (#{macros-only-env 345}# #{r 1633}#)))
-                                  (if (memv #{m 1636}# '(c))
-                                    (if (memq 'compile #{esew 1637}#)
-                                      (let ((#{e 1736}#
-                                              (#{chi-install-global 435}#
-                                                #{n 1732}#
-                                                (#{chi 441}#
-                                                  #{e 1659}#
-                                                  #{r 1733}#
-                                                  #{w 1660}#
-                                                  #{mod 1662}#))))
+                                    #{e 22254}#)))
+                              (if (eqv? #{type 22252}# 'define-syntax-form)
+                                (let ((#{n 22342}#
+                                        (#{id-var-name 4362}#
+                                          #{value 22253}#
+                                          #{w 22255}#))
+                                      (#{r 22343}#
+                                        (#{macros-only-env 4339}#
+                                          #{r 21959}#)))
+                                  (if (eqv? #{m 21962}# 'c)
+                                    (if (memq 'compile #{esew 21963}#)
+                                      (let ((#{e 22347}#
+                                              (#{chi-install-global 4372}#
+                                                #{n 22342}#
+                                                (#{chi 4375}#
+                                                  #{e 22254}#
+                                                  #{r 22343}#
+                                                  #{w 22255}#
+                                                  #{mod 22257}#))))
                                         (begin
-                                          (#{top-level-eval-hook 257}#
-                                            #{e 1736}#
-                                            #{mod 1662}#)
-                                          (if (memq 'load #{esew 1637}#)
+                                          (#{top-level-eval-hook 4302}#
+                                            #{e 22347}#
+                                            #{mod 22257}#)
+                                          (if (memq 'load #{esew 21963}#)
                                             (values
-                                              (cons #{e 1736}# #{exps 1639}#))
-                                            (values #{exps 1639}#))))
-                                      (if (memq 'load #{esew 1637}#)
+                                              (cons #{e 22347}#
+                                                    #{exps 21965}#))
+                                            (values #{exps 21965}#))))
+                                      (if (memq 'load #{esew 21963}#)
                                         (values
-                                          (cons (#{chi-install-global 435}#
-                                                  #{n 1732}#
-                                                  (#{chi 441}#
-                                                    #{e 1659}#
-                                                    #{r 1733}#
-                                                    #{w 1660}#
-                                                    #{mod 1662}#))
-                                                #{exps 1639}#))
-                                        (values #{exps 1639}#)))
-                                    (if (memv #{m 1636}# '(c&e))
-                                      (let ((#{e 1739}#
-                                              (#{chi-install-global 435}#
-                                                #{n 1732}#
-                                                (#{chi 441}#
-                                                  #{e 1659}#
-                                                  #{r 1733}#
-                                                  #{w 1660}#
-                                                  #{mod 1662}#))))
+                                          (cons (#{chi-install-global 4372}#
+                                                  #{n 22342}#
+                                                  (#{chi 4375}#
+                                                    #{e 22254}#
+                                                    #{r 22343}#
+                                                    #{w 22255}#
+                                                    #{mod 22257}#))
+                                                #{exps 21965}#))
+                                        (values #{exps 21965}#)))
+                                    (if (eqv? #{m 21962}# 'c&e)
+                                      (let ((#{e 22789}#
+                                              (#{chi-install-global 4372}#
+                                                #{n 22342}#
+                                                (#{chi 4375}#
+                                                  #{e 22254}#
+                                                  #{r 22343}#
+                                                  #{w 22255}#
+                                                  #{mod 22257}#))))
                                         (begin
-                                          (#{top-level-eval-hook 257}#
-                                            #{e 1739}#
-                                            #{mod 1662}#)
+                                          (#{top-level-eval-hook 4302}#
+                                            #{e 22789}#
+                                            #{mod 22257}#)
                                           (values
-                                            (cons #{e 1739}# #{exps 1639}#))))
+                                            (cons #{e 22789}#
+                                                  #{exps 21965}#))))
                                       (begin
-                                        (if (memq 'eval #{esew 1637}#)
-                                          (#{top-level-eval-hook 257}#
-                                            (#{chi-install-global 435}#
-                                              #{n 1732}#
-                                              (#{chi 441}#
-                                                #{e 1659}#
-                                                #{r 1733}#
-                                                #{w 1660}#
-                                                #{mod 1662}#))
-                                            #{mod 1662}#))
-                                        (values #{exps 1639}#)))))
-                                (if (memv #{type 1657}# '(define-form))
-                                  (let ((#{n 1744}#
-                                          (#{id-var-name 415}#
-                                            #{value 1658}#
-                                            #{w 1660}#)))
-                                    (let ((#{type 1746}#
-                                            (car (#{lookup 347}#
-                                                   #{n 1744}#
-                                                   #{r 1633}#
-                                                   #{mod 1662}#))))
-                                      (if (memv #{type 1746}#
-                                                '(global
-                                                   core
-                                                   macro
-                                                   module-ref))
+                                        (if (memq 'eval #{esew 21963}#)
+                                          (#{top-level-eval-hook 4302}#
+                                            (#{chi-install-global 4372}#
+                                              #{n 22342}#
+                                              (#{chi 4375}#
+                                                #{e 22254}#
+                                                #{r 22343}#
+                                                #{w 22255}#
+                                                #{mod 22257}#))
+                                            #{mod 22257}#))
+                                        (values #{exps 21965}#)))))
+                                (if (eqv? #{type 22252}# 'define-form)
+                                  (let ((#{n 23433}#
+                                          (#{id-var-name 4362}#
+                                            #{value 22253}#
+                                            #{w 22255}#)))
+                                    (let ((#{type 23434}#
+                                            (car (let ((#{t 24426}#
+                                                         (assq #{n 23433}#
+                                                               #{r 21959}#)))
+                                                   (if #{t 24426}#
+                                                     (cdr #{t 24426}#)
+                                                     (if (symbol? #{n 23433}#)
+                                                       (let ((#{t 24431}#
+                                                               (begin
+                                                                 (if (if (not 
#{mod 22257}#)
+                                                                       
(current-module)
+                                                                       #f)
+                                                                   (warn 
"module system is booted, we should have a module"
+                                                                         #{n 
23433}#))
+                                                                 (let ((#{v 
24468}#
+                                                                         
(module-variable
+                                                                           (if 
#{mod 22257}#
+                                                                             
(resolve-module
+                                                                               
(cdr #{mod 22257}#))
+                                                                             
(current-module))
+                                                                           #{n 
23433}#)))
+                                                                   (if #{v 
24468}#
+                                                                     (if 
(variable-bound?
+                                                                           #{v 
24468}#)
+                                                                       (let 
((#{val 24477}#
+                                                                               
(variable-ref
+                                                                               
  #{v 24468}#)))
+                                                                         (if 
(macro?
+                                                                               
#{val 24477}#)
+                                                                           (if 
(macro-type
+                                                                               
  #{val 24477}#)
+                                                                             
(cons (macro-type
+                                                                               
      #{val 24477}#)
+                                                                               
    (macro-binding
+                                                                               
      #{val 24477}#))
+                                                                             
#f)
+                                                                           #f))
+                                                                       #f)
+                                                                     #f)))))
+                                                         (if #{t 24431}#
+                                                           #{t 24431}#
+                                                           '(global)))
+                                                       
'(displaced-lexical)))))))
+                                      (if (let ((#{t 23468}# #{type 23434}#))
+                                            (if (eqv? #{t 23468}# 'global)
+                                              #t
+                                              (if (eqv? #{t 23468}# 'core)
+                                                #t
+                                                (if (eqv? #{t 23468}# 'macro)
+                                                  #t
+                                                  (eqv? #{t 23468}#
+                                                        'module-ref)))))
                                         (begin
-                                          (if (if (memq #{m 1636}# '(c c&e))
+                                          (if (if (if (eq? #{m 21962}# 'c)
+                                                    #t
+                                                    (eq? #{m 21962}# 'c&e))
                                                 (if (not (module-local-variable
                                                            (current-module)
-                                                           #{n 1744}#))
+                                                           #{n 23433}#))
                                                   (current-module)
                                                   #f)
                                                 #f)
-                                            (let ((#{old 1753}#
+                                            (let ((#{old 23632}#
                                                     (module-variable
                                                       (current-module)
-                                                      #{n 1744}#)))
-                                              (if (if (variable? #{old 1753}#)
+                                                      #{n 23433}#)))
+                                              (if (if (variable? #{old 23632}#)
                                                     (variable-bound?
-                                                      #{old 1753}#)
+                                                      #{old 23632}#)
                                                     #f)
                                                 (module-define!
                                                   (current-module)
-                                                  #{n 1744}#
-                                                  (variable-ref #{old 1753}#))
+                                                  #{n 23433}#
+                                                  (variable-ref #{old 23632}#))
                                                 (module-add!
                                                   (current-module)
-                                                  #{n 1744}#
+                                                  #{n 23433}#
                                                   (make-undefined-variable)))))
                                           (values
-                                            (cons (if (eq? #{m 1636}# 'c&e)
-                                                    (let ((#{x 1757}#
-                                                            
(#{build-global-definition 289}#
-                                                              #{s 1661}#
-                                                              #{n 1744}#
-                                                              (#{chi 441}#
-                                                                #{e 1659}#
-                                                                #{r 1633}#
-                                                                #{w 1660}#
-                                                                #{mod 
1662}#))))
+                                            (cons (if (eq? #{m 21962}# 'c&e)
+                                                    (let ((#{x 23634}#
+                                                            
(#{build-global-definition 4317}#
+                                                              #{s 22256}#
+                                                              #{n 23433}#
+                                                              (#{chi 4375}#
+                                                                #{e 22254}#
+                                                                #{r 21959}#
+                                                                #{w 22255}#
+                                                                #{mod 
22257}#))))
                                                       (begin
-                                                        (#{top-level-eval-hook 
257}#
-                                                          #{x 1757}#
-                                                          #{mod 1662}#)
-                                                        #{x 1757}#))
+                                                        (#{top-level-eval-hook 
4302}#
+                                                          #{x 23634}#
+                                                          #{mod 22257}#)
+                                                        #{x 23634}#))
                                                     (lambda ()
-                                                      
(#{build-global-definition 289}#
-                                                        #{s 1661}#
-                                                        #{n 1744}#
-                                                        (#{chi 441}#
-                                                          #{e 1659}#
-                                                          #{r 1633}#
-                                                          #{w 1660}#
-                                                          #{mod 1662}#))))
-                                                  #{exps 1639}#)))
-                                        (if (memv #{type 1746}#
-                                                  '(displaced-lexical))
+                                                      
(#{build-global-definition 4317}#
+                                                        #{s 22256}#
+                                                        #{n 23433}#
+                                                        (#{chi 4375}#
+                                                          #{e 22254}#
+                                                          #{r 21959}#
+                                                          #{w 22255}#
+                                                          #{mod 22257}#))))
+                                                  #{exps 21965}#)))
+                                        (if (let ((#{t 24161}# #{type 23434}#))
+                                              (eqv? #{t 24161}#
+                                                    'displaced-lexical))
                                           (syntax-violation
                                             #f
                                             "identifier out of context"
-                                            #{e 1659}#
-                                            (#{wrap 427}#
-                                              #{value 1658}#
-                                              #{w 1660}#
-                                              #{mod 1662}#))
+                                            #{e 22254}#
+                                            (if (if (null? (car #{w 22255}#))
+                                                  (null? (cdr #{w 22255}#))
+                                                  #f)
+                                              #{value 22253}#
+                                              (if (if (vector? #{value 22253}#)
+                                                    (if (= (vector-length
+                                                             #{value 22253}#)
+                                                           4)
+                                                      (eq? (vector-ref
+                                                             #{value 22253}#
+                                                             0)
+                                                           'syntax-object)
+                                                      #f)
+                                                    #f)
+                                                (let ((#{expression 24253}#
+                                                        (vector-ref
+                                                          #{value 22253}#
+                                                          1))
+                                                      (#{wrap 24254}#
+                                                        (let ((#{w2 24264}#
+                                                                (vector-ref
+                                                                  #{value 
22253}#
+                                                                  2)))
+                                                          (let ((#{m1 24265}#
+                                                                  (car #{w 
22255}#))
+                                                                (#{s1 24266}#
+                                                                  (cdr #{w 
22255}#)))
+                                                            (if (null? #{m1 
24265}#)
+                                                              (if (null? #{s1 
24266}#)
+                                                                #{w2 24264}#
+                                                                (cons (car 
#{w2 24264}#)
+                                                                      (let 
((#{m2 24283}#
+                                                                              
(cdr #{w2 24264}#)))
+                                                                        (if 
(null? #{m2 24283}#)
+                                                                          #{s1 
24266}#
+                                                                          
(append
+                                                                            
#{s1 24266}#
+                                                                            
#{m2 24283}#)))))
+                                                              (cons (let 
((#{m2 24291}#
+                                                                            
(car #{w2 24264}#)))
+                                                                      (if 
(null? #{m2 24291}#)
+                                                                        #{m1 
24265}#
+                                                                        (append
+                                                                          #{m1 
24265}#
+                                                                          #{m2 
24291}#)))
+                                                                    (let 
((#{m2 24299}#
+                                                                            
(cdr #{w2 24264}#)))
+                                                                      (if 
(null? #{m2 24299}#)
+                                                                        #{s1 
24266}#
+                                                                        (append
+                                                                          #{s1 
24266}#
+                                                                          #{m2 
24299}#))))))))
+                                                      (#{module 24255}#
+                                                        (vector-ref
+                                                          #{value 22253}#
+                                                          3)))
+                                                  (vector
+                                                    'syntax-object
+                                                    #{expression 24253}#
+                                                    #{wrap 24254}#
+                                                    #{module 24255}#))
+                                                (if (null? #{value 22253}#)
+                                                  #{value 22253}#
+                                                  (vector
+                                                    'syntax-object
+                                                    #{value 22253}#
+                                                    #{w 22255}#
+                                                    #{mod 22257}#)))))
                                           (syntax-violation
                                             #f
                                             "cannot define keyword at top 
level"
-                                            #{e 1659}#
-                                            (#{wrap 427}#
-                                              #{value 1658}#
-                                              #{w 1660}#
-                                              #{mod 1662}#))))))
+                                            #{e 22254}#
+                                            (if (if (null? (car #{w 22255}#))
+                                                  (null? (cdr #{w 22255}#))
+                                                  #f)
+                                              #{value 22253}#
+                                              (if (if (vector? #{value 22253}#)
+                                                    (if (= (vector-length
+                                                             #{value 22253}#)
+                                                           4)
+                                                      (eq? (vector-ref
+                                                             #{value 22253}#
+                                                             0)
+                                                           'syntax-object)
+                                                      #f)
+                                                    #f)
+                                                (let ((#{expression 24351}#
+                                                        (vector-ref
+                                                          #{value 22253}#
+                                                          1))
+                                                      (#{wrap 24352}#
+                                                        (let ((#{w2 24362}#
+                                                                (vector-ref
+                                                                  #{value 
22253}#
+                                                                  2)))
+                                                          (let ((#{m1 24363}#
+                                                                  (car #{w 
22255}#))
+                                                                (#{s1 24364}#
+                                                                  (cdr #{w 
22255}#)))
+                                                            (if (null? #{m1 
24363}#)
+                                                              (if (null? #{s1 
24364}#)
+                                                                #{w2 24362}#
+                                                                (cons (car 
#{w2 24362}#)
+                                                                      (let 
((#{m2 24381}#
+                                                                              
(cdr #{w2 24362}#)))
+                                                                        (if 
(null? #{m2 24381}#)
+                                                                          #{s1 
24364}#
+                                                                          
(append
+                                                                            
#{s1 24364}#
+                                                                            
#{m2 24381}#)))))
+                                                              (cons (let 
((#{m2 24389}#
+                                                                            
(car #{w2 24362}#)))
+                                                                      (if 
(null? #{m2 24389}#)
+                                                                        #{m1 
24363}#
+                                                                        (append
+                                                                          #{m1 
24363}#
+                                                                          #{m2 
24389}#)))
+                                                                    (let 
((#{m2 24397}#
+                                                                            
(cdr #{w2 24362}#)))
+                                                                      (if 
(null? #{m2 24397}#)
+                                                                        #{s1 
24364}#
+                                                                        (append
+                                                                          #{s1 
24364}#
+                                                                          #{m2 
24397}#))))))))
+                                                      (#{module 24353}#
+                                                        (vector-ref
+                                                          #{value 22253}#
+                                                          3)))
+                                                  (vector
+                                                    'syntax-object
+                                                    #{expression 24351}#
+                                                    #{wrap 24352}#
+                                                    #{module 24353}#))
+                                                (if (null? #{value 22253}#)
+                                                  #{value 22253}#
+                                                  (vector
+                                                    'syntax-object
+                                                    #{value 22253}#
+                                                    #{w 22255}#
+                                                    #{mod 22257}#)))))))))
                                   (values
-                                    (cons (if (eq? #{m 1636}# 'c&e)
-                                            (let ((#{x 1762}#
-                                                    (#{chi-expr 443}#
-                                                      #{type 1657}#
-                                                      #{value 1658}#
-                                                      #{e 1659}#
-                                                      #{r 1633}#
-                                                      #{w 1660}#
-                                                      #{s 1661}#
-                                                      #{mod 1662}#)))
+                                    (cons (if (eq? #{m 21962}# 'c&e)
+                                            (let ((#{x 24488}#
+                                                    (#{chi-expr 4376}#
+                                                      #{type 22252}#
+                                                      #{value 22253}#
+                                                      #{e 22254}#
+                                                      #{r 21959}#
+                                                      #{w 22255}#
+                                                      #{s 22256}#
+                                                      #{mod 22257}#)))
                                               (begin
-                                                (#{top-level-eval-hook 257}#
-                                                  #{x 1762}#
-                                                  #{mod 1662}#)
-                                                #{x 1762}#))
+                                                (primitive-eval #{x 24488}#)
+                                                #{x 24488}#))
                                             (lambda ()
-                                              (#{chi-expr 443}#
-                                                #{type 1657}#
-                                                #{value 1658}#
-                                                #{e 1659}#
-                                                #{r 1633}#
-                                                #{w 1660}#
-                                                #{s 1661}#
-                                                #{mod 1662}#)))
-                                          #{exps 1639}#))))))))))
-                  (lambda (#{exps 1763}#)
-                    (#{scan 1631}#
-                      (cdr #{body 1632}#)
-                      #{r 1633}#
-                      #{w 1634}#
-                      #{s 1635}#
-                      #{m 1636}#
-                      #{esew 1637}#
-                      #{mod 1638}#
-                      #{exps 1763}#)))))))
+                                              (#{chi-expr 4376}#
+                                                #{type 22252}#
+                                                #{value 22253}#
+                                                #{e 22254}#
+                                                #{r 21959}#
+                                                #{w 22255}#
+                                                #{s 22256}#
+                                                #{mod 22257}#)))
+                                          #{exps 21965}#))))))))))
+                  (lambda (#{exps 24497}#)
+                    (#{scan 21811}#
+                      (cdr #{body 21958}#)
+                      #{r 21959}#
+                      #{w 21960}#
+                      #{s 21961}#
+                      #{m 21962}#
+                      #{esew 21963}#
+                      #{mod 21964}#
+                      #{exps 24497}#)))))))
          (call-with-values
            (lambda ()
-             (#{scan 1631}#
-               #{body 1616}#
-               #{r 1617}#
-               #{w 1618}#
-               #{s 1619}#
-               #{m 1620}#
-               #{esew 1621}#
-               #{mod 1622}#
+             (#{scan 21811}#
+               #{body 21804}#
+               #{r 21805}#
+               #{w 21806}#
+               #{s 21807}#
+               #{m 21808}#
+               #{esew 21809}#
+               #{mod 21810}#
                '()))
-           (lambda (#{exps 1765}#)
-             (if (null? #{exps 1765}#)
-               (#{build-void 271}# #{s 1619}#)
-               (#{build-sequence 303}#
-                 #{s 1619}#
+           (lambda (#{exps 21814}#)
+             (if (null? #{exps 21814}#)
+               (make-struct/no-tail
+                 (vector-ref %expanded-vtables 0)
+                 #{s 21807}#)
+               (#{build-sequence 4324}#
+                 #{s 21807}#
                  (letrec*
-                   ((#{lp 1770}#
-                      (lambda (#{in 1771}# #{out 1772}#)
-                        (if (null? #{in 1771}#)
-                          #{out 1772}#
-                          (let ((#{e 1774}# (car #{in 1771}#)))
-                            (#{lp 1770}#
-                              (cdr #{in 1771}#)
-                              (cons (if (procedure? #{e 1774}#)
-                                      (#{e 1774}#)
-                                      #{e 1774}#)
-                                    #{out 1772}#)))))))
-                   (#{lp 1770}# #{exps 1765}# '())))))))))
-   (#{chi-install-global 435}#
-     (lambda (#{name 1775}# #{e 1776}#)
-       (#{build-global-definition 289}#
-         #f
-         #{name 1775}#
-         (#{build-primcall 297}#
-           #f
-           'make-syntax-transformer
-           (list (#{build-data 301}# #f #{name 1775}#)
-                 (#{build-data 301}# #f 'macro)
-                 #{e 1776}#)))))
-   (#{chi-when-list 437}#
-     (lambda (#{e 1783}# #{when-list 1784}# #{w 1785}#)
+                   ((#{lp 21858}#
+                      (lambda (#{in 21954}# #{out 21955}#)
+                        (if (null? #{in 21954}#)
+                          #{out 21955}#
+                          (let ((#{e 21956}# (car #{in 21954}#)))
+                            (#{lp 21858}#
+                              (cdr #{in 21954}#)
+                              (cons (if (procedure? #{e 21956}#)
+                                      (#{e 21956}#)
+                                      #{e 21956}#)
+                                    #{out 21955}#)))))))
+                   (#{lp 21858}# #{exps 21814}# '())))))))))
+   (#{chi-install-global 4372}#
+     (lambda (#{name 24498}# #{e 24499}#)
+       (let ((#{exp 24505}#
+               (let ((#{args 24516}#
+                       (list (make-struct/no-tail
+                               (vector-ref %expanded-vtables 1)
+                               #f
+                               #{name 24498}#)
+                             (make-struct/no-tail
+                               (vector-ref %expanded-vtables 1)
+                               #f
+                               'macro)
+                             #{e 24499}#)))
+                 (make-struct/no-tail
+                   (vector-ref %expanded-vtables 12)
+                   #f
+                   'make-syntax-transformer
+                   #{args 24516}#))))
+         (begin
+           (if (if (struct? #{exp 24505}#)
+                 (eq? (struct-vtable #{exp 24505}#)
+                      (vector-ref %expanded-vtables 14))
+                 #f)
+             (let ((#{meta 24543}# (struct-ref #{exp 24505}# 1)))
+               (if (not (assq 'name #{meta 24543}#))
+                 (let ((#{v 24550}#
+                         (cons (cons 'name #{name 24498}#) #{meta 24543}#)))
+                   (struct-set! #{exp 24505}# 1 #{v 24550}#)))))
+           (make-struct/no-tail
+             (vector-ref %expanded-vtables 9)
+             #f
+             #{name 24498}#
+             #{exp 24505}#)))))
+   (#{chi-when-list 4373}#
+     (lambda (#{e 24561}# #{when-list 24562}# #{w 24563}#)
        (letrec*
-         ((#{f 1792}#
-            (lambda (#{when-list 1793}# #{situations 1794}#)
-              (if (null? #{when-list 1793}#)
-                #{situations 1794}#
-                (#{f 1792}#
-                  (cdr #{when-list 1793}#)
-                  (cons (let ((#{x 1796}#
-                                (syntax->datum (car #{when-list 1793}#))))
-                          (if (memq #{x 1796}# '(compile load eval expand))
-                            #{x 1796}#
+         ((#{f 24564}#
+            (lambda (#{when-list 24764}# #{situations 24765}#)
+              (if (null? #{when-list 24764}#)
+                #{situations 24765}#
+                (#{f 24564}#
+                  (cdr #{when-list 24764}#)
+                  (cons (let ((#{x 24766}#
+                                (syntax->datum (car #{when-list 24764}#))))
+                          (if (if (eq? #{x 24766}# 'compile)
+                                #t
+                                (if (eq? #{x 24766}# 'load)
+                                  #t
+                                  (if (eq? #{x 24766}# 'eval)
+                                    #t
+                                    (eq? #{x 24766}# 'expand))))
+                            #{x 24766}#
                             (syntax-violation
                               'eval-when
                               "invalid situation"
-                              #{e 1783}#
-                              (#{wrap 427}#
-                                (car #{when-list 1793}#)
-                                #{w 1785}#
-                                #f))))
-                        #{situations 1794}#))))))
-         (#{f 1792}# #{when-list 1784}# '()))))
-   (#{syntax-type 439}#
-     (lambda (#{e 1797}#
-              #{r 1798}#
-              #{w 1799}#
-              #{s 1800}#
-              #{rib 1801}#
-              #{mod 1802}#
-              #{for-car? 1803}#)
-       (if (symbol? #{e 1797}#)
-         (let ((#{n 1815}#
-                 (#{id-var-name 415}# #{e 1797}# #{w 1799}#)))
-           (let ((#{b 1817}#
-                   (#{lookup 347}#
-                     #{n 1815}#
-                     #{r 1798}#
-                     #{mod 1802}#)))
-             (let ((#{type 1819}# (car #{b 1817}#)))
-               (if (memv #{type 1819}# '(lexical))
+                              #{e 24561}#
+                              (let ((#{x 24785}# (car #{when-list 24764}#)))
+                                (if (if (null? (car #{w 24563}#))
+                                      (null? (cdr #{w 24563}#))
+                                      #f)
+                                  #{x 24785}#
+                                  (if (if (vector? #{x 24785}#)
+                                        (if (= (vector-length #{x 24785}#) 4)
+                                          (eq? (vector-ref #{x 24785}# 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (let ((#{expression 24803}#
+                                            (vector-ref #{x 24785}# 1))
+                                          (#{wrap 24804}#
+                                            (let ((#{w2 24812}#
+                                                    (vector-ref
+                                                      #{x 24785}#
+                                                      2)))
+                                              (let ((#{m1 24813}#
+                                                      (car #{w 24563}#))
+                                                    (#{s1 24814}#
+                                                      (cdr #{w 24563}#)))
+                                                (if (null? #{m1 24813}#)
+                                                  (if (null? #{s1 24814}#)
+                                                    #{w2 24812}#
+                                                    (cons (car #{w2 24812}#)
+                                                          (let ((#{m2 24829}#
+                                                                  (cdr #{w2 
24812}#)))
+                                                            (if (null? #{m2 
24829}#)
+                                                              #{s1 24814}#
+                                                              (append
+                                                                #{s1 24814}#
+                                                                #{m2 
24829}#)))))
+                                                  (cons (let ((#{m2 24837}#
+                                                                (car #{w2 
24812}#)))
+                                                          (if (null? #{m2 
24837}#)
+                                                            #{m1 24813}#
+                                                            (append
+                                                              #{m1 24813}#
+                                                              #{m2 24837}#)))
+                                                        (let ((#{m2 24845}#
+                                                                (cdr #{w2 
24812}#)))
+                                                          (if (null? #{m2 
24845}#)
+                                                            #{s1 24814}#
+                                                            (append
+                                                              #{s1 24814}#
+                                                              #{m2 
24845}#))))))))
+                                          (#{module 24805}#
+                                            (vector-ref #{x 24785}# 3)))
+                                      (vector
+                                        'syntax-object
+                                        #{expression 24803}#
+                                        #{wrap 24804}#
+                                        #{module 24805}#))
+                                    (if (null? #{x 24785}#)
+                                      #{x 24785}#
+                                      (vector
+                                        'syntax-object
+                                        #{x 24785}#
+                                        #{w 24563}#
+                                        #f))))))))
+                        #{situations 24765}#))))))
+         (#{f 24564}# #{when-list 24562}# '()))))
+   (#{syntax-type 4374}#
+     (lambda (#{e 24860}#
+              #{r 24861}#
+              #{w 24862}#
+              #{s 24863}#
+              #{rib 24864}#
+              #{mod 24865}#
+              #{for-car? 24866}#)
+       (if (symbol? #{e 24860}#)
+         (let ((#{n 24867}#
+                 (#{id-var-name 4362}# #{e 24860}# #{w 24862}#)))
+           (let ((#{b 24868}#
+                   (let ((#{t 25443}# (assq #{n 24867}# #{r 24861}#)))
+                     (if #{t 25443}#
+                       (cdr #{t 25443}#)
+                       (if (symbol? #{n 24867}#)
+                         (let ((#{t 25448}#
+                                 (begin
+                                   (if (if (not #{mod 24865}#)
+                                         (current-module)
+                                         #f)
+                                     (warn "module system is booted, we should 
have a module"
+                                           #{n 24867}#))
+                                   (let ((#{v 25485}#
+                                           (module-variable
+                                             (if #{mod 24865}#
+                                               (resolve-module
+                                                 (cdr #{mod 24865}#))
+                                               (current-module))
+                                             #{n 24867}#)))
+                                     (if #{v 25485}#
+                                       (if (variable-bound? #{v 25485}#)
+                                         (let ((#{val 25494}#
+                                                 (variable-ref #{v 25485}#)))
+                                           (if (macro? #{val 25494}#)
+                                             (if (macro-type #{val 25494}#)
+                                               (cons (macro-type #{val 25494}#)
+                                                     (macro-binding
+                                                       #{val 25494}#))
+                                               #f)
+                                             #f))
+                                         #f)
+                                       #f)))))
+                           (if #{t 25448}# #{t 25448}# '(global)))
+                         '(displaced-lexical))))))
+             (let ((#{type 24869}# (car #{b 24868}#)))
+               (if (let ((#{t 24903}# #{type 24869}#))
+                     (eqv? #{t 24903}# 'lexical))
                  (values
-                   #{type 1819}#
-                   (cdr #{b 1817}#)
-                   #{e 1797}#
-                   #{w 1799}#
-                   #{s 1800}#
-                   #{mod 1802}#)
-                 (if (memv #{type 1819}# '(global))
+                   #{type 24869}#
+                   (cdr #{b 24868}#)
+                   #{e 24860}#
+                   #{w 24862}#
+                   #{s 24863}#
+                   #{mod 24865}#)
+                 (if (let ((#{t 25060}# #{type 24869}#))
+                       (eqv? #{t 25060}# 'global))
                    (values
-                     #{type 1819}#
-                     #{n 1815}#
-                     #{e 1797}#
-                     #{w 1799}#
-                     #{s 1800}#
-                     #{mod 1802}#)
-                   (if (memv #{type 1819}# '(macro))
-                     (if #{for-car? 1803}#
+                     #{type 24869}#
+                     #{n 24867}#
+                     #{e 24860}#
+                     #{w 24862}#
+                     #{s 24863}#
+                     #{mod 24865}#)
+                   (if (let ((#{t 25186}# #{type 24869}#))
+                         (eqv? #{t 25186}# 'macro))
+                     (if #{for-car? 24866}#
                        (values
-                         #{type 1819}#
-                         (cdr #{b 1817}#)
-                         #{e 1797}#
-                         #{w 1799}#
-                         #{s 1800}#
-                         #{mod 1802}#)
-                       (#{syntax-type 439}#
-                         (#{chi-macro 447}#
-                           (cdr #{b 1817}#)
-                           #{e 1797}#
-                           #{r 1798}#
-                           #{w 1799}#
-                           #{s 1800}#
-                           #{rib 1801}#
-                           #{mod 1802}#)
-                         #{r 1798}#
+                         #{type 24869}#
+                         (cdr #{b 24868}#)
+                         #{e 24860}#
+                         #{w 24862}#
+                         #{s 24863}#
+                         #{mod 24865}#)
+                       (#{syntax-type 4374}#
+                         (#{chi-macro 4378}#
+                           (cdr #{b 24868}#)
+                           #{e 24860}#
+                           #{r 24861}#
+                           #{w 24862}#
+                           #{s 24863}#
+                           #{rib 24864}#
+                           #{mod 24865}#)
+                         #{r 24861}#
                          '(())
-                         #{s 1800}#
-                         #{rib 1801}#
-                         #{mod 1802}#
+                         #{s 24863}#
+                         #{rib 24864}#
+                         #{mod 24865}#
                          #f))
                      (values
-                       #{type 1819}#
-                       (cdr #{b 1817}#)
-                       #{e 1797}#
-                       #{w 1799}#
-                       #{s 1800}#
-                       #{mod 1802}#)))))))
-         (if (pair? #{e 1797}#)
-           (let ((#{first 1833}# (car #{e 1797}#)))
+                       #{type 24869}#
+                       (cdr #{b 24868}#)
+                       #{e 24860}#
+                       #{w 24862}#
+                       #{s 24863}#
+                       #{mod 24865}#)))))))
+         (if (pair? #{e 24860}#)
+           (let ((#{first 25505}# (car #{e 24860}#)))
              (call-with-values
                (lambda ()
-                 (#{syntax-type 439}#
-                   #{first 1833}#
-                   #{r 1798}#
-                   #{w 1799}#
-                   #{s 1800}#
-                   #{rib 1801}#
-                   #{mod 1802}#
+                 (#{syntax-type 4374}#
+                   #{first 25505}#
+                   #{r 24861}#
+                   #{w 24862}#
+                   #{s 24863}#
+                   #{rib 24864}#
+                   #{mod 24865}#
                    #t))
-               (lambda (#{ftype 1834}#
-                        #{fval 1835}#
-                        #{fe 1836}#
-                        #{fw 1837}#
-                        #{fs 1838}#
-                        #{fmod 1839}#)
-                 (if (memv #{ftype 1834}# '(lexical))
+               (lambda (#{ftype 25507}#
+                        #{fval 25508}#
+                        #{fe 25509}#
+                        #{fw 25510}#
+                        #{fs 25511}#
+                        #{fmod 25512}#)
+                 (if (eqv? #{ftype 25507}# 'lexical)
                    (values
                      'lexical-call
-                     #{fval 1835}#
-                     #{e 1797}#
-                     #{w 1799}#
-                     #{s 1800}#
-                     #{mod 1802}#)
-                   (if (memv #{ftype 1834}# '(global))
+                     #{fval 25508}#
+                     #{e 24860}#
+                     #{w 24862}#
+                     #{s 24863}#
+                     #{mod 24865}#)
+                   (if (eqv? #{ftype 25507}# 'global)
                      (values
                        'global-call
-                       (#{make-syntax-object 314}#
-                         #{fval 1835}#
-                         #{w 1799}#
-                         #{fmod 1839}#)
-                       #{e 1797}#
-                       #{w 1799}#
-                       #{s 1800}#
-                       #{mod 1802}#)
-                     (if (memv #{ftype 1834}# '(macro))
-                       (#{syntax-type 439}#
-                         (#{chi-macro 447}#
-                           #{fval 1835}#
-                           #{e 1797}#
-                           #{r 1798}#
-                           #{w 1799}#
-                           #{s 1800}#
-                           #{rib 1801}#
-                           #{mod 1802}#)
-                         #{r 1798}#
+                       (vector
+                         'syntax-object
+                         #{fval 25508}#
+                         #{w 24862}#
+                         #{fmod 25512}#)
+                       #{e 24860}#
+                       #{w 24862}#
+                       #{s 24863}#
+                       #{mod 24865}#)
+                     (if (eqv? #{ftype 25507}# 'macro)
+                       (#{syntax-type 4374}#
+                         (#{chi-macro 4378}#
+                           #{fval 25508}#
+                           #{e 24860}#
+                           #{r 24861}#
+                           #{w 24862}#
+                           #{s 24863}#
+                           #{rib 24864}#
+                           #{mod 24865}#)
+                         #{r 24861}#
                          '(())
-                         #{s 1800}#
-                         #{rib 1801}#
-                         #{mod 1802}#
-                         #{for-car? 1803}#)
-                       (if (memv #{ftype 1834}# '(module-ref))
+                         #{s 24863}#
+                         #{rib 24864}#
+                         #{mod 24865}#
+                         #{for-car? 24866}#)
+                       (if (eqv? #{ftype 25507}# 'module-ref)
                          (call-with-values
                            (lambda ()
-                             (#{fval 1835}# #{e 1797}# #{r 1798}# #{w 1799}#))
-                           (lambda (#{e 1851}#
-                                    #{r 1852}#
-                                    #{w 1853}#
-                                    #{s 1854}#
-                                    #{mod 1855}#)
-                             (#{syntax-type 439}#
-                               #{e 1851}#
-                               #{r 1852}#
-                               #{w 1853}#
-                               #{s 1854}#
-                               #{rib 1801}#
-                               #{mod 1855}#
-                               #{for-car? 1803}#)))
-                         (if (memv #{ftype 1834}# '(core))
+                             (#{fval 25508}#
+                               #{e 24860}#
+                               #{r 24861}#
+                               #{w 24862}#))
+                           (lambda (#{e 25533}#
+                                    #{r 25534}#
+                                    #{w 25535}#
+                                    #{s 25536}#
+                                    #{mod 25537}#)
+                             (#{syntax-type 4374}#
+                               #{e 25533}#
+                               #{r 25534}#
+                               #{w 25535}#
+                               #{s 25536}#
+                               #{rib 24864}#
+                               #{mod 25537}#
+                               #{for-car? 24866}#)))
+                         (if (eqv? #{ftype 25507}# 'core)
                            (values
                              'core-form
-                             #{fval 1835}#
-                             #{e 1797}#
-                             #{w 1799}#
-                             #{s 1800}#
-                             #{mod 1802}#)
-                           (if (memv #{ftype 1834}# '(local-syntax))
+                             #{fval 25508}#
+                             #{e 24860}#
+                             #{w 24862}#
+                             #{s 24863}#
+                             #{mod 24865}#)
+                           (if (eqv? #{ftype 25507}# 'local-syntax)
                              (values
                                'local-syntax-form
-                               #{fval 1835}#
-                               #{e 1797}#
-                               #{w 1799}#
-                               #{s 1800}#
-                               #{mod 1802}#)
-                             (if (memv #{ftype 1834}# '(begin))
+                               #{fval 25508}#
+                               #{e 24860}#
+                               #{w 24862}#
+                               #{s 24863}#
+                               #{mod 24865}#)
+                             (if (eqv? #{ftype 25507}# 'begin)
                                (values
                                  'begin-form
                                  #f
-                                 #{e 1797}#
-                                 #{w 1799}#
-                                 #{s 1800}#
-                                 #{mod 1802}#)
-                               (if (memv #{ftype 1834}# '(eval-when))
+                                 #{e 24860}#
+                                 #{w 24862}#
+                                 #{s 24863}#
+                                 #{mod 24865}#)
+                               (if (eqv? #{ftype 25507}# 'eval-when)
                                  (values
                                    'eval-when-form
                                    #f
-                                   #{e 1797}#
-                                   #{w 1799}#
-                                   #{s 1800}#
-                                   #{mod 1802}#)
-                                 (if (memv #{ftype 1834}# '(define))
-                                   (let ((#{tmp 1867}#
+                                   #{e 24860}#
+                                   #{w 24862}#
+                                   #{s 24863}#
+                                   #{mod 24865}#)
+                                 (if (eqv? #{ftype 25507}# 'define)
+                                   (let ((#{tmp 25554}#
                                            ($sc-dispatch
-                                             #{e 1797}#
+                                             #{e 24860}#
                                              '(_ any any))))
-                                     (if (if #{tmp 1867}#
+                                     (if (if #{tmp 25554}#
                                            (@apply
-                                             (lambda (#{name 1870}#
-                                                      #{val 1871}#)
-                                               (#{id? 353}# #{name 1870}#))
-                                             #{tmp 1867}#)
+                                             (lambda (#{name 25558}#
+                                                      #{val 25559}#)
+                                               (if (symbol? #{name 25558}#)
+                                                 #t
+                                                 (if (if (vector?
+                                                           #{name 25558}#)
+                                                       (if (= (vector-length
+                                                                #{name 25558}#)
+                                                              4)
+                                                         (eq? (vector-ref
+                                                                #{name 25558}#
+                                                                0)
+                                                              'syntax-object)
+                                                         #f)
+                                                       #f)
+                                                   (symbol?
+                                                     (vector-ref
+                                                       #{name 25558}#
+                                                       1))
+                                                   #f)))
+                                             #{tmp 25554}#)
                                            #f)
                                        (@apply
-                                         (lambda (#{name 1874}# #{val 1875}#)
+                                         (lambda (#{name 25586}# #{val 25587}#)
                                            (values
                                              'define-form
-                                             #{name 1874}#
-                                             #{val 1875}#
-                                             #{w 1799}#
-                                             #{s 1800}#
-                                             #{mod 1802}#))
-                                         #{tmp 1867}#)
-                                       (let ((#{tmp 1876}#
+                                             #{name 25586}#
+                                             #{val 25587}#
+                                             #{w 24862}#
+                                             #{s 24863}#
+                                             #{mod 24865}#))
+                                         #{tmp 25554}#)
+                                       (let ((#{tmp 25588}#
                                                ($sc-dispatch
-                                                 #{e 1797}#
+                                                 #{e 24860}#
                                                  '(_ (any . any)
                                                      any
                                                      .
                                                      each-any))))
-                                         (if (if #{tmp 1876}#
+                                         (if (if #{tmp 25588}#
                                                (@apply
-                                                 (lambda (#{name 1881}#
-                                                          #{args 1882}#
-                                                          #{e1 1883}#
-                                                          #{e2 1884}#)
-                                                   (if (#{id? 353}#
-                                                         #{name 1881}#)
-                                                     (#{valid-bound-ids? 421}#
-                                                       (#{lambda-var-list 471}#
-                                                         #{args 1882}#))
+                                                 (lambda (#{name 25592}#
+                                                          #{args 25593}#
+                                                          #{e1 25594}#
+                                                          #{e2 25595}#)
+                                                   (if (if (symbol?
+                                                             #{name 25592}#)
+                                                         #t
+                                                         (if (if (vector?
+                                                                   #{name 
25592}#)
+                                                               (if (= 
(vector-length
+                                                                        #{name 
25592}#)
+                                                                      4)
+                                                                 (eq? 
(vector-ref
+                                                                        #{name 
25592}#
+                                                                        0)
+                                                                      
'syntax-object)
+                                                                 #f)
+                                                               #f)
+                                                           (symbol?
+                                                             (vector-ref
+                                                               #{name 25592}#
+                                                               1))
+                                                           #f))
+                                                     (#{valid-bound-ids? 4365}#
+                                                       (#{lambda-var-list 
4390}#
+                                                         #{args 25593}#))
                                                      #f))
-                                                 #{tmp 1876}#)
+                                                 #{tmp 25588}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{name 1891}#
-                                                      #{args 1892}#
-                                                      #{e1 1893}#
-                                                      #{e2 1894}#)
+                                             (lambda (#{name 26071}#
+                                                      #{args 26072}#
+                                                      #{e1 26073}#
+                                                      #{e2 26074}#)
                                                (values
                                                  'define-form
-                                                 (#{wrap 427}#
-                                                   #{name 1891}#
-                                                   #{w 1799}#
-                                                   #{mod 1802}#)
-                                                 (#{decorate-source 267}#
-                                                   (cons '#(syntax-object
-                                                            lambda
-                                                            ((top)
-                                                             #(ribcage
-                                                               #(name
-                                                                 args
-                                                                 e1
-                                                                 e2)
-                                                               #((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                               #("i1887"
-                                                                 "i1888"
-                                                                 "i1889"
-                                                                 "i1890"))
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               #(ftype
-                                                                 fval
-                                                                 fe
-                                                                 fw
-                                                                 fs
-                                                                 fmod)
-                                                               #((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                               #("i1840"
-                                                                 "i1841"
-                                                                 "i1842"
-                                                                 "i1843"
-                                                                 "i1844"
-                                                                 "i1845"))
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               #(first)
-                                                               #((top))
-                                                               #("i1832"))
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               ()
-                                                               ()
-                                                               ())
-                                                             #(ribcage
-                                                               #(e
-                                                                 r
-                                                                 w
-                                                                 s
-                                                                 rib
-                                                                 mod
-                                                                 for-car?)
-                                                               #((top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top)
-                                                                 (top))
-                                                               #("i1804"
-                                                                 "i1805"
-                                                                 "i1806"
-                                                                 "i1807"
-                                                                 "i1808"
-                                                                 "i1809"
-                                                                 "i1810"))
-                                                             #(ribcage
-                                                               (lambda-var-list
-                                                                 gen-var
-                                                                 strip
-                                                                 
chi-lambda-case
-                                                                 
lambda*-formals
-                                                                 
chi-simple-lambda
-                                                                 lambda-formals
-                                                                 ellipsis?
-                                                                 chi-void
-                                                                 
eval-local-transformer
-                                                                 
chi-local-syntax
-                                                                 chi-body
-                                                                 chi-macro
-                                                                 chi-call
-                                                                 chi-expr
-                                                                 chi
-                                                                 syntax-type
-                                                                 chi-when-list
-                                                                 
chi-install-global
-                                                                 
chi-top-sequence
-                                                                 chi-sequence
-                                                                 source-wrap
-                                                                 wrap
-                                                                 
bound-id-member?
-                                                                 
distinct-bound-ids?
-                                                                 
valid-bound-ids?
-                                                                 bound-id=?
-                                                                 free-id=?
-                                                                 id-var-name
-                                                                 same-marks?
-                                                                 join-marks
-                                                                 join-wraps
-                                                                 smart-append
-                                                                 
make-binding-wrap
-                                                                 
extend-ribcage!
-                                                                 
make-empty-ribcage
-                                                                 new-mark
-                                                                 anti-mark
-                                                                 the-anti-mark
-                                                                 top-marked?
-                                                                 top-wrap
-                                                                 empty-wrap
-                                                                 
set-ribcage-labels!
-                                                                 
set-ribcage-marks!
-                                                                 
set-ribcage-symnames!
-                                                                 ribcage-labels
-                                                                 ribcage-marks
-                                                                 
ribcage-symnames
-                                                                 ribcage?
-                                                                 make-ribcage
-                                                                 gen-labels
-                                                                 gen-label
-                                                                 make-rename
-                                                                 rename-marks
-                                                                 rename-new
-                                                                 rename-old
-                                                                 subst-rename?
-                                                                 wrap-subst
-                                                                 wrap-marks
-                                                                 make-wrap
-                                                                 
id-sym-name&marks
-                                                                 id-sym-name
-                                                                 id?
-                                                                 nonsymbol-id?
-                                                                 global-extend
-                                                                 lookup
-                                                                 
macros-only-env
-                                                                 extend-var-env
-                                                                 extend-env
-                                                                 null-env
-                                                                 binding-value
-                                                                 binding-type
-                                                                 make-binding
-                                                                 arg-check
-                                                                 
source-annotation
-                                                                 no-source
-                                                                 
set-syntax-object-module!
-                                                                 
set-syntax-object-wrap!
-                                                                 
set-syntax-object-expression!
-                                                                 
syntax-object-module
-                                                                 
syntax-object-wrap
-                                                                 
syntax-object-expression
-                                                                 syntax-object?
-                                                                 
make-syntax-object
-                                                                 
build-lexical-var
-                                                                 build-letrec
-                                                                 
build-named-let
-                                                                 build-let
-                                                                 build-sequence
-                                                                 build-data
-                                                                 build-primref
-                                                                 build-primcall
-                                                                 
build-lambda-case
-                                                                 
build-case-lambda
-                                                                 
build-simple-lambda
-                                                                 
build-global-definition
-                                                                 
build-global-assignment
-                                                                 
build-global-reference
-                                                                 
analyze-variable
-                                                                 
build-lexical-assignment
-                                                                 
build-lexical-reference
-                                                                 build-dynlet
-                                                                 
build-conditional
-                                                                 build-call
-                                                                 build-void
-                                                                 
maybe-name-value!
-                                                                 
decorate-source
-                                                                 
get-global-definition-hook
-                                                                 
put-global-definition-hook
-                                                                 gensym-hook
-                                                                 
local-eval-hook
-                                                                 
top-level-eval-hook
-                                                                 fx<
-                                                                 fx=
-                                                                 fx-
-                                                                 fx+
-                                                                 
set-lambda-meta!
-                                                                 lambda-meta
-                                                                 lambda?
-                                                                 make-dynlet
-                                                                 make-letrec
-                                                                 make-let
-                                                                 
make-lambda-case
-                                                                 make-lambda
-                                                                 make-seq
-                                                                 make-primcall
-                                                                 make-call
-                                                                 
make-conditional
-                                                                 
make-toplevel-define
-                                                                 
make-toplevel-set
-                                                                 
make-toplevel-ref
-                                                                 
make-module-set
-                                                                 
make-module-ref
-                                                                 
make-lexical-set
-                                                                 
make-lexical-ref
-                                                                 
make-primitive-ref
-                                                                 make-const
-                                                                 make-void)
-                                                               ((top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top)
-                                                                (top))
-                                                               ("i470"
-                                                                "i468"
-                                                                "i466"
-                                                                "i464"
-                                                                "i462"
-                                                                "i460"
-                                                                "i458"
-                                                                "i456"
-                                                                "i454"
-                                                                "i452"
-                                                                "i450"
-                                                                "i448"
-                                                                "i446"
-                                                                "i444"
-                                                                "i442"
-                                                                "i440"
-                                                                "i438"
-                                                                "i436"
-                                                                "i434"
-                                                                "i432"
-                                                                "i430"
-                                                                "i428"
-                                                                "i426"
-                                                                "i424"
-                                                                "i422"
-                                                                "i420"
-                                                                "i418"
-                                                                "i416"
-                                                                "i414"
-                                                                "i412"
-                                                                "i410"
-                                                                "i408"
-                                                                "i406"
-                                                                "i404"
-                                                                "i402"
-                                                                "i401"
-                                                                "i399"
-                                                                "i396"
-                                                                "i395"
-                                                                "i394"
-                                                                "i392"
-                                                                "i391"
-                                                                "i389"
-                                                                "i387"
-                                                                "i385"
-                                                                "i383"
-                                                                "i381"
-                                                                "i379"
-                                                                "i377"
-                                                                "i375"
-                                                                "i372"
-                                                                "i370"
-                                                                "i369"
-                                                                "i367"
-                                                                "i365"
-                                                                "i363"
-                                                                "i361"
-                                                                "i360"
-                                                                "i359"
-                                                                "i358"
-                                                                "i356"
-                                                                "i355"
-                                                                "i352"
-                                                                "i350"
-                                                                "i348"
-                                                                "i346"
-                                                                "i344"
-                                                                "i342"
-                                                                "i340"
-                                                                "i339"
-                                                                "i338"
-                                                                "i336"
-                                                                "i334"
-                                                                "i333"
-                                                                "i330"
-                                                                "i329"
-                                                                "i327"
-                                                                "i325"
-                                                                "i323"
-                                                                "i321"
-                                                                "i319"
-                                                                "i317"
-                                                                "i315"
-                                                                "i313"
-                                                                "i311"
-                                                                "i308"
-                                                                "i306"
-                                                                "i304"
-                                                                "i302"
-                                                                "i300"
-                                                                "i298"
-                                                                "i296"
-                                                                "i294"
-                                                                "i292"
-                                                                "i290"
-                                                                "i288"
-                                                                "i286"
-                                                                "i284"
-                                                                "i282"
-                                                                "i280"
-                                                                "i278"
-                                                                "i276"
-                                                                "i274"
-                                                                "i272"
-                                                                "i270"
-                                                                "i268"
-                                                                "i266"
-                                                                "i264"
-                                                                "i262"
-                                                                "i261"
-                                                                "i258"
-                                                                "i256"
-                                                                "i255"
-                                                                "i254"
-                                                                "i253"
-                                                                "i252"
-                                                                "i250"
-                                                                "i248"
-                                                                "i246"
-                                                                "i243"
-                                                                "i241"
-                                                                "i239"
-                                                                "i237"
-                                                                "i235"
-                                                                "i233"
-                                                                "i231"
-                                                                "i229"
-                                                                "i227"
-                                                                "i225"
-                                                                "i223"
-                                                                "i221"
-                                                                "i219"
-                                                                "i217"
-                                                                "i215"
-                                                                "i213"
-                                                                "i211"
-                                                                "i209"
-                                                                "i207"))
-                                                             #(ribcage
-                                                               
(define-structure
-                                                                 
define-expansion-accessors
-                                                                 
define-expansion-constructors)
-                                                               ((top)
-                                                                (top)
-                                                                (top))
-                                                               ("i45"
-                                                                "i44"
-                                                                "i43")))
-                                                            (hygiene guile))
-                                                         (#{wrap 427}#
-                                                           (cons #{args 1892}#
-                                                                 (cons #{e1 
1893}#
-                                                                       #{e2 
1894}#))
-                                                           #{w 1799}#
-                                                           #{mod 1802}#))
-                                                   #{s 1800}#)
+                                                 (if (if (null? (car #{w 
24862}#))
+                                                       (null? (cdr #{w 
24862}#))
+                                                       #f)
+                                                   #{name 26071}#
+                                                   (if (if (vector?
+                                                             #{name 26071}#)
+                                                         (if (= (vector-length
+                                                                  #{name 
26071}#)
+                                                                4)
+                                                           (eq? (vector-ref
+                                                                  #{name 
26071}#
+                                                                  0)
+                                                                'syntax-object)
+                                                           #f)
+                                                         #f)
+                                                     (let ((#{expression 
26104}#
+                                                             (vector-ref
+                                                               #{name 26071}#
+                                                               1))
+                                                           (#{wrap 26105}#
+                                                             (let ((#{w2 
26115}#
+                                                                     
(vector-ref
+                                                                       #{name 
26071}#
+                                                                       2)))
+                                                               (let ((#{m1 
26116}#
+                                                                       (car 
#{w 24862}#))
+                                                                     (#{s1 
26117}#
+                                                                       (cdr 
#{w 24862}#)))
+                                                                 (if (null? 
#{m1 26116}#)
+                                                                   (if (null? 
#{s1 26117}#)
+                                                                     #{w2 
26115}#
+                                                                     (cons 
(car #{w2 26115}#)
+                                                                           
(let ((#{m2 26134}#
+                                                                               
    (cdr #{w2 26115}#)))
+                                                                             
(if (null? #{m2 26134}#)
+                                                                               
#{s1 26117}#
+                                                                               
(append
+                                                                               
  #{s1 26117}#
+                                                                               
  #{m2 26134}#)))))
+                                                                   (cons (let 
((#{m2 26142}#
+                                                                               
  (car #{w2 26115}#)))
+                                                                           (if 
(null? #{m2 26142}#)
+                                                                             
#{m1 26116}#
+                                                                             
(append
+                                                                               
#{m1 26116}#
+                                                                               
#{m2 26142}#)))
+                                                                         (let 
((#{m2 26150}#
+                                                                               
  (cdr #{w2 26115}#)))
+                                                                           (if 
(null? #{m2 26150}#)
+                                                                             
#{s1 26117}#
+                                                                             
(append
+                                                                               
#{s1 26117}#
+                                                                               
#{m2 26150}#))))))))
+                                                           (#{module 26106}#
+                                                             (vector-ref
+                                                               #{name 26071}#
+                                                               3)))
+                                                       (vector
+                                                         'syntax-object
+                                                         #{expression 26104}#
+                                                         #{wrap 26105}#
+                                                         #{module 26106}#))
+                                                     (if (null? #{name 26071}#)
+                                                       #{name 26071}#
+                                                       (vector
+                                                         'syntax-object
+                                                         #{name 26071}#
+                                                         #{w 24862}#
+                                                         #{mod 24865}#))))
+                                                 (let ((#{e 26176}#
+                                                         (cons '#(syntax-object
+                                                                  lambda
+                                                                  ((top)
+                                                                   #(ribcage
+                                                                     #(name
+                                                                       args
+                                                                       e1
+                                                                       e2)
+                                                                     #((top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top))
+                                                                     #("i1888"
+                                                                       "i1889"
+                                                                       "i1890"
+                                                                       
"i1891"))
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     #(ftype
+                                                                       fval
+                                                                       fe
+                                                                       fw
+                                                                       fs
+                                                                       fmod)
+                                                                     #((top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top))
+                                                                     #("i1841"
+                                                                       "i1842"
+                                                                       "i1843"
+                                                                       "i1844"
+                                                                       "i1845"
+                                                                       
"i1846"))
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     #(first)
+                                                                     #((top))
+                                                                     
#("i1833"))
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ())
+                                                                   #(ribcage
+                                                                     #(e
+                                                                       r
+                                                                       w
+                                                                       s
+                                                                       rib
+                                                                       mod
+                                                                       
for-car?)
+                                                                     #((top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top)
+                                                                       (top))
+                                                                     #("i1805"
+                                                                       "i1806"
+                                                                       "i1807"
+                                                                       "i1808"
+                                                                       "i1809"
+                                                                       "i1810"
+                                                                       
"i1811"))
+                                                                   #(ribcage
+                                                                     
(lambda-var-list
+                                                                       gen-var
+                                                                       strip
+                                                                       
chi-lambda-case
+                                                                       
lambda*-formals
+                                                                       
chi-simple-lambda
+                                                                       
lambda-formals
+                                                                       
ellipsis?
+                                                                       chi-void
+                                                                       
eval-local-transformer
+                                                                       
chi-local-syntax
+                                                                       chi-body
+                                                                       
chi-macro
+                                                                       chi-call
+                                                                       chi-expr
+                                                                       chi
+                                                                       
syntax-type
+                                                                       
chi-when-list
+                                                                       
chi-install-global
+                                                                       
chi-top-sequence
+                                                                       
chi-sequence
+                                                                       
source-wrap
+                                                                       wrap
+                                                                       
bound-id-member?
+                                                                       
distinct-bound-ids?
+                                                                       
valid-bound-ids?
+                                                                       
bound-id=?
+                                                                       
free-id=?
+                                                                       
id-var-name
+                                                                       
same-marks?
+                                                                       
join-marks
+                                                                       
join-wraps
+                                                                       
smart-append
+                                                                       
make-binding-wrap
+                                                                       
extend-ribcage!
+                                                                       
make-empty-ribcage
+                                                                       new-mark
+                                                                       
anti-mark
+                                                                       
the-anti-mark
+                                                                       
top-marked?
+                                                                       top-wrap
+                                                                       
empty-wrap
+                                                                       
set-ribcage-labels!
+                                                                       
set-ribcage-marks!
+                                                                       
set-ribcage-symnames!
+                                                                       
ribcage-labels
+                                                                       
ribcage-marks
+                                                                       
ribcage-symnames
+                                                                       ribcage?
+                                                                       
make-ribcage
+                                                                       
gen-labels
+                                                                       
gen-label
+                                                                       
make-rename
+                                                                       
rename-marks
+                                                                       
rename-new
+                                                                       
rename-old
+                                                                       
subst-rename?
+                                                                       
wrap-subst
+                                                                       
wrap-marks
+                                                                       
make-wrap
+                                                                       
id-sym-name&marks
+                                                                       
id-sym-name
+                                                                       id?
+                                                                       
nonsymbol-id?
+                                                                       
global-extend
+                                                                       lookup
+                                                                       
macros-only-env
+                                                                       
extend-var-env
+                                                                       
extend-env
+                                                                       null-env
+                                                                       
binding-value
+                                                                       
binding-type
+                                                                       
make-binding
+                                                                       
arg-check
+                                                                       
source-annotation
+                                                                       
no-source
+                                                                       
set-syntax-object-module!
+                                                                       
set-syntax-object-wrap!
+                                                                       
set-syntax-object-expression!
+                                                                       
syntax-object-module
+                                                                       
syntax-object-wrap
+                                                                       
syntax-object-expression
+                                                                       
syntax-object?
+                                                                       
make-syntax-object
+                                                                       
build-lexical-var
+                                                                       
build-letrec
+                                                                       
build-named-let
+                                                                       
build-let
+                                                                       
build-sequence
+                                                                       
build-data
+                                                                       
build-primref
+                                                                       
build-primcall
+                                                                       
build-lambda-case
+                                                                       
build-case-lambda
+                                                                       
build-simple-lambda
+                                                                       
build-global-definition
+                                                                       
build-global-assignment
+                                                                       
build-global-reference
+                                                                       
analyze-variable
+                                                                       
build-lexical-assignment
+                                                                       
build-lexical-reference
+                                                                       
build-dynlet
+                                                                       
build-conditional
+                                                                       
build-call
+                                                                       
build-void
+                                                                       
maybe-name-value!
+                                                                       
decorate-source
+                                                                       
get-global-definition-hook
+                                                                       
put-global-definition-hook
+                                                                       
gensym-hook
+                                                                       
local-eval-hook
+                                                                       
top-level-eval-hook
+                                                                       fx<
+                                                                       fx=
+                                                                       fx-
+                                                                       fx+
+                                                                       
set-lambda-meta!
+                                                                       
lambda-meta
+                                                                       lambda?
+                                                                       
make-dynlet
+                                                                       
make-letrec
+                                                                       make-let
+                                                                       
make-lambda-case
+                                                                       
make-lambda
+                                                                       make-seq
+                                                                       
make-primcall
+                                                                       
make-call
+                                                                       
make-conditional
+                                                                       
make-toplevel-define
+                                                                       
make-toplevel-set
+                                                                       
make-toplevel-ref
+                                                                       
make-module-set
+                                                                       
make-module-ref
+                                                                       
make-lexical-set
+                                                                       
make-lexical-ref
+                                                                       
make-primitive-ref
+                                                                       
make-const
+                                                                       
make-void)
+                                                                     ((top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top)
+                                                                      (top))
+                                                                     ("i471"
+                                                                      "i469"
+                                                                      "i467"
+                                                                      "i465"
+                                                                      "i463"
+                                                                      "i461"
+                                                                      "i459"
+                                                                      "i457"
+                                                                      "i455"
+                                                                      "i453"
+                                                                      "i451"
+                                                                      "i449"
+                                                                      "i447"
+                                                                      "i445"
+                                                                      "i443"
+                                                                      "i441"
+                                                                      "i439"
+                                                                      "i437"
+                                                                      "i435"
+                                                                      "i433"
+                                                                      "i431"
+                                                                      "i429"
+                                                                      "i427"
+                                                                      "i425"
+                                                                      "i423"
+                                                                      "i421"
+                                                                      "i419"
+                                                                      "i417"
+                                                                      "i415"
+                                                                      "i413"
+                                                                      "i411"
+                                                                      "i409"
+                                                                      "i407"
+                                                                      "i405"
+                                                                      "i403"
+                                                                      "i402"
+                                                                      "i400"
+                                                                      "i397"
+                                                                      "i396"
+                                                                      "i395"
+                                                                      "i393"
+                                                                      "i392"
+                                                                      "i390"
+                                                                      "i388"
+                                                                      "i386"
+                                                                      "i384"
+                                                                      "i382"
+                                                                      "i380"
+                                                                      "i378"
+                                                                      "i376"
+                                                                      "i373"
+                                                                      "i371"
+                                                                      "i370"
+                                                                      "i368"
+                                                                      "i366"
+                                                                      "i364"
+                                                                      "i362"
+                                                                      "i361"
+                                                                      "i360"
+                                                                      "i359"
+                                                                      "i357"
+                                                                      "i356"
+                                                                      "i353"
+                                                                      "i351"
+                                                                      "i349"
+                                                                      "i347"
+                                                                      "i345"
+                                                                      "i343"
+                                                                      "i341"
+                                                                      "i340"
+                                                                      "i339"
+                                                                      "i337"
+                                                                      "i335"
+                                                                      "i334"
+                                                                      "i331"
+                                                                      "i330"
+                                                                      "i328"
+                                                                      "i326"
+                                                                      "i324"
+                                                                      "i322"
+                                                                      "i320"
+                                                                      "i318"
+                                                                      "i316"
+                                                                      "i314"
+                                                                      "i312"
+                                                                      "i309"
+                                                                      "i307"
+                                                                      "i305"
+                                                                      "i303"
+                                                                      "i301"
+                                                                      "i299"
+                                                                      "i297"
+                                                                      "i295"
+                                                                      "i293"
+                                                                      "i291"
+                                                                      "i289"
+                                                                      "i287"
+                                                                      "i285"
+                                                                      "i283"
+                                                                      "i281"
+                                                                      "i279"
+                                                                      "i277"
+                                                                      "i275"
+                                                                      "i273"
+                                                                      "i271"
+                                                                      "i269"
+                                                                      "i267"
+                                                                      "i265"
+                                                                      "i263"
+                                                                      "i262"
+                                                                      "i259"
+                                                                      "i257"
+                                                                      "i256"
+                                                                      "i255"
+                                                                      "i254"
+                                                                      "i253"
+                                                                      "i251"
+                                                                      "i249"
+                                                                      "i247"
+                                                                      "i244"
+                                                                      "i242"
+                                                                      "i240"
+                                                                      "i238"
+                                                                      "i236"
+                                                                      "i234"
+                                                                      "i232"
+                                                                      "i230"
+                                                                      "i228"
+                                                                      "i226"
+                                                                      "i224"
+                                                                      "i222"
+                                                                      "i220"
+                                                                      "i218"
+                                                                      "i216"
+                                                                      "i214"
+                                                                      "i212"
+                                                                      "i210"
+                                                                      "i208"))
+                                                                   #(ribcage
+                                                                     
(define-structure
+                                                                       
define-expansion-accessors
+                                                                       
define-expansion-constructors)
+                                                                     ((top)
+                                                                      (top)
+                                                                      (top))
+                                                                     ("i46"
+                                                                      "i45"
+                                                                      "i44")))
+                                                                  (hygiene
+                                                                    guile))
+                                                               (let ((#{x 
26180}#
+                                                                       (cons 
#{args 26072}#
+                                                                             
(cons #{e1 26073}#
+                                                                               
    #{e2 26074}#))))
+                                                                 (if (if 
(null? (car #{w 24862}#))
+                                                                       (null? 
(cdr #{w 24862}#))
+                                                                       #f)
+                                                                   #{x 26180}#
+                                                                   (if (if 
(vector?
+                                                                             
#{x 26180}#)
+                                                                         (if 
(= (vector-length
+                                                                               
   #{x 26180}#)
+                                                                               
 4)
+                                                                           
(eq? (vector-ref
+                                                                               
   #{x 26180}#
+                                                                               
   0)
+                                                                               
 'syntax-object)
+                                                                           #f)
+                                                                         #f)
+                                                                     (let 
((#{expression 26198}#
+                                                                             
(vector-ref
+                                                                               
#{x 26180}#
+                                                                               
1))
+                                                                           
(#{wrap 26199}#
+                                                                             
(let ((#{w2 26207}#
+                                                                               
      (vector-ref
+                                                                               
        #{x 26180}#
+                                                                               
        2)))
+                                                                               
(let ((#{m1 26208}#
+                                                                               
        (car #{w 24862}#))
+                                                                               
      (#{s1 26209}#
+                                                                               
        (cdr #{w 24862}#)))
+                                                                               
  (if (null? #{m1 26208}#)
+                                                                               
    (if (null? #{s1 26209}#)
+                                                                               
      #{w2 26207}#
+                                                                               
      (cons (car #{w2 26207}#)
+                                                                               
            (let ((#{m2 26224}#
+                                                                               
                    (cdr #{w2 26207}#)))
+                                                                               
              (if (null? #{m2 26224}#)
+                                                                               
                #{s1 26209}#
+                                                                               
                (append
+                                                                               
                  #{s1 26209}#
+                                                                               
                  #{m2 26224}#)))))
+                                                                               
    (cons (let ((#{m2 26232}#
+                                                                               
                  (car #{w2 26207}#)))
+                                                                               
            (if (null? #{m2 26232}#)
+                                                                               
              #{m1 26208}#
+                                                                               
              (append
+                                                                               
                #{m1 26208}#
+                                                                               
                #{m2 26232}#)))
+                                                                               
          (let ((#{m2 26240}#
+                                                                               
                  (cdr #{w2 26207}#)))
+                                                                               
            (if (null? #{m2 26240}#)
+                                                                               
              #{s1 26209}#
+                                                                               
              (append
+                                                                               
                #{s1 26209}#
+                                                                               
                #{m2 26240}#))))))))
+                                                                           
(#{module 26200}#
+                                                                             
(vector-ref
+                                                                               
#{x 26180}#
+                                                                               
3)))
+                                                                       (vector
+                                                                         
'syntax-object
+                                                                         
#{expression 26198}#
+                                                                         
#{wrap 26199}#
+                                                                         
#{module 26200}#))
+                                                                     (if 
(null? #{x 26180}#)
+                                                                       #{x 
26180}#
+                                                                       (vector
+                                                                         
'syntax-object
+                                                                         #{x 
26180}#
+                                                                         #{w 
24862}#
+                                                                         #{mod 
24865}#))))))))
+                                                   (begin
+                                                     (if (if (pair? #{e 
26176}#)
+                                                           #{s 24863}#
+                                                           #f)
+                                                       (set-source-properties!
+                                                         #{e 26176}#
+                                                         #{s 24863}#))
+                                                     #{e 26176}#))
                                                  '(())
-                                                 #{s 1800}#
-                                                 #{mod 1802}#))
-                                             #{tmp 1876}#)
-                                           (let ((#{tmp 1897}#
+                                                 #{s 24863}#
+                                                 #{mod 24865}#))
+                                             #{tmp 25588}#)
+                                           (let ((#{tmp 26259}#
                                                    ($sc-dispatch
-                                                     #{e 1797}#
+                                                     #{e 24860}#
                                                      '(_ any))))
-                                             (if (if #{tmp 1897}#
+                                             (if (if #{tmp 26259}#
                                                    (@apply
-                                                     (lambda (#{name 1899}#)
-                                                       (#{id? 353}#
-                                                         #{name 1899}#))
-                                                     #{tmp 1897}#)
+                                                     (lambda (#{name 26263}#)
+                                                       (if (symbol?
+                                                             #{name 26263}#)
+                                                         #t
+                                                         (if (if (vector?
+                                                                   #{name 
26263}#)
+                                                               (if (= 
(vector-length
+                                                                        #{name 
26263}#)
+                                                                      4)
+                                                                 (eq? 
(vector-ref
+                                                                        #{name 
26263}#
+                                                                        0)
+                                                                      
'syntax-object)
+                                                                 #f)
+                                                               #f)
+                                                           (symbol?
+                                                             (vector-ref
+                                                               #{name 26263}#
+                                                               1))
+                                                           #f)))
+                                                     #{tmp 26259}#)
                                                    #f)
                                                (@apply
-                                                 (lambda (#{name 1901}#)
+                                                 (lambda (#{name 26290}#)
                                                    (values
                                                      'define-form
-                                                     (#{wrap 427}#
-                                                       #{name 1901}#
-                                                       #{w 1799}#
-                                                       #{mod 1802}#)
+                                                     (if (if (null? (car #{w 
24862}#))
+                                                           (null? (cdr #{w 
24862}#))
+                                                           #f)
+                                                       #{name 26290}#
+                                                       (if (if (vector?
+                                                                 #{name 
26290}#)
+                                                             (if (= 
(vector-length
+                                                                      #{name 
26290}#)
+                                                                    4)
+                                                               (eq? (vector-ref
+                                                                      #{name 
26290}#
+                                                                      0)
+                                                                    
'syntax-object)
+                                                               #f)
+                                                             #f)
+                                                         (let ((#{expression 
26320}#
+                                                                 (vector-ref
+                                                                   #{name 
26290}#
+                                                                   1))
+                                                               (#{wrap 26321}#
+                                                                 (let ((#{w2 
26331}#
+                                                                         
(vector-ref
+                                                                           
#{name 26290}#
+                                                                           2)))
+                                                                   (let ((#{m1 
26332}#
+                                                                           
(car #{w 24862}#))
+                                                                         (#{s1 
26333}#
+                                                                           
(cdr #{w 24862}#)))
+                                                                     (if 
(null? #{m1 26332}#)
+                                                                       (if 
(null? #{s1 26333}#)
+                                                                         #{w2 
26331}#
+                                                                         (cons 
(car #{w2 26331}#)
+                                                                               
(let ((#{m2 26350}#
+                                                                               
        (cdr #{w2 26331}#)))
+                                                                               
  (if (null? #{m2 26350}#)
+                                                                               
    #{s1 26333}#
+                                                                               
    (append
+                                                                               
      #{s1 26333}#
+                                                                               
      #{m2 26350}#)))))
+                                                                       (cons 
(let ((#{m2 26358}#
+                                                                               
      (car #{w2 26331}#)))
+                                                                               
(if (null? #{m2 26358}#)
+                                                                               
  #{m1 26332}#
+                                                                               
  (append
+                                                                               
    #{m1 26332}#
+                                                                               
    #{m2 26358}#)))
+                                                                             
(let ((#{m2 26366}#
+                                                                               
      (cdr #{w2 26331}#)))
+                                                                               
(if (null? #{m2 26366}#)
+                                                                               
  #{s1 26333}#
+                                                                               
  (append
+                                                                               
    #{s1 26333}#
+                                                                               
    #{m2 26366}#))))))))
+                                                               (#{module 
26322}#
+                                                                 (vector-ref
+                                                                   #{name 
26290}#
+                                                                   3)))
+                                                           (vector
+                                                             'syntax-object
+                                                             #{expression 
26320}#
+                                                             #{wrap 26321}#
+                                                             #{module 26322}#))
+                                                         (if (null? #{name 
26290}#)
+                                                           #{name 26290}#
+                                                           (vector
+                                                             'syntax-object
+                                                             #{name 26290}#
+                                                             #{w 24862}#
+                                                             #{mod 24865}#))))
                                                      '(#(syntax-object
                                                          if
                                                          ((top)
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1900"))
+                                                            #("i1901"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -2214,17 +2680,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1840"
-                                                              "i1841"
+                                                            #("i1841"
                                                               "i1842"
                                                               "i1843"
                                                               "i1844"
-                                                              "i1845"))
+                                                              "i1845"
+                                                              "i1846"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1832"))
+                                                            #("i1833"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -2243,13 +2709,13 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1804"
-                                                              "i1805"
+                                                            #("i1805"
                                                               "i1806"
                                                               "i1807"
                                                               "i1808"
                                                               "i1809"
-                                                              "i1810"))
+                                                              "i1810"
+                                                              "i1811"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
@@ -2527,152 +2993,152 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i470"
-                                                             "i468"
-                                                             "i466"
-                                                             "i464"
-                                                             "i462"
-                                                             "i460"
-                                                             "i458"
-                                                             "i456"
-                                                             "i454"
-                                                             "i452"
-                                                             "i450"
-                                                             "i448"
-                                                             "i446"
-                                                             "i444"
-                                                             "i442"
-                                                             "i440"
-                                                             "i438"
-                                                             "i436"
-                                                             "i434"
-                                                             "i432"
-                                                             "i430"
-                                                             "i428"
-                                                             "i426"
-                                                             "i424"
-                                                             "i422"
-                                                             "i420"
-                                                             "i418"
-                                                             "i416"
-                                                             "i414"
-                                                             "i412"
-                                                             "i410"
-                                                             "i408"
-                                                             "i406"
-                                                             "i404"
+                                                            ("i471"
+                                                             "i469"
+                                                             "i467"
+                                                             "i465"
+                                                             "i463"
+                                                             "i461"
+                                                             "i459"
+                                                             "i457"
+                                                             "i455"
+                                                             "i453"
+                                                             "i451"
+                                                             "i449"
+                                                             "i447"
+                                                             "i445"
+                                                             "i443"
+                                                             "i441"
+                                                             "i439"
+                                                             "i437"
+                                                             "i435"
+                                                             "i433"
+                                                             "i431"
+                                                             "i429"
+                                                             "i427"
+                                                             "i425"
+                                                             "i423"
+                                                             "i421"
+                                                             "i419"
+                                                             "i417"
+                                                             "i415"
+                                                             "i413"
+                                                             "i411"
+                                                             "i409"
+                                                             "i407"
+                                                             "i405"
+                                                             "i403"
                                                              "i402"
-                                                             "i401"
-                                                             "i399"
+                                                             "i400"
+                                                             "i397"
                                                              "i396"
                                                              "i395"
-                                                             "i394"
+                                                             "i393"
                                                              "i392"
-                                                             "i391"
-                                                             "i389"
-                                                             "i387"
-                                                             "i385"
-                                                             "i383"
-                                                             "i381"
-                                                             "i379"
-                                                             "i377"
-                                                             "i375"
-                                                             "i372"
+                                                             "i390"
+                                                             "i388"
+                                                             "i386"
+                                                             "i384"
+                                                             "i382"
+                                                             "i380"
+                                                             "i378"
+                                                             "i376"
+                                                             "i373"
+                                                             "i371"
                                                              "i370"
-                                                             "i369"
-                                                             "i367"
-                                                             "i365"
-                                                             "i363"
+                                                             "i368"
+                                                             "i366"
+                                                             "i364"
+                                                             "i362"
                                                              "i361"
                                                              "i360"
                                                              "i359"
-                                                             "i358"
+                                                             "i357"
                                                              "i356"
-                                                             "i355"
-                                                             "i352"
-                                                             "i350"
-                                                             "i348"
-                                                             "i346"
-                                                             "i344"
-                                                             "i342"
+                                                             "i353"
+                                                             "i351"
+                                                             "i349"
+                                                             "i347"
+                                                             "i345"
+                                                             "i343"
+                                                             "i341"
                                                              "i340"
                                                              "i339"
-                                                             "i338"
-                                                             "i336"
+                                                             "i337"
+                                                             "i335"
                                                              "i334"
-                                                             "i333"
+                                                             "i331"
                                                              "i330"
-                                                             "i329"
-                                                             "i327"
-                                                             "i325"
-                                                             "i323"
-                                                             "i321"
-                                                             "i319"
-                                                             "i317"
-                                                             "i315"
-                                                             "i313"
-                                                             "i311"
-                                                             "i308"
-                                                             "i306"
-                                                             "i304"
-                                                             "i302"
-                                                             "i300"
-                                                             "i298"
-                                                             "i296"
-                                                             "i294"
-                                                             "i292"
-                                                             "i290"
-                                                             "i288"
-                                                             "i286"
-                                                             "i284"
-                                                             "i282"
-                                                             "i280"
-                                                             "i278"
-                                                             "i276"
-                                                             "i274"
-                                                             "i272"
-                                                             "i270"
-                                                             "i268"
-                                                             "i266"
-                                                             "i264"
+                                                             "i328"
+                                                             "i326"
+                                                             "i324"
+                                                             "i322"
+                                                             "i320"
+                                                             "i318"
+                                                             "i316"
+                                                             "i314"
+                                                             "i312"
+                                                             "i309"
+                                                             "i307"
+                                                             "i305"
+                                                             "i303"
+                                                             "i301"
+                                                             "i299"
+                                                             "i297"
+                                                             "i295"
+                                                             "i293"
+                                                             "i291"
+                                                             "i289"
+                                                             "i287"
+                                                             "i285"
+                                                             "i283"
+                                                             "i281"
+                                                             "i279"
+                                                             "i277"
+                                                             "i275"
+                                                             "i273"
+                                                             "i271"
+                                                             "i269"
+                                                             "i267"
+                                                             "i265"
+                                                             "i263"
                                                              "i262"
-                                                             "i261"
-                                                             "i258"
+                                                             "i259"
+                                                             "i257"
                                                              "i256"
                                                              "i255"
                                                              "i254"
                                                              "i253"
-                                                             "i252"
-                                                             "i250"
-                                                             "i248"
-                                                             "i246"
-                                                             "i243"
-                                                             "i241"
-                                                             "i239"
-                                                             "i237"
-                                                             "i235"
-                                                             "i233"
-                                                             "i231"
-                                                             "i229"
-                                                             "i227"
-                                                             "i225"
-                                                             "i223"
-                                                             "i221"
-                                                             "i219"
-                                                             "i217"
-                                                             "i215"
-                                                             "i213"
-                                                             "i211"
-                                                             "i209"
-                                                             "i207"))
+                                                             "i251"
+                                                             "i249"
+                                                             "i247"
+                                                             "i244"
+                                                             "i242"
+                                                             "i240"
+                                                             "i238"
+                                                             "i236"
+                                                             "i234"
+                                                             "i232"
+                                                             "i230"
+                                                             "i228"
+                                                             "i226"
+                                                             "i224"
+                                                             "i222"
+                                                             "i220"
+                                                             "i218"
+                                                             "i216"
+                                                             "i214"
+                                                             "i212"
+                                                             "i210"
+                                                             "i208"))
                                                           #(ribcage
                                                             (define-structure
                                                               
define-expansion-accessors
                                                               
define-expansion-constructors)
                                                             ((top) (top) (top))
-                                                            ("i45"
-                                                             "i44"
-                                                             "i43")))
+                                                            ("i46"
+                                                             "i45"
+                                                             "i44")))
                                                          (hygiene guile))
                                                        #(syntax-object
                                                          #f
@@ -2680,7 +3146,7 @@
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1900"))
+                                                            #("i1901"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -2696,17 +3162,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1840"
-                                                              "i1841"
+                                                            #("i1841"
                                                               "i1842"
                                                               "i1843"
                                                               "i1844"
-                                                              "i1845"))
+                                                              "i1845"
+                                                              "i1846"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1832"))
+                                                            #("i1833"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -2725,13 +3191,13 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1804"
-                                                              "i1805"
+                                                            #("i1805"
                                                               "i1806"
                                                               "i1807"
                                                               "i1808"
                                                               "i1809"
-                                                              "i1810"))
+                                                              "i1810"
+                                                              "i1811"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
@@ -3009,152 +3475,152 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i470"
-                                                             "i468"
-                                                             "i466"
-                                                             "i464"
-                                                             "i462"
-                                                             "i460"
-                                                             "i458"
-                                                             "i456"
-                                                             "i454"
-                                                             "i452"
-                                                             "i450"
-                                                             "i448"
-                                                             "i446"
-                                                             "i444"
-                                                             "i442"
-                                                             "i440"
-                                                             "i438"
-                                                             "i436"
-                                                             "i434"
-                                                             "i432"
-                                                             "i430"
-                                                             "i428"
-                                                             "i426"
-                                                             "i424"
-                                                             "i422"
-                                                             "i420"
-                                                             "i418"
-                                                             "i416"
-                                                             "i414"
-                                                             "i412"
-                                                             "i410"
-                                                             "i408"
-                                                             "i406"
-                                                             "i404"
+                                                            ("i471"
+                                                             "i469"
+                                                             "i467"
+                                                             "i465"
+                                                             "i463"
+                                                             "i461"
+                                                             "i459"
+                                                             "i457"
+                                                             "i455"
+                                                             "i453"
+                                                             "i451"
+                                                             "i449"
+                                                             "i447"
+                                                             "i445"
+                                                             "i443"
+                                                             "i441"
+                                                             "i439"
+                                                             "i437"
+                                                             "i435"
+                                                             "i433"
+                                                             "i431"
+                                                             "i429"
+                                                             "i427"
+                                                             "i425"
+                                                             "i423"
+                                                             "i421"
+                                                             "i419"
+                                                             "i417"
+                                                             "i415"
+                                                             "i413"
+                                                             "i411"
+                                                             "i409"
+                                                             "i407"
+                                                             "i405"
+                                                             "i403"
                                                              "i402"
-                                                             "i401"
-                                                             "i399"
+                                                             "i400"
+                                                             "i397"
                                                              "i396"
                                                              "i395"
-                                                             "i394"
+                                                             "i393"
                                                              "i392"
-                                                             "i391"
-                                                             "i389"
-                                                             "i387"
-                                                             "i385"
-                                                             "i383"
-                                                             "i381"
-                                                             "i379"
-                                                             "i377"
-                                                             "i375"
-                                                             "i372"
+                                                             "i390"
+                                                             "i388"
+                                                             "i386"
+                                                             "i384"
+                                                             "i382"
+                                                             "i380"
+                                                             "i378"
+                                                             "i376"
+                                                             "i373"
+                                                             "i371"
                                                              "i370"
-                                                             "i369"
-                                                             "i367"
-                                                             "i365"
-                                                             "i363"
+                                                             "i368"
+                                                             "i366"
+                                                             "i364"
+                                                             "i362"
                                                              "i361"
                                                              "i360"
                                                              "i359"
-                                                             "i358"
+                                                             "i357"
                                                              "i356"
-                                                             "i355"
-                                                             "i352"
-                                                             "i350"
-                                                             "i348"
-                                                             "i346"
-                                                             "i344"
-                                                             "i342"
+                                                             "i353"
+                                                             "i351"
+                                                             "i349"
+                                                             "i347"
+                                                             "i345"
+                                                             "i343"
+                                                             "i341"
                                                              "i340"
                                                              "i339"
-                                                             "i338"
-                                                             "i336"
+                                                             "i337"
+                                                             "i335"
                                                              "i334"
-                                                             "i333"
+                                                             "i331"
                                                              "i330"
-                                                             "i329"
-                                                             "i327"
-                                                             "i325"
-                                                             "i323"
-                                                             "i321"
-                                                             "i319"
-                                                             "i317"
-                                                             "i315"
-                                                             "i313"
-                                                             "i311"
-                                                             "i308"
-                                                             "i306"
-                                                             "i304"
-                                                             "i302"
-                                                             "i300"
-                                                             "i298"
-                                                             "i296"
-                                                             "i294"
-                                                             "i292"
-                                                             "i290"
-                                                             "i288"
-                                                             "i286"
-                                                             "i284"
-                                                             "i282"
-                                                             "i280"
-                                                             "i278"
-                                                             "i276"
-                                                             "i274"
-                                                             "i272"
-                                                             "i270"
-                                                             "i268"
-                                                             "i266"
-                                                             "i264"
+                                                             "i328"
+                                                             "i326"
+                                                             "i324"
+                                                             "i322"
+                                                             "i320"
+                                                             "i318"
+                                                             "i316"
+                                                             "i314"
+                                                             "i312"
+                                                             "i309"
+                                                             "i307"
+                                                             "i305"
+                                                             "i303"
+                                                             "i301"
+                                                             "i299"
+                                                             "i297"
+                                                             "i295"
+                                                             "i293"
+                                                             "i291"
+                                                             "i289"
+                                                             "i287"
+                                                             "i285"
+                                                             "i283"
+                                                             "i281"
+                                                             "i279"
+                                                             "i277"
+                                                             "i275"
+                                                             "i273"
+                                                             "i271"
+                                                             "i269"
+                                                             "i267"
+                                                             "i265"
+                                                             "i263"
                                                              "i262"
-                                                             "i261"
-                                                             "i258"
+                                                             "i259"
+                                                             "i257"
                                                              "i256"
                                                              "i255"
                                                              "i254"
                                                              "i253"
-                                                             "i252"
-                                                             "i250"
-                                                             "i248"
-                                                             "i246"
-                                                             "i243"
-                                                             "i241"
-                                                             "i239"
-                                                             "i237"
-                                                             "i235"
-                                                             "i233"
-                                                             "i231"
-                                                             "i229"
-                                                             "i227"
-                                                             "i225"
-                                                             "i223"
-                                                             "i221"
-                                                             "i219"
-                                                             "i217"
-                                                             "i215"
-                                                             "i213"
-                                                             "i211"
-                                                             "i209"
-                                                             "i207"))
+                                                             "i251"
+                                                             "i249"
+                                                             "i247"
+                                                             "i244"
+                                                             "i242"
+                                                             "i240"
+                                                             "i238"
+                                                             "i236"
+                                                             "i234"
+                                                             "i232"
+                                                             "i230"
+                                                             "i228"
+                                                             "i226"
+                                                             "i224"
+                                                             "i222"
+                                                             "i220"
+                                                             "i218"
+                                                             "i216"
+                                                             "i214"
+                                                             "i212"
+                                                             "i210"
+                                                             "i208"))
                                                           #(ribcage
                                                             (define-structure
                                                               
define-expansion-accessors
                                                               
define-expansion-constructors)
                                                             ((top) (top) (top))
-                                                            ("i45"
-                                                             "i44"
-                                                             "i43")))
+                                                            ("i46"
+                                                             "i45"
+                                                             "i44")))
                                                          (hygiene guile))
                                                        #(syntax-object
                                                          #f
@@ -3162,7 +3628,7 @@
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1900"))
+                                                            #("i1901"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -3178,17 +3644,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1840"
-                                                              "i1841"
+                                                            #("i1841"
                                                               "i1842"
                                                               "i1843"
                                                               "i1844"
-                                                              "i1845"))
+                                                              "i1845"
+                                                              "i1846"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1832"))
+                                                            #("i1833"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -3207,13 +3673,13 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1804"
-                                                              "i1805"
+                                                            #("i1805"
                                                               "i1806"
                                                               "i1807"
                                                               "i1808"
                                                               "i1809"
-                                                              "i1810"))
+                                                              "i1810"
+                                                              "i1811"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
@@ -3491,907 +3957,2160 @@
                                                              (top)
                                                              (top)
                                                              (top))
-                                                            ("i470"
-                                                             "i468"
-                                                             "i466"
-                                                             "i464"
-                                                             "i462"
-                                                             "i460"
-                                                             "i458"
-                                                             "i456"
-                                                             "i454"
-                                                             "i452"
-                                                             "i450"
-                                                             "i448"
-                                                             "i446"
-                                                             "i444"
-                                                             "i442"
-                                                             "i440"
-                                                             "i438"
-                                                             "i436"
-                                                             "i434"
-                                                             "i432"
-                                                             "i430"
-                                                             "i428"
-                                                             "i426"
-                                                             "i424"
-                                                             "i422"
-                                                             "i420"
-                                                             "i418"
-                                                             "i416"
-                                                             "i414"
-                                                             "i412"
-                                                             "i410"
-                                                             "i408"
-                                                             "i406"
-                                                             "i404"
+                                                            ("i471"
+                                                             "i469"
+                                                             "i467"
+                                                             "i465"
+                                                             "i463"
+                                                             "i461"
+                                                             "i459"
+                                                             "i457"
+                                                             "i455"
+                                                             "i453"
+                                                             "i451"
+                                                             "i449"
+                                                             "i447"
+                                                             "i445"
+                                                             "i443"
+                                                             "i441"
+                                                             "i439"
+                                                             "i437"
+                                                             "i435"
+                                                             "i433"
+                                                             "i431"
+                                                             "i429"
+                                                             "i427"
+                                                             "i425"
+                                                             "i423"
+                                                             "i421"
+                                                             "i419"
+                                                             "i417"
+                                                             "i415"
+                                                             "i413"
+                                                             "i411"
+                                                             "i409"
+                                                             "i407"
+                                                             "i405"
+                                                             "i403"
                                                              "i402"
-                                                             "i401"
-                                                             "i399"
+                                                             "i400"
+                                                             "i397"
                                                              "i396"
                                                              "i395"
-                                                             "i394"
+                                                             "i393"
                                                              "i392"
-                                                             "i391"
-                                                             "i389"
-                                                             "i387"
-                                                             "i385"
-                                                             "i383"
-                                                             "i381"
-                                                             "i379"
-                                                             "i377"
-                                                             "i375"
-                                                             "i372"
+                                                             "i390"
+                                                             "i388"
+                                                             "i386"
+                                                             "i384"
+                                                             "i382"
+                                                             "i380"
+                                                             "i378"
+                                                             "i376"
+                                                             "i373"
+                                                             "i371"
                                                              "i370"
-                                                             "i369"
-                                                             "i367"
-                                                             "i365"
-                                                             "i363"
+                                                             "i368"
+                                                             "i366"
+                                                             "i364"
+                                                             "i362"
                                                              "i361"
                                                              "i360"
                                                              "i359"
-                                                             "i358"
+                                                             "i357"
                                                              "i356"
-                                                             "i355"
-                                                             "i352"
-                                                             "i350"
-                                                             "i348"
-                                                             "i346"
-                                                             "i344"
-                                                             "i342"
+                                                             "i353"
+                                                             "i351"
+                                                             "i349"
+                                                             "i347"
+                                                             "i345"
+                                                             "i343"
+                                                             "i341"
                                                              "i340"
                                                              "i339"
-                                                             "i338"
-                                                             "i336"
+                                                             "i337"
+                                                             "i335"
                                                              "i334"
-                                                             "i333"
+                                                             "i331"
                                                              "i330"
-                                                             "i329"
-                                                             "i327"
-                                                             "i325"
-                                                             "i323"
-                                                             "i321"
-                                                             "i319"
-                                                             "i317"
-                                                             "i315"
-                                                             "i313"
-                                                             "i311"
-                                                             "i308"
-                                                             "i306"
-                                                             "i304"
-                                                             "i302"
-                                                             "i300"
-                                                             "i298"
-                                                             "i296"
-                                                             "i294"
-                                                             "i292"
-                                                             "i290"
-                                                             "i288"
-                                                             "i286"
-                                                             "i284"
-                                                             "i282"
-                                                             "i280"
-                                                             "i278"
-                                                             "i276"
-                                                             "i274"
-                                                             "i272"
-                                                             "i270"
-                                                             "i268"
-                                                             "i266"
-                                                             "i264"
+                                                             "i328"
+                                                             "i326"
+                                                             "i324"
+                                                             "i322"
+                                                             "i320"
+                                                             "i318"
+                                                             "i316"
+                                                             "i314"
+                                                             "i312"
+                                                             "i309"
+                                                             "i307"
+                                                             "i305"
+                                                             "i303"
+                                                             "i301"
+                                                             "i299"
+                                                             "i297"
+                                                             "i295"
+                                                             "i293"
+                                                             "i291"
+                                                             "i289"
+                                                             "i287"
+                                                             "i285"
+                                                             "i283"
+                                                             "i281"
+                                                             "i279"
+                                                             "i277"
+                                                             "i275"
+                                                             "i273"
+                                                             "i271"
+                                                             "i269"
+                                                             "i267"
+                                                             "i265"
+                                                             "i263"
                                                              "i262"
-                                                             "i261"
-                                                             "i258"
+                                                             "i259"
+                                                             "i257"
                                                              "i256"
                                                              "i255"
                                                              "i254"
                                                              "i253"
-                                                             "i252"
-                                                             "i250"
-                                                             "i248"
-                                                             "i246"
-                                                             "i243"
-                                                             "i241"
-                                                             "i239"
-                                                             "i237"
-                                                             "i235"
-                                                             "i233"
-                                                             "i231"
-                                                             "i229"
-                                                             "i227"
-                                                             "i225"
-                                                             "i223"
-                                                             "i221"
-                                                             "i219"
-                                                             "i217"
-                                                             "i215"
-                                                             "i213"
-                                                             "i211"
-                                                             "i209"
-                                                             "i207"))
+                                                             "i251"
+                                                             "i249"
+                                                             "i247"
+                                                             "i244"
+                                                             "i242"
+                                                             "i240"
+                                                             "i238"
+                                                             "i236"
+                                                             "i234"
+                                                             "i232"
+                                                             "i230"
+                                                             "i228"
+                                                             "i226"
+                                                             "i224"
+                                                             "i222"
+                                                             "i220"
+                                                             "i218"
+                                                             "i216"
+                                                             "i214"
+                                                             "i212"
+                                                             "i210"
+                                                             "i208"))
                                                           #(ribcage
                                                             (define-structure
                                                               
define-expansion-accessors
                                                               
define-expansion-constructors)
                                                             ((top) (top) (top))
-                                                            ("i45"
-                                                             "i44"
-                                                             "i43")))
+                                                            ("i46"
+                                                             "i45"
+                                                             "i44")))
                                                          (hygiene guile)))
                                                      '(())
-                                                     #{s 1800}#
-                                                     #{mod 1802}#))
-                                                 #{tmp 1897}#)
+                                                     #{s 24863}#
+                                                     #{mod 24865}#))
+                                                 #{tmp 26259}#)
                                                (syntax-violation
                                                  #f
                                                  "source expression failed to 
match any pattern"
-                                                 #{e 1797}#)))))))
-                                   (if (memv #{ftype 1834}# '(define-syntax))
-                                     (let ((#{tmp 1905}#
+                                                 #{e 24860}#)))))))
+                                   (if (eqv? #{ftype 25507}# 'define-syntax)
+                                     (let ((#{tmp 26405}#
                                              ($sc-dispatch
-                                               #{e 1797}#
+                                               #{e 24860}#
                                                '(_ any any))))
-                                       (if (if #{tmp 1905}#
+                                       (if (if #{tmp 26405}#
                                              (@apply
-                                               (lambda (#{name 1908}#
-                                                        #{val 1909}#)
-                                                 (#{id? 353}# #{name 1908}#))
-                                               #{tmp 1905}#)
+                                               (lambda (#{name 26409}#
+                                                        #{val 26410}#)
+                                                 (if (symbol? #{name 26409}#)
+                                                   #t
+                                                   (if (if (vector?
+                                                             #{name 26409}#)
+                                                         (if (= (vector-length
+                                                                  #{name 
26409}#)
+                                                                4)
+                                                           (eq? (vector-ref
+                                                                  #{name 
26409}#
+                                                                  0)
+                                                                'syntax-object)
+                                                           #f)
+                                                         #f)
+                                                     (symbol?
+                                                       (vector-ref
+                                                         #{name 26409}#
+                                                         1))
+                                                     #f)))
+                                               #{tmp 26405}#)
                                              #f)
                                          (@apply
-                                           (lambda (#{name 1912}# #{val 1913}#)
+                                           (lambda (#{name 26437}#
+                                                    #{val 26438}#)
                                              (values
                                                'define-syntax-form
-                                               #{name 1912}#
-                                               #{val 1913}#
-                                               #{w 1799}#
-                                               #{s 1800}#
-                                               #{mod 1802}#))
-                                           #{tmp 1905}#)
+                                               #{name 26437}#
+                                               #{val 26438}#
+                                               #{w 24862}#
+                                               #{s 24863}#
+                                               #{mod 24865}#))
+                                           #{tmp 26405}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{e 1797}#)))
+                                           #{e 24860}#)))
                                      (values
                                        'call
                                        #f
-                                       #{e 1797}#
-                                       #{w 1799}#
-                                       #{s 1800}#
-                                       #{mod 1802}#))))))))))))))
-           (if (#{syntax-object? 316}# #{e 1797}#)
-             (#{syntax-type 439}#
-               (#{syntax-object-expression 318}# #{e 1797}#)
-               #{r 1798}#
-               (#{join-wraps 409}#
-                 #{w 1799}#
-                 (#{syntax-object-wrap 320}# #{e 1797}#))
-               (let ((#{t 1919}#
-                       (#{source-annotation 331}# #{e 1797}#)))
-                 (if #{t 1919}# #{t 1919}# #{s 1800}#))
-               #{rib 1801}#
-               (let ((#{t 1923}#
-                       (#{syntax-object-module 322}# #{e 1797}#)))
-                 (if #{t 1923}# #{t 1923}# #{mod 1802}#))
-               #{for-car? 1803}#)
-             (if (self-evaluating? #{e 1797}#)
+                                       #{e 24860}#
+                                       #{w 24862}#
+                                       #{s 24863}#
+                                       #{mod 24865}#))))))))))))))
+           (if (if (vector? #{e 24860}#)
+                 (if (= (vector-length #{e 24860}#) 4)
+                   (eq? (vector-ref #{e 24860}# 0) 'syntax-object)
+                   #f)
+                 #f)
+             (#{syntax-type 4374}#
+               (vector-ref #{e 24860}# 1)
+               #{r 24861}#
+               (let ((#{w2 26463}# (vector-ref #{e 24860}# 2)))
+                 (let ((#{m1 26464}# (car #{w 24862}#))
+                       (#{s1 26465}# (cdr #{w 24862}#)))
+                   (if (null? #{m1 26464}#)
+                     (if (null? #{s1 26465}#)
+                       #{w2 26463}#
+                       (cons (car #{w2 26463}#)
+                             (let ((#{m2 26476}# (cdr #{w2 26463}#)))
+                               (if (null? #{m2 26476}#)
+                                 #{s1 26465}#
+                                 (append #{s1 26465}# #{m2 26476}#)))))
+                     (cons (let ((#{m2 26484}# (car #{w2 26463}#)))
+                             (if (null? #{m2 26484}#)
+                               #{m1 26464}#
+                               (append #{m1 26464}# #{m2 26484}#)))
+                           (let ((#{m2 26492}# (cdr #{w2 26463}#)))
+                             (if (null? #{m2 26492}#)
+                               #{s1 26465}#
+                               (append #{s1 26465}# #{m2 26492}#)))))))
+               (let ((#{t 26497}#
+                       (#{source-annotation 4336}# #{e 24860}#)))
+                 (if #{t 26497}# #{t 26497}# #{s 24863}#))
+               #{rib 24864}#
+               (let ((#{t 26779}# (vector-ref #{e 24860}# 3)))
+                 (if #{t 26779}# #{t 26779}# #{mod 24865}#))
+               #{for-car? 24866}#)
+             (if (self-evaluating? #{e 24860}#)
                (values
                  'constant
                  #f
-                 #{e 1797}#
-                 #{w 1799}#
-                 #{s 1800}#
-                 #{mod 1802}#)
+                 #{e 24860}#
+                 #{w 24862}#
+                 #{s 24863}#
+                 #{mod 24865}#)
                (values
                  'other
                  #f
-                 #{e 1797}#
-                 #{w 1799}#
-                 #{s 1800}#
-                 #{mod 1802}#)))))))
-   (#{chi 441}#
-     (lambda (#{e 1928}# #{r 1929}# #{w 1930}# #{mod 1931}#)
+                 #{e 24860}#
+                 #{w 24862}#
+                 #{s 24863}#
+                 #{mod 24865}#)))))))
+   (#{chi 4375}#
+     (lambda (#{e 26788}#
+              #{r 26789}#
+              #{w 26790}#
+              #{mod 26791}#)
        (call-with-values
          (lambda ()
-           (#{syntax-type 439}#
-             #{e 1928}#
-             #{r 1929}#
-             #{w 1930}#
-             (#{source-annotation 331}# #{e 1928}#)
+           (#{syntax-type 4374}#
+             #{e 26788}#
+             #{r 26789}#
+             #{w 26790}#
+             (#{source-annotation 4336}# #{e 26788}#)
              #f
-             #{mod 1931}#
+             #{mod 26791}#
              #f))
-         (lambda (#{type 1936}#
-                  #{value 1937}#
-                  #{e 1938}#
-                  #{w 1939}#
-                  #{s 1940}#
-                  #{mod 1941}#)
-           (#{chi-expr 443}#
-             #{type 1936}#
-             #{value 1937}#
-             #{e 1938}#
-             #{r 1929}#
-             #{w 1939}#
-             #{s 1940}#
-             #{mod 1941}#)))))
-   (#{chi-expr 443}#
-     (lambda (#{type 1948}#
-              #{value 1949}#
-              #{e 1950}#
-              #{r 1951}#
-              #{w 1952}#
-              #{s 1953}#
-              #{mod 1954}#)
-       (if (memv #{type 1948}# '(lexical))
-         (#{build-lexical-reference 279}#
-           'value
-           #{s 1953}#
-           #{e 1950}#
-           #{value 1949}#)
-         (if (memv #{type 1948}# '(core core-form))
-           (#{value 1949}#
-             #{e 1950}#
-             #{r 1951}#
-             #{w 1952}#
-             #{s 1953}#
-             #{mod 1954}#)
-           (if (memv #{type 1948}# '(module-ref))
+         (lambda (#{type 26983}#
+                  #{value 26984}#
+                  #{e 26985}#
+                  #{w 26986}#
+                  #{s 26987}#
+                  #{mod 26988}#)
+           (#{chi-expr 4376}#
+             #{type 26983}#
+             #{value 26984}#
+             #{e 26985}#
+             #{r 26789}#
+             #{w 26986}#
+             #{s 26987}#
+             #{mod 26988}#)))))
+   (#{chi-expr 4376}#
+     (lambda (#{type 26991}#
+              #{value 26992}#
+              #{e 26993}#
+              #{r 26994}#
+              #{w 26995}#
+              #{s 26996}#
+              #{mod 26997}#)
+       (if (eqv? #{type 26991}# 'lexical)
+         (make-struct/no-tail
+           (vector-ref %expanded-vtables 3)
+           #{s 26996}#
+           #{e 26993}#
+           #{value 26992}#)
+         (if (if (eqv? #{type 26991}# 'core)
+               #t
+               (eqv? #{type 26991}# 'core-form))
+           (#{value 26992}#
+             #{e 26993}#
+             #{r 26994}#
+             #{w 26995}#
+             #{s 26996}#
+             #{mod 26997}#)
+           (if (eqv? #{type 26991}# 'module-ref)
              (call-with-values
                (lambda ()
-                 (#{value 1949}# #{e 1950}# #{r 1951}# #{w 1952}#))
-               (lambda (#{e 1965}#
-                        #{r 1966}#
-                        #{w 1967}#
-                        #{s 1968}#
-                        #{mod 1969}#)
-                 (#{chi 441}#
-                   #{e 1965}#
-                   #{r 1966}#
-                   #{w 1967}#
-                   #{mod 1969}#)))
-             (if (memv #{type 1948}# '(lexical-call))
-               (#{chi-call 445}#
-                 (let ((#{id 1977}# (car #{e 1950}#)))
-                   (#{build-lexical-reference 279}#
+                 (#{value 26992}#
+                   #{e 26993}#
+                   #{r 26994}#
+                   #{w 26995}#))
+               (lambda (#{e 27023}#
+                        #{r 27024}#
+                        #{w 27025}#
+                        #{s 27026}#
+                        #{mod 27027}#)
+                 (#{chi 4375}#
+                   #{e 27023}#
+                   #{r 27024}#
+                   #{w 27025}#
+                   #{mod 27027}#)))
+             (if (eqv? #{type 26991}# 'lexical-call)
+               (#{chi-call 4377}#
+                 (let ((#{id 27204}# (car #{e 26993}#)))
+                   (#{build-lexical-reference 4312}#
                      'fun
-                     (#{source-annotation 331}# #{id 1977}#)
-                     (if (#{syntax-object? 316}# #{id 1977}#)
-                       (syntax->datum #{id 1977}#)
-                       #{id 1977}#)
-                     #{value 1949}#))
-                 #{e 1950}#
-                 #{r 1951}#
-                 #{w 1952}#
-                 #{s 1953}#
-                 #{mod 1954}#)
-               (if (memv #{type 1948}# '(global-call))
-                 (#{chi-call 445}#
-                   (#{build-global-reference 285}#
-                     (#{source-annotation 331}# (car #{e 1950}#))
-                     (if (#{syntax-object? 316}# #{value 1949}#)
-                       (#{syntax-object-expression 318}# #{value 1949}#)
-                       #{value 1949}#)
-                     (if (#{syntax-object? 316}# #{value 1949}#)
-                       (#{syntax-object-module 322}# #{value 1949}#)
-                       #{mod 1954}#))
-                   #{e 1950}#
-                   #{r 1951}#
-                   #{w 1952}#
-                   #{s 1953}#
-                   #{mod 1954}#)
-                 (if (memv #{type 1948}# '(constant))
-                   (#{build-data 301}#
-                     #{s 1953}#
-                     (#{strip 467}#
-                       (#{source-wrap 429}#
-                         #{e 1950}#
-                         #{w 1952}#
-                         #{s 1953}#
-                         #{mod 1954}#)
-                       '(())))
-                   (if (memv #{type 1948}# '(global))
-                     (#{build-global-reference 285}#
-                       #{s 1953}#
-                       #{value 1949}#
-                       #{mod 1954}#)
-                     (if (memv #{type 1948}# '(call))
-                       (#{chi-call 445}#
-                         (#{chi 441}#
-                           (car #{e 1950}#)
-                           #{r 1951}#
-                           #{w 1952}#
-                           #{mod 1954}#)
-                         #{e 1950}#
-                         #{r 1951}#
-                         #{w 1952}#
-                         #{s 1953}#
-                         #{mod 1954}#)
-                       (if (memv #{type 1948}# '(begin-form))
-                         (let ((#{tmp 1985}#
+                     (#{source-annotation 4336}# #{id 27204}#)
+                     (if (if (vector? #{id 27204}#)
+                           (if (= (vector-length #{id 27204}#) 4)
+                             (eq? (vector-ref #{id 27204}# 0) 'syntax-object)
+                             #f)
+                           #f)
+                       (syntax->datum #{id 27204}#)
+                       #{id 27204}#)
+                     #{value 26992}#))
+                 #{e 26993}#
+                 #{r 26994}#
+                 #{w 26995}#
+                 #{s 26996}#
+                 #{mod 26997}#)
+               (if (eqv? #{type 26991}# 'global-call)
+                 (#{chi-call 4377}#
+                   (#{build-global-reference 4315}#
+                     (#{source-annotation 4336}# (car #{e 26993}#))
+                     (if (if (vector? #{value 26992}#)
+                           (if (= (vector-length #{value 26992}#) 4)
+                             (eq? (vector-ref #{value 26992}# 0)
+                                  'syntax-object)
+                             #f)
+                           #f)
+                       (vector-ref #{value 26992}# 1)
+                       #{value 26992}#)
+                     (if (if (vector? #{value 26992}#)
+                           (if (= (vector-length #{value 26992}#) 4)
+                             (eq? (vector-ref #{value 26992}# 0)
+                                  'syntax-object)
+                             #f)
+                           #f)
+                       (vector-ref #{value 26992}# 3)
+                       #{mod 26997}#))
+                   #{e 26993}#
+                   #{r 26994}#
+                   #{w 26995}#
+                   #{s 26996}#
+                   #{mod 26997}#)
+                 (if (eqv? #{type 26991}# 'constant)
+                   (let ((#{exp 27897}#
+                           (#{strip 4388}#
+                             (let ((#{x 27910}#
+                                     (begin
+                                       (if (if (pair? #{e 26993}#)
+                                             #{s 26996}#
+                                             #f)
+                                         (set-source-properties!
+                                           #{e 26993}#
+                                           #{s 26996}#))
+                                       #{e 26993}#)))
+                               (if (if (null? (car #{w 26995}#))
+                                     (null? (cdr #{w 26995}#))
+                                     #f)
+                                 #{x 27910}#
+                                 (if (if (vector? #{x 27910}#)
+                                       (if (= (vector-length #{x 27910}#) 4)
+                                         (eq? (vector-ref #{x 27910}# 0)
+                                              'syntax-object)
+                                         #f)
+                                       #f)
+                                   (let ((#{expression 27942}#
+                                           (vector-ref #{x 27910}# 1))
+                                         (#{wrap 27943}#
+                                           (let ((#{w2 27951}#
+                                                   (vector-ref #{x 27910}# 2)))
+                                             (let ((#{m1 27952}#
+                                                     (car #{w 26995}#))
+                                                   (#{s1 27953}#
+                                                     (cdr #{w 26995}#)))
+                                               (if (null? #{m1 27952}#)
+                                                 (if (null? #{s1 27953}#)
+                                                   #{w2 27951}#
+                                                   (cons (car #{w2 27951}#)
+                                                         (let ((#{m2 27968}#
+                                                                 (cdr #{w2 
27951}#)))
+                                                           (if (null? #{m2 
27968}#)
+                                                             #{s1 27953}#
+                                                             (append
+                                                               #{s1 27953}#
+                                                               #{m2 
27968}#)))))
+                                                 (cons (let ((#{m2 27976}#
+                                                               (car #{w2 
27951}#)))
+                                                         (if (null? #{m2 
27976}#)
+                                                           #{m1 27952}#
+                                                           (append
+                                                             #{m1 27952}#
+                                                             #{m2 27976}#)))
+                                                       (let ((#{m2 27984}#
+                                                               (cdr #{w2 
27951}#)))
+                                                         (if (null? #{m2 
27984}#)
+                                                           #{s1 27953}#
+                                                           (append
+                                                             #{s1 27953}#
+                                                             #{m2 
27984}#))))))))
+                                         (#{module 27944}#
+                                           (vector-ref #{x 27910}# 3)))
+                                     (vector
+                                       'syntax-object
+                                       #{expression 27942}#
+                                       #{wrap 27943}#
+                                       #{module 27944}#))
+                                   (if (null? #{x 27910}#)
+                                     #{x 27910}#
+                                     (vector
+                                       'syntax-object
+                                       #{x 27910}#
+                                       #{w 26995}#
+                                       #{mod 26997}#)))))
+                             '(()))))
+                     (make-struct/no-tail
+                       (vector-ref %expanded-vtables 1)
+                       #{s 26996}#
+                       #{exp 27897}#))
+                   (if (eqv? #{type 26991}# 'global)
+                     (#{analyze-variable 4314}#
+                       #{mod 26997}#
+                       #{value 26992}#
+                       (lambda (#{mod 28009}# #{var 28010}# #{public? 28011}#)
+                         (make-struct/no-tail
+                           (vector-ref %expanded-vtables 5)
+                           #{s 26996}#
+                           #{mod 28009}#
+                           #{var 28010}#
+                           #{public? 28011}#))
+                       (lambda (#{var 28019}#)
+                         (make-struct/no-tail
+                           (vector-ref %expanded-vtables 7)
+                           #{s 26996}#
+                           #{var 28019}#)))
+                     (if (eqv? #{type 26991}# 'call)
+                       (#{chi-call 4377}#
+                         (#{chi 4375}#
+                           (car #{e 26993}#)
+                           #{r 26994}#
+                           #{w 26995}#
+                           #{mod 26997}#)
+                         #{e 26993}#
+                         #{r 26994}#
+                         #{w 26995}#
+                         #{s 26996}#
+                         #{mod 26997}#)
+                       (if (eqv? #{type 26991}# 'begin-form)
+                         (let ((#{tmp 28193}#
                                  ($sc-dispatch
-                                   #{e 1950}#
+                                   #{e 26993}#
                                    '(_ any . each-any))))
-                           (if #{tmp 1985}#
+                           (if #{tmp 28193}#
                              (@apply
-                               (lambda (#{e1 1988}# #{e2 1989}#)
-                                 (#{chi-sequence 431}#
-                                   (cons #{e1 1988}# #{e2 1989}#)
-                                   #{r 1951}#
-                                   #{w 1952}#
-                                   #{s 1953}#
-                                   #{mod 1954}#))
-                               #{tmp 1985}#)
+                               (lambda (#{e1 28197}# #{e2 28198}#)
+                                 (#{chi-sequence 4370}#
+                                   (cons #{e1 28197}# #{e2 28198}#)
+                                   #{r 26994}#
+                                   #{w 26995}#
+                                   #{s 26996}#
+                                   #{mod 26997}#))
+                               #{tmp 28193}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{e 1950}#)))
-                         (if (memv #{type 1948}# '(local-syntax-form))
-                           (#{chi-local-syntax 451}#
-                             #{value 1949}#
-                             #{e 1950}#
-                             #{r 1951}#
-                             #{w 1952}#
-                             #{s 1953}#
-                             #{mod 1954}#
-                             #{chi-sequence 431}#)
-                           (if (memv #{type 1948}# '(eval-when-form))
-                             (let ((#{tmp 1994}#
+                               #{e 26993}#)))
+                         (if (eqv? #{type 26991}# 'local-syntax-form)
+                           (#{chi-local-syntax 4380}#
+                             #{value 26992}#
+                             #{e 26993}#
+                             #{r 26994}#
+                             #{w 26995}#
+                             #{s 26996}#
+                             #{mod 26997}#
+                             #{chi-sequence 4370}#)
+                           (if (eqv? #{type 26991}# 'eval-when-form)
+                             (let ((#{tmp 28374}#
                                      ($sc-dispatch
-                                       #{e 1950}#
+                                       #{e 26993}#
                                        '(_ each-any any . each-any))))
-                               (if #{tmp 1994}#
+                               (if #{tmp 28374}#
                                  (@apply
-                                   (lambda (#{x 1998}# #{e1 1999}# #{e2 2000}#)
-                                     (let ((#{when-list 2002}#
-                                             (#{chi-when-list 437}#
-                                               #{e 1950}#
-                                               #{x 1998}#
-                                               #{w 1952}#)))
-                                       (if (memq 'eval #{when-list 2002}#)
-                                         (#{chi-sequence 431}#
-                                           (cons #{e1 1999}# #{e2 2000}#)
-                                           #{r 1951}#
-                                           #{w 1952}#
-                                           #{s 1953}#
-                                           #{mod 1954}#)
-                                         (#{chi-void 455}#))))
-                                   #{tmp 1994}#)
+                                   (lambda (#{x 28378}#
+                                            #{e1 28379}#
+                                            #{e2 28380}#)
+                                     (let ((#{when-list 28381}#
+                                             (#{chi-when-list 4373}#
+                                               #{e 26993}#
+                                               #{x 28378}#
+                                               #{w 26995}#)))
+                                       (if (memq 'eval #{when-list 28381}#)
+                                         (#{chi-sequence 4370}#
+                                           (cons #{e1 28379}# #{e2 28380}#)
+                                           #{r 26994}#
+                                           #{w 26995}#
+                                           #{s 26996}#
+                                           #{mod 26997}#)
+                                         (make-struct/no-tail
+                                           (vector-ref %expanded-vtables 0)
+                                           #f))))
+                                   #{tmp 28374}#)
                                  (syntax-violation
                                    #f
                                    "source expression failed to match any 
pattern"
-                                   #{e 1950}#)))
-                             (if (memv #{type 1948}#
-                                       '(define-form define-syntax-form))
+                                   #{e 26993}#)))
+                             (if (if (eqv? #{type 26991}# 'define-form)
+                                   #t
+                                   (eqv? #{type 26991}# 'define-syntax-form))
                                (syntax-violation
                                  #f
                                  "definition in expression context"
-                                 #{e 1950}#
-                                 (#{wrap 427}#
-                                   #{value 1949}#
-                                   #{w 1952}#
-                                   #{mod 1954}#))
-                               (if (memv #{type 1948}# '(syntax))
+                                 #{e 26993}#
+                                 (if (if (null? (car #{w 26995}#))
+                                       (null? (cdr #{w 26995}#))
+                                       #f)
+                                   #{value 26992}#
+                                   (if (if (vector? #{value 26992}#)
+                                         (if (= (vector-length #{value 26992}#)
+                                                4)
+                                           (eq? (vector-ref #{value 26992}# 0)
+                                                'syntax-object)
+                                           #f)
+                                         #f)
+                                     (let ((#{expression 28530}#
+                                             (vector-ref #{value 26992}# 1))
+                                           (#{wrap 28531}#
+                                             (let ((#{w2 28541}#
+                                                     (vector-ref
+                                                       #{value 26992}#
+                                                       2)))
+                                               (let ((#{m1 28542}#
+                                                       (car #{w 26995}#))
+                                                     (#{s1 28543}#
+                                                       (cdr #{w 26995}#)))
+                                                 (if (null? #{m1 28542}#)
+                                                   (if (null? #{s1 28543}#)
+                                                     #{w2 28541}#
+                                                     (cons (car #{w2 28541}#)
+                                                           (let ((#{m2 28560}#
+                                                                   (cdr #{w2 
28541}#)))
+                                                             (if (null? #{m2 
28560}#)
+                                                               #{s1 28543}#
+                                                               (append
+                                                                 #{s1 28543}#
+                                                                 #{m2 
28560}#)))))
+                                                   (cons (let ((#{m2 28568}#
+                                                                 (car #{w2 
28541}#)))
+                                                           (if (null? #{m2 
28568}#)
+                                                             #{m1 28542}#
+                                                             (append
+                                                               #{m1 28542}#
+                                                               #{m2 28568}#)))
+                                                         (let ((#{m2 28576}#
+                                                                 (cdr #{w2 
28541}#)))
+                                                           (if (null? #{m2 
28576}#)
+                                                             #{s1 28543}#
+                                                             (append
+                                                               #{s1 28543}#
+                                                               #{m2 
28576}#))))))))
+                                           (#{module 28532}#
+                                             (vector-ref #{value 26992}# 3)))
+                                       (vector
+                                         'syntax-object
+                                         #{expression 28530}#
+                                         #{wrap 28531}#
+                                         #{module 28532}#))
+                                     (if (null? #{value 26992}#)
+                                       #{value 26992}#
+                                       (vector
+                                         'syntax-object
+                                         #{value 26992}#
+                                         #{w 26995}#
+                                         #{mod 26997}#)))))
+                               (if (eqv? #{type 26991}# 'syntax)
                                  (syntax-violation
                                    #f
                                    "reference to pattern variable outside 
syntax form"
-                                   (#{source-wrap 429}#
-                                     #{e 1950}#
-                                     #{w 1952}#
-                                     #{s 1953}#
-                                     #{mod 1954}#))
-                                 (if (memv #{type 1948}# '(displaced-lexical))
+                                   (let ((#{x 28611}#
+                                           (begin
+                                             (if (if (pair? #{e 26993}#)
+                                                   #{s 26996}#
+                                                   #f)
+                                               (set-source-properties!
+                                                 #{e 26993}#
+                                                 #{s 26996}#))
+                                             #{e 26993}#)))
+                                     (if (if (null? (car #{w 26995}#))
+                                           (null? (cdr #{w 26995}#))
+                                           #f)
+                                       #{x 28611}#
+                                       (if (if (vector? #{x 28611}#)
+                                             (if (= (vector-length #{x 28611}#)
+                                                    4)
+                                               (eq? (vector-ref #{x 28611}# 0)
+                                                    'syntax-object)
+                                               #f)
+                                             #f)
+                                         (let ((#{expression 28643}#
+                                                 (vector-ref #{x 28611}# 1))
+                                               (#{wrap 28644}#
+                                                 (let ((#{w2 28652}#
+                                                         (vector-ref
+                                                           #{x 28611}#
+                                                           2)))
+                                                   (let ((#{m1 28653}#
+                                                           (car #{w 26995}#))
+                                                         (#{s1 28654}#
+                                                           (cdr #{w 26995}#)))
+                                                     (if (null? #{m1 28653}#)
+                                                       (if (null? #{s1 28654}#)
+                                                         #{w2 28652}#
+                                                         (cons (car #{w2 
28652}#)
+                                                               (let ((#{m2 
28669}#
+                                                                       (cdr 
#{w2 28652}#)))
+                                                                 (if (null? 
#{m2 28669}#)
+                                                                   #{s1 28654}#
+                                                                   (append
+                                                                     #{s1 
28654}#
+                                                                     #{m2 
28669}#)))))
+                                                       (cons (let ((#{m2 
28677}#
+                                                                     (car #{w2 
28652}#)))
+                                                               (if (null? #{m2 
28677}#)
+                                                                 #{m1 28653}#
+                                                                 (append
+                                                                   #{m1 28653}#
+                                                                   #{m2 
28677}#)))
+                                                             (let ((#{m2 
28685}#
+                                                                     (cdr #{w2 
28652}#)))
+                                                               (if (null? #{m2 
28685}#)
+                                                                 #{s1 28654}#
+                                                                 (append
+                                                                   #{s1 28654}#
+                                                                   #{m2 
28685}#))))))))
+                                               (#{module 28645}#
+                                                 (vector-ref #{x 28611}# 3)))
+                                           (vector
+                                             'syntax-object
+                                             #{expression 28643}#
+                                             #{wrap 28644}#
+                                             #{module 28645}#))
+                                         (if (null? #{x 28611}#)
+                                           #{x 28611}#
+                                           (vector
+                                             'syntax-object
+                                             #{x 28611}#
+                                             #{w 26995}#
+                                             #{mod 26997}#))))))
+                                 (if (eqv? #{type 26991}# 'displaced-lexical)
                                    (syntax-violation
                                      #f
                                      "reference to identifier outside its 
scope"
-                                     (#{source-wrap 429}#
-                                       #{e 1950}#
-                                       #{w 1952}#
-                                       #{s 1953}#
-                                       #{mod 1954}#))
+                                     (let ((#{x 28712}#
+                                             (begin
+                                               (if (if (pair? #{e 26993}#)
+                                                     #{s 26996}#
+                                                     #f)
+                                                 (set-source-properties!
+                                                   #{e 26993}#
+                                                   #{s 26996}#))
+                                               #{e 26993}#)))
+                                       (if (if (null? (car #{w 26995}#))
+                                             (null? (cdr #{w 26995}#))
+                                             #f)
+                                         #{x 28712}#
+                                         (if (if (vector? #{x 28712}#)
+                                               (if (= (vector-length
+                                                        #{x 28712}#)
+                                                      4)
+                                                 (eq? (vector-ref
+                                                        #{x 28712}#
+                                                        0)
+                                                      'syntax-object)
+                                                 #f)
+                                               #f)
+                                           (let ((#{expression 28744}#
+                                                   (vector-ref #{x 28712}# 1))
+                                                 (#{wrap 28745}#
+                                                   (let ((#{w2 28753}#
+                                                           (vector-ref
+                                                             #{x 28712}#
+                                                             2)))
+                                                     (let ((#{m1 28754}#
+                                                             (car #{w 26995}#))
+                                                           (#{s1 28755}#
+                                                             (cdr #{w 
26995}#)))
+                                                       (if (null? #{m1 28754}#)
+                                                         (if (null? #{s1 
28755}#)
+                                                           #{w2 28753}#
+                                                           (cons (car #{w2 
28753}#)
+                                                                 (let ((#{m2 
28770}#
+                                                                         (cdr 
#{w2 28753}#)))
+                                                                   (if (null? 
#{m2 28770}#)
+                                                                     #{s1 
28755}#
+                                                                     (append
+                                                                       #{s1 
28755}#
+                                                                       #{m2 
28770}#)))))
+                                                         (cons (let ((#{m2 
28778}#
+                                                                       (car 
#{w2 28753}#)))
+                                                                 (if (null? 
#{m2 28778}#)
+                                                                   #{m1 28754}#
+                                                                   (append
+                                                                     #{m1 
28754}#
+                                                                     #{m2 
28778}#)))
+                                                               (let ((#{m2 
28786}#
+                                                                       (cdr 
#{w2 28753}#)))
+                                                                 (if (null? 
#{m2 28786}#)
+                                                                   #{s1 28755}#
+                                                                   (append
+                                                                     #{s1 
28755}#
+                                                                     #{m2 
28786}#))))))))
+                                                 (#{module 28746}#
+                                                   (vector-ref #{x 28712}# 3)))
+                                             (vector
+                                               'syntax-object
+                                               #{expression 28744}#
+                                               #{wrap 28745}#
+                                               #{module 28746}#))
+                                           (if (null? #{x 28712}#)
+                                             #{x 28712}#
+                                             (vector
+                                               'syntax-object
+                                               #{x 28712}#
+                                               #{w 26995}#
+                                               #{mod 26997}#))))))
                                    (syntax-violation
                                      #f
                                      "unexpected syntax"
-                                     (#{source-wrap 429}#
-                                       #{e 1950}#
-                                       #{w 1952}#
-                                       #{s 1953}#
-                                       #{mod 1954}#))))))))))))))))))
-   (#{chi-call 445}#
-     (lambda (#{x 2009}#
-              #{e 2010}#
-              #{r 2011}#
-              #{w 2012}#
-              #{s 2013}#
-              #{mod 2014}#)
-       (let ((#{tmp 2022}#
-               ($sc-dispatch #{e 2010}# '(any . each-any))))
-         (if #{tmp 2022}#
+                                     (let ((#{x 28810}#
+                                             (begin
+                                               (if (if (pair? #{e 26993}#)
+                                                     #{s 26996}#
+                                                     #f)
+                                                 (set-source-properties!
+                                                   #{e 26993}#
+                                                   #{s 26996}#))
+                                               #{e 26993}#)))
+                                       (if (if (null? (car #{w 26995}#))
+                                             (null? (cdr #{w 26995}#))
+                                             #f)
+                                         #{x 28810}#
+                                         (if (if (vector? #{x 28810}#)
+                                               (if (= (vector-length
+                                                        #{x 28810}#)
+                                                      4)
+                                                 (eq? (vector-ref
+                                                        #{x 28810}#
+                                                        0)
+                                                      'syntax-object)
+                                                 #f)
+                                               #f)
+                                           (let ((#{expression 28842}#
+                                                   (vector-ref #{x 28810}# 1))
+                                                 (#{wrap 28843}#
+                                                   (let ((#{w2 28851}#
+                                                           (vector-ref
+                                                             #{x 28810}#
+                                                             2)))
+                                                     (let ((#{m1 28852}#
+                                                             (car #{w 26995}#))
+                                                           (#{s1 28853}#
+                                                             (cdr #{w 
26995}#)))
+                                                       (if (null? #{m1 28852}#)
+                                                         (if (null? #{s1 
28853}#)
+                                                           #{w2 28851}#
+                                                           (cons (car #{w2 
28851}#)
+                                                                 (let ((#{m2 
28868}#
+                                                                         (cdr 
#{w2 28851}#)))
+                                                                   (if (null? 
#{m2 28868}#)
+                                                                     #{s1 
28853}#
+                                                                     (append
+                                                                       #{s1 
28853}#
+                                                                       #{m2 
28868}#)))))
+                                                         (cons (let ((#{m2 
28876}#
+                                                                       (car 
#{w2 28851}#)))
+                                                                 (if (null? 
#{m2 28876}#)
+                                                                   #{m1 28852}#
+                                                                   (append
+                                                                     #{m1 
28852}#
+                                                                     #{m2 
28876}#)))
+                                                               (let ((#{m2 
28884}#
+                                                                       (cdr 
#{w2 28851}#)))
+                                                                 (if (null? 
#{m2 28884}#)
+                                                                   #{s1 28853}#
+                                                                   (append
+                                                                     #{s1 
28853}#
+                                                                     #{m2 
28884}#))))))))
+                                                 (#{module 28844}#
+                                                   (vector-ref #{x 28810}# 3)))
+                                             (vector
+                                               'syntax-object
+                                               #{expression 28842}#
+                                               #{wrap 28843}#
+                                               #{module 28844}#))
+                                           (if (null? #{x 28810}#)
+                                             #{x 28810}#
+                                             (vector
+                                               'syntax-object
+                                               #{x 28810}#
+                                               #{w 26995}#
+                                               #{mod 
26997}#))))))))))))))))))))))
+   (#{chi-call 4377}#
+     (lambda (#{x 28899}#
+              #{e 28900}#
+              #{r 28901}#
+              #{w 28902}#
+              #{s 28903}#
+              #{mod 28904}#)
+       (let ((#{tmp 28906}#
+               ($sc-dispatch #{e 28900}# '(any . each-any))))
+         (if #{tmp 28906}#
            (@apply
-             (lambda (#{e0 2025}# #{e1 2026}#)
-               (#{build-call 273}#
-                 #{s 2013}#
-                 #{x 2009}#
-                 (map (lambda (#{e 2027}#)
-                        (#{chi 441}#
-                          #{e 2027}#
-                          #{r 2011}#
-                          #{w 2012}#
-                          #{mod 2014}#))
-                      #{e1 2026}#)))
-             #{tmp 2022}#)
+             (lambda (#{e0 28910}# #{e1 28911}#)
+               (#{build-call 4309}#
+                 #{s 28903}#
+                 #{x 28899}#
+                 (map (lambda (#{e 29001}#)
+                        (#{chi 4375}#
+                          #{e 29001}#
+                          #{r 28901}#
+                          #{w 28902}#
+                          #{mod 28904}#))
+                      #{e1 28911}#)))
+             #{tmp 28906}#)
            (syntax-violation
              #f
              "source expression failed to match any pattern"
-             #{e 2010}#)))))
-   (#{chi-macro 447}#
-     (lambda (#{p 2030}#
-              #{e 2031}#
-              #{r 2032}#
-              #{w 2033}#
-              #{s 2034}#
-              #{rib 2035}#
-              #{mod 2036}#)
+             #{e 28900}#)))))
+   (#{chi-macro 4378}#
+     (lambda (#{p 29087}#
+              #{e 29088}#
+              #{r 29089}#
+              #{w 29090}#
+              #{s 29091}#
+              #{rib 29092}#
+              #{mod 29093}#)
        (letrec*
-         ((#{rebuild-macro-output 2045}#
-            (lambda (#{x 2046}# #{m 2047}#)
-              (if (pair? #{x 2046}#)
-                (#{decorate-source 267}#
-                  (cons (#{rebuild-macro-output 2045}#
-                          (car #{x 2046}#)
-                          #{m 2047}#)
-                        (#{rebuild-macro-output 2045}#
-                          (cdr #{x 2046}#)
-                          #{m 2047}#))
-                  #{s 2034}#)
-                (if (#{syntax-object? 316}# #{x 2046}#)
-                  (let ((#{w 2055}#
-                          (#{syntax-object-wrap 320}# #{x 2046}#)))
-                    (let ((#{ms 2058}# (car #{w 2055}#))
-                          (#{s 2059}# (cdr #{w 2055}#)))
-                      (if (if (pair? #{ms 2058}#)
-                            (eq? (car #{ms 2058}#) #f)
+         ((#{rebuild-macro-output 29094}#
+            (lambda (#{x 29201}# #{m 29202}#)
+              (if (pair? #{x 29201}#)
+                (let ((#{e 29206}#
+                        (cons (#{rebuild-macro-output 29094}#
+                                (car #{x 29201}#)
+                                #{m 29202}#)
+                              (#{rebuild-macro-output 29094}#
+                                (cdr #{x 29201}#)
+                                #{m 29202}#))))
+                  (begin
+                    (if (if (pair? #{e 29206}#) #{s 29091}# #f)
+                      (set-source-properties! #{e 29206}# #{s 29091}#))
+                    #{e 29206}#))
+                (if (if (vector? #{x 29201}#)
+                      (if (= (vector-length #{x 29201}#) 4)
+                        (eq? (vector-ref #{x 29201}# 0) 'syntax-object)
+                        #f)
+                      #f)
+                  (let ((#{w 29222}# (vector-ref #{x 29201}# 2)))
+                    (let ((#{ms 29223}# (car #{w 29222}#))
+                          (#{s 29224}# (cdr #{w 29222}#)))
+                      (if (if (pair? #{ms 29223}#)
+                            (eq? (car #{ms 29223}#) #f)
                             #f)
-                        (#{make-syntax-object 314}#
-                          (#{syntax-object-expression 318}# #{x 2046}#)
-                          (cons (cdr #{ms 2058}#)
-                                (if #{rib 2035}#
-                                  (cons #{rib 2035}# (cdr #{s 2059}#))
-                                  (cdr #{s 2059}#)))
-                          (#{syntax-object-module 322}# #{x 2046}#))
-                        (#{make-syntax-object 314}#
-                          (#{decorate-source 267}#
-                            (#{syntax-object-expression 318}# #{x 2046}#)
-                            #{s 2059}#)
-                          (cons (cons #{m 2047}# #{ms 2058}#)
-                                (if #{rib 2035}#
-                                  (cons #{rib 2035}# (cons 'shift #{s 2059}#))
-                                  (cons 'shift #{s 2059}#)))
-                          (#{syntax-object-module 322}# #{x 2046}#)))))
-                  (if (vector? #{x 2046}#)
-                    (let ((#{n 2071}# (vector-length #{x 2046}#)))
-                      (let ((#{v 2073}#
-                              (#{decorate-source 267}#
-                                (make-vector #{n 2071}#)
-                                #{x 2046}#)))
+                        (let ((#{expression 29232}# (vector-ref #{x 29201}# 1))
+                              (#{wrap 29233}#
+                                (cons (cdr #{ms 29223}#)
+                                      (if #{rib 29092}#
+                                        (cons #{rib 29092}# (cdr #{s 29224}#))
+                                        (cdr #{s 29224}#))))
+                              (#{module 29234}# (vector-ref #{x 29201}# 3)))
+                          (vector
+                            'syntax-object
+                            #{expression 29232}#
+                            #{wrap 29233}#
+                            #{module 29234}#))
+                        (let ((#{expression 29244}#
+                                (let ((#{e 29249}# (vector-ref #{x 29201}# 1)))
+                                  (begin
+                                    (if (if (pair? #{e 29249}#) #{s 29224}# #f)
+                                      (set-source-properties!
+                                        #{e 29249}#
+                                        #{s 29224}#))
+                                    #{e 29249}#)))
+                              (#{wrap 29245}#
+                                (cons (cons #{m 29202}# #{ms 29223}#)
+                                      (if #{rib 29092}#
+                                        (cons #{rib 29092}#
+                                              (cons 'shift #{s 29224}#))
+                                        (cons 'shift #{s 29224}#))))
+                              (#{module 29246}# (vector-ref #{x 29201}# 3)))
+                          (vector
+                            'syntax-object
+                            #{expression 29244}#
+                            #{wrap 29245}#
+                            #{module 29246}#)))))
+                  (if (vector? #{x 29201}#)
+                    (let ((#{n 29261}# (vector-length #{x 29201}#)))
+                      (let ((#{v 29262}#
+                              (let ((#{e 29270}# (make-vector #{n 29261}#)))
+                                (begin
+                                  (if (if (pair? #{e 29270}#) #{x 29201}# #f)
+                                    (set-source-properties!
+                                      #{e 29270}#
+                                      #{x 29201}#))
+                                  #{e 29270}#))))
                         (letrec*
-                          ((#{loop 2076}#
-                             (lambda (#{i 2077}#)
-                               (if (= #{i 2077}# #{n 2071}#)
-                                 #{v 2073}#
+                          ((#{loop 29263}#
+                             (lambda (#{i 29324}#)
+                               (if (= #{i 29324}# #{n 29261}#)
+                                 #{v 29262}#
                                  (begin
                                    (vector-set!
-                                     #{v 2073}#
-                                     #{i 2077}#
-                                     (#{rebuild-macro-output 2045}#
-                                       (vector-ref #{x 2046}# #{i 2077}#)
-                                       #{m 2047}#))
-                                   (#{loop 2076}# (#{1+}# #{i 2077}#)))))))
-                          (#{loop 2076}# 0))))
-                    (if (symbol? #{x 2046}#)
+                                     #{v 29262}#
+                                     #{i 29324}#
+                                     (#{rebuild-macro-output 29094}#
+                                       (vector-ref #{x 29201}# #{i 29324}#)
+                                       #{m 29202}#))
+                                   (#{loop 29263}# (#{1+}# #{i 29324}#)))))))
+                          (#{loop 29263}# 0))))
+                    (if (symbol? #{x 29201}#)
                       (syntax-violation
                         #f
                         "encountered raw symbol in macro output"
-                        (#{source-wrap 429}#
-                          #{e 2031}#
-                          #{w 2033}#
-                          (cdr #{w 2033}#)
-                          #{mod 2036}#)
-                        #{x 2046}#)
-                      (#{decorate-source 267}# #{x 2046}# #{s 2034}#))))))))
-         (#{rebuild-macro-output 2045}#
-           (#{p 2030}#
-             (#{source-wrap 429}#
-               #{e 2031}#
-               (#{anti-mark 397}# #{w 2033}#)
-               #{s 2034}#
-               #{mod 2036}#))
+                        (let ((#{s 29330}# (cdr #{w 29090}#)))
+                          (let ((#{x 29334}#
+                                  (begin
+                                    (if (if (pair? #{e 29088}#) #{s 29330}# #f)
+                                      (set-source-properties!
+                                        #{e 29088}#
+                                        #{s 29330}#))
+                                    #{e 29088}#)))
+                            (if (if (null? (car #{w 29090}#))
+                                  (null? (cdr #{w 29090}#))
+                                  #f)
+                              #{x 29334}#
+                              (if (if (vector? #{x 29334}#)
+                                    (if (= (vector-length #{x 29334}#) 4)
+                                      (eq? (vector-ref #{x 29334}# 0)
+                                           'syntax-object)
+                                      #f)
+                                    #f)
+                                (let ((#{expression 29366}#
+                                        (vector-ref #{x 29334}# 1))
+                                      (#{wrap 29367}#
+                                        (let ((#{w2 29375}#
+                                                (vector-ref #{x 29334}# 2)))
+                                          (let ((#{m1 29376}#
+                                                  (car #{w 29090}#))
+                                                (#{s1 29377}#
+                                                  (cdr #{w 29090}#)))
+                                            (if (null? #{m1 29376}#)
+                                              (if (null? #{s1 29377}#)
+                                                #{w2 29375}#
+                                                (cons (car #{w2 29375}#)
+                                                      (let ((#{m2 29392}#
+                                                              (cdr #{w2 
29375}#)))
+                                                        (if (null? #{m2 
29392}#)
+                                                          #{s1 29377}#
+                                                          (append
+                                                            #{s1 29377}#
+                                                            #{m2 29392}#)))))
+                                              (cons (let ((#{m2 29400}#
+                                                            (car #{w2 
29375}#)))
+                                                      (if (null? #{m2 29400}#)
+                                                        #{m1 29376}#
+                                                        (append
+                                                          #{m1 29376}#
+                                                          #{m2 29400}#)))
+                                                    (let ((#{m2 29408}#
+                                                            (cdr #{w2 
29375}#)))
+                                                      (if (null? #{m2 29408}#)
+                                                        #{s1 29377}#
+                                                        (append
+                                                          #{s1 29377}#
+                                                          #{m2 29408}#))))))))
+                                      (#{module 29368}#
+                                        (vector-ref #{x 29334}# 3)))
+                                  (vector
+                                    'syntax-object
+                                    #{expression 29366}#
+                                    #{wrap 29367}#
+                                    #{module 29368}#))
+                                (if (null? #{x 29334}#)
+                                  #{x 29334}#
+                                  (vector
+                                    'syntax-object
+                                    #{x 29334}#
+                                    #{w 29090}#
+                                    #{mod 29093}#))))))
+                        #{x 29201}#)
+                      (begin
+                        (if (if (pair? #{x 29201}#) #{s 29091}# #f)
+                          (set-source-properties! #{x 29201}# #{s 29091}#))
+                        #{x 29201}#))))))))
+         (#{rebuild-macro-output 29094}#
+           (#{p 29087}#
+             (let ((#{w 29101}#
+                     (cons (cons #f (car #{w 29090}#))
+                           (cons 'shift (cdr #{w 29090}#)))))
+               (let ((#{x 29106}#
+                       (begin
+                         (if (if (pair? #{e 29088}#) #{s 29091}# #f)
+                           (set-source-properties! #{e 29088}# #{s 29091}#))
+                         #{e 29088}#)))
+                 (if (if (null? (car #{w 29101}#))
+                       (null? (cdr #{w 29101}#))
+                       #f)
+                   #{x 29106}#
+                   (if (if (vector? #{x 29106}#)
+                         (if (= (vector-length #{x 29106}#) 4)
+                           (eq? (vector-ref #{x 29106}# 0) 'syntax-object)
+                           #f)
+                         #f)
+                     (let ((#{expression 29144}# (vector-ref #{x 29106}# 1))
+                           (#{wrap 29145}#
+                             (let ((#{w2 29153}# (vector-ref #{x 29106}# 2)))
+                               (let ((#{m1 29154}# (car #{w 29101}#))
+                                     (#{s1 29155}# (cdr #{w 29101}#)))
+                                 (if (null? #{m1 29154}#)
+                                   (if (null? #{s1 29155}#)
+                                     #{w2 29153}#
+                                     (cons (car #{w2 29153}#)
+                                           (let ((#{m2 29170}#
+                                                   (cdr #{w2 29153}#)))
+                                             (if (null? #{m2 29170}#)
+                                               #{s1 29155}#
+                                               (append
+                                                 #{s1 29155}#
+                                                 #{m2 29170}#)))))
+                                   (cons (let ((#{m2 29178}#
+                                                 (car #{w2 29153}#)))
+                                           (if (null? #{m2 29178}#)
+                                             #{m1 29154}#
+                                             (append
+                                               #{m1 29154}#
+                                               #{m2 29178}#)))
+                                         (let ((#{m2 29186}#
+                                                 (cdr #{w2 29153}#)))
+                                           (if (null? #{m2 29186}#)
+                                             #{s1 29155}#
+                                             (append
+                                               #{s1 29155}#
+                                               #{m2 29186}#))))))))
+                           (#{module 29146}# (vector-ref #{x 29106}# 3)))
+                       (vector
+                         'syntax-object
+                         #{expression 29144}#
+                         #{wrap 29145}#
+                         #{module 29146}#))
+                     (if (null? #{x 29106}#)
+                       #{x 29106}#
+                       (vector
+                         'syntax-object
+                         #{x 29106}#
+                         #{w 29101}#
+                         #{mod 29093}#)))))))
            (gensym "m")))))
-   (#{chi-body 449}#
-     (lambda (#{body 2087}#
-              #{outer-form 2088}#
-              #{r 2089}#
-              #{w 2090}#
-              #{mod 2091}#)
-       (let ((#{r 2099}#
-               (cons '("placeholder" placeholder) #{r 2089}#)))
-         (let ((#{ribcage 2101}#
-                 (#{make-ribcage 376}# '() '() '())))
-           (let ((#{w 2104}#
-                   (cons (car #{w 2090}#)
-                         (cons #{ribcage 2101}# (cdr #{w 2090}#)))))
+   (#{chi-body 4379}#
+     (lambda (#{body 29438}#
+              #{outer-form 29439}#
+              #{r 29440}#
+              #{w 29441}#
+              #{mod 29442}#)
+       (let ((#{r 29443}#
+               (cons '("placeholder" placeholder) #{r 29440}#)))
+         (let ((#{ribcage 29444}# (vector 'ribcage '() '() '())))
+           (let ((#{w 29445}#
+                   (cons (car #{w 29441}#)
+                         (cons #{ribcage 29444}# (cdr #{w 29441}#)))))
              (letrec*
-               ((#{parse 2116}#
-                  (lambda (#{body 2117}#
-                           #{ids 2118}#
-                           #{labels 2119}#
-                           #{var-ids 2120}#
-                           #{vars 2121}#
-                           #{vals 2122}#
-                           #{bindings 2123}#)
-                    (if (null? #{body 2117}#)
+               ((#{parse 29446}#
+                  (lambda (#{body 29554}#
+                           #{ids 29555}#
+                           #{labels 29556}#
+                           #{var-ids 29557}#
+                           #{vars 29558}#
+                           #{vals 29559}#
+                           #{bindings 29560}#)
+                    (if (null? #{body 29554}#)
                       (syntax-violation
                         #f
                         "no expressions in body"
-                        #{outer-form 2088}#)
-                      (let ((#{e 2128}# (cdr (car #{body 2117}#)))
-                            (#{er 2129}# (car (car #{body 2117}#))))
+                        #{outer-form 29439}#)
+                      (let ((#{e 29561}# (cdr (car #{body 29554}#)))
+                            (#{er 29562}# (car (car #{body 29554}#))))
                         (call-with-values
                           (lambda ()
-                            (#{syntax-type 439}#
-                              #{e 2128}#
-                              #{er 2129}#
+                            (#{syntax-type 4374}#
+                              #{e 29561}#
+                              #{er 29562}#
                               '(())
-                              (#{source-annotation 331}# #{er 2129}#)
-                              #{ribcage 2101}#
-                              #{mod 2091}#
+                              (#{source-annotation 4336}# #{er 29562}#)
+                              #{ribcage 29444}#
+                              #{mod 29442}#
                               #f))
-                          (lambda (#{type 2131}#
-                                   #{value 2132}#
-                                   #{e 2133}#
-                                   #{w 2134}#
-                                   #{s 2135}#
-                                   #{mod 2136}#)
-                            (if (memv #{type 2131}# '(define-form))
-                              (let ((#{id 2146}#
-                                      (#{wrap 427}#
-                                        #{value 2132}#
-                                        #{w 2134}#
-                                        #{mod 2136}#))
-                                    (#{label 2147}# (#{gen-label 371}#)))
-                                (let ((#{var 2149}#
-                                        (#{gen-var 469}# #{id 2146}#)))
+                          (lambda (#{type 29756}#
+                                   #{value 29757}#
+                                   #{e 29758}#
+                                   #{w 29759}#
+                                   #{s 29760}#
+                                   #{mod 29761}#)
+                            (if (eqv? #{type 29756}# 'define-form)
+                              (let ((#{id 29765}#
+                                      (if (if (null? (car #{w 29759}#))
+                                            (null? (cdr #{w 29759}#))
+                                            #f)
+                                        #{value 29757}#
+                                        (if (if (vector? #{value 29757}#)
+                                              (if (= (vector-length
+                                                       #{value 29757}#)
+                                                     4)
+                                                (eq? (vector-ref
+                                                       #{value 29757}#
+                                                       0)
+                                                     'syntax-object)
+                                                #f)
+                                              #f)
+                                          (let ((#{expression 29810}#
+                                                  (vector-ref
+                                                    #{value 29757}#
+                                                    1))
+                                                (#{wrap 29811}#
+                                                  (let ((#{w2 29821}#
+                                                          (vector-ref
+                                                            #{value 29757}#
+                                                            2)))
+                                                    (let ((#{m1 29822}#
+                                                            (car #{w 29759}#))
+                                                          (#{s1 29823}#
+                                                            (cdr #{w 29759}#)))
+                                                      (if (null? #{m1 29822}#)
+                                                        (if (null? #{s1 
29823}#)
+                                                          #{w2 29821}#
+                                                          (cons (car #{w2 
29821}#)
+                                                                (let ((#{m2 
29840}#
+                                                                        (cdr 
#{w2 29821}#)))
+                                                                  (if (null? 
#{m2 29840}#)
+                                                                    #{s1 
29823}#
+                                                                    (append
+                                                                      #{s1 
29823}#
+                                                                      #{m2 
29840}#)))))
+                                                        (cons (let ((#{m2 
29848}#
+                                                                      (car 
#{w2 29821}#)))
+                                                                (if (null? 
#{m2 29848}#)
+                                                                  #{m1 29822}#
+                                                                  (append
+                                                                    #{m1 
29822}#
+                                                                    #{m2 
29848}#)))
+                                                              (let ((#{m2 
29856}#
+                                                                      (cdr 
#{w2 29821}#)))
+                                                                (if (null? 
#{m2 29856}#)
+                                                                  #{s1 29823}#
+                                                                  (append
+                                                                    #{s1 
29823}#
+                                                                    #{m2 
29856}#))))))))
+                                                (#{module 29812}#
+                                                  (vector-ref
+                                                    #{value 29757}#
+                                                    3)))
+                                            (vector
+                                              'syntax-object
+                                              #{expression 29810}#
+                                              #{wrap 29811}#
+                                              #{module 29812}#))
+                                          (if (null? #{value 29757}#)
+                                            #{value 29757}#
+                                            (vector
+                                              'syntax-object
+                                              #{value 29757}#
+                                              #{w 29759}#
+                                              #{mod 29761}#)))))
+                                    (#{label 29766}#
+                                      (symbol->string (gensym "i"))))
+                                (let ((#{var 29767}#
+                                        (let ((#{id 29917}#
+                                                (if (if (vector? #{id 29765}#)
+                                                      (if (= (vector-length
+                                                               #{id 29765}#)
+                                                             4)
+                                                        (eq? (vector-ref
+                                                               #{id 29765}#
+                                                               0)
+                                                             'syntax-object)
+                                                        #f)
+                                                      #f)
+                                                  (vector-ref #{id 29765}# 1)
+                                                  #{id 29765}#)))
+                                          (gensym
+                                            (string-append
+                                              (symbol->string #{id 29917}#)
+                                              " ")))))
                                   (begin
-                                    (#{extend-ribcage! 403}#
-                                      #{ribcage 2101}#
-                                      #{id 2146}#
-                                      #{label 2147}#)
-                                    (#{parse 2116}#
-                                      (cdr #{body 2117}#)
-                                      (cons #{id 2146}# #{ids 2118}#)
-                                      (cons #{label 2147}# #{labels 2119}#)
-                                      (cons #{id 2146}# #{var-ids 2120}#)
-                                      (cons #{var 2149}# #{vars 2121}#)
-                                      (cons (cons #{er 2129}#
-                                                  (#{wrap 427}#
-                                                    #{e 2133}#
-                                                    #{w 2134}#
-                                                    #{mod 2136}#))
-                                            #{vals 2122}#)
-                                      (cons (cons 'lexical #{var 2149}#)
-                                            #{bindings 2123}#)))))
-                              (if (memv #{type 2131}# '(define-syntax-form))
-                                (let ((#{id 2154}#
-                                        (#{wrap 427}#
-                                          #{value 2132}#
-                                          #{w 2134}#
-                                          #{mod 2136}#))
-                                      (#{label 2155}# (#{gen-label 371}#)))
+                                    (begin
+                                      (let ((#{update 29776}#
+                                              (cons (vector-ref #{id 29765}# 1)
+                                                    (vector-ref
+                                                      #{ribcage 29444}#
+                                                      1))))
+                                        (vector-set!
+                                          #{ribcage 29444}#
+                                          1
+                                          #{update 29776}#))
+                                      (let ((#{update 29888}#
+                                              (cons (car (vector-ref
+                                                           #{id 29765}#
+                                                           2))
+                                                    (vector-ref
+                                                      #{ribcage 29444}#
+                                                      2))))
+                                        (vector-set!
+                                          #{ribcage 29444}#
+                                          2
+                                          #{update 29888}#))
+                                      (let ((#{update 29903}#
+                                              (cons #{label 29766}#
+                                                    (vector-ref
+                                                      #{ribcage 29444}#
+                                                      3))))
+                                        (vector-set!
+                                          #{ribcage 29444}#
+                                          3
+                                          #{update 29903}#)))
+                                    (#{parse 29446}#
+                                      (cdr #{body 29554}#)
+                                      (cons #{id 29765}# #{ids 29555}#)
+                                      (cons #{label 29766}# #{labels 29556}#)
+                                      (cons #{id 29765}# #{var-ids 29557}#)
+                                      (cons #{var 29767}# #{vars 29558}#)
+                                      (cons (cons #{er 29562}#
+                                                  (if (if (null? (car #{w 
29759}#))
+                                                        (null? (cdr #{w 
29759}#))
+                                                        #f)
+                                                    #{e 29758}#
+                                                    (if (if (vector?
+                                                              #{e 29758}#)
+                                                          (if (= (vector-length
+                                                                   #{e 29758}#)
+                                                                 4)
+                                                            (eq? (vector-ref
+                                                                   #{e 29758}#
+                                                                   0)
+                                                                 
'syntax-object)
+                                                            #f)
+                                                          #f)
+                                                      (let ((#{expression 
29969}#
+                                                              (vector-ref
+                                                                #{e 29758}#
+                                                                1))
+                                                            (#{wrap 29970}#
+                                                              (let ((#{w2 
29980}#
+                                                                      
(vector-ref
+                                                                        #{e 
29758}#
+                                                                        2)))
+                                                                (let ((#{m1 
29981}#
+                                                                        (car 
#{w 29759}#))
+                                                                      (#{s1 
29982}#
+                                                                        (cdr 
#{w 29759}#)))
+                                                                  (if (null? 
#{m1 29981}#)
+                                                                    (if (null? 
#{s1 29982}#)
+                                                                      #{w2 
29980}#
+                                                                      (cons 
(car #{w2 29980}#)
+                                                                            
(let ((#{m2 29999}#
+                                                                               
     (cdr #{w2 29980}#)))
+                                                                              
(if (null? #{m2 29999}#)
+                                                                               
 #{s1 29982}#
+                                                                               
 (append
+                                                                               
   #{s1 29982}#
+                                                                               
   #{m2 29999}#)))))
+                                                                    (cons (let 
((#{m2 30007}#
+                                                                               
   (car #{w2 29980}#)))
+                                                                            
(if (null? #{m2 30007}#)
+                                                                              
#{m1 29981}#
+                                                                              
(append
+                                                                               
 #{m1 29981}#
+                                                                               
 #{m2 30007}#)))
+                                                                          (let 
((#{m2 30015}#
+                                                                               
   (cdr #{w2 29980}#)))
+                                                                            
(if (null? #{m2 30015}#)
+                                                                              
#{s1 29982}#
+                                                                              
(append
+                                                                               
 #{s1 29982}#
+                                                                               
 #{m2 30015}#))))))))
+                                                            (#{module 29971}#
+                                                              (vector-ref
+                                                                #{e 29758}#
+                                                                3)))
+                                                        (vector
+                                                          'syntax-object
+                                                          #{expression 29969}#
+                                                          #{wrap 29970}#
+                                                          #{module 29971}#))
+                                                      (if (null? #{e 29758}#)
+                                                        #{e 29758}#
+                                                        (vector
+                                                          'syntax-object
+                                                          #{e 29758}#
+                                                          #{w 29759}#
+                                                          #{mod 29761}#)))))
+                                            #{vals 29559}#)
+                                      (cons (cons 'lexical #{var 29767}#)
+                                            #{bindings 29560}#)))))
+                              (if (eqv? #{type 29756}# 'define-syntax-form)
+                                (let ((#{id 30041}#
+                                        (if (if (null? (car #{w 29759}#))
+                                              (null? (cdr #{w 29759}#))
+                                              #f)
+                                          #{value 29757}#
+                                          (if (if (vector? #{value 29757}#)
+                                                (if (= (vector-length
+                                                         #{value 29757}#)
+                                                       4)
+                                                  (eq? (vector-ref
+                                                         #{value 29757}#
+                                                         0)
+                                                       'syntax-object)
+                                                  #f)
+                                                #f)
+                                            (let ((#{expression 30085}#
+                                                    (vector-ref
+                                                      #{value 29757}#
+                                                      1))
+                                                  (#{wrap 30086}#
+                                                    (let ((#{w2 30096}#
+                                                            (vector-ref
+                                                              #{value 29757}#
+                                                              2)))
+                                                      (let ((#{m1 30097}#
+                                                              (car #{w 
29759}#))
+                                                            (#{s1 30098}#
+                                                              (cdr #{w 
29759}#)))
+                                                        (if (null? #{m1 
30097}#)
+                                                          (if (null? #{s1 
30098}#)
+                                                            #{w2 30096}#
+                                                            (cons (car #{w2 
30096}#)
+                                                                  (let ((#{m2 
30115}#
+                                                                          (cdr 
#{w2 30096}#)))
+                                                                    (if (null? 
#{m2 30115}#)
+                                                                      #{s1 
30098}#
+                                                                      (append
+                                                                        #{s1 
30098}#
+                                                                        #{m2 
30115}#)))))
+                                                          (cons (let ((#{m2 
30123}#
+                                                                        (car 
#{w2 30096}#)))
+                                                                  (if (null? 
#{m2 30123}#)
+                                                                    #{m1 
30097}#
+                                                                    (append
+                                                                      #{m1 
30097}#
+                                                                      #{m2 
30123}#)))
+                                                                (let ((#{m2 
30131}#
+                                                                        (cdr 
#{w2 30096}#)))
+                                                                  (if (null? 
#{m2 30131}#)
+                                                                    #{s1 
30098}#
+                                                                    (append
+                                                                      #{s1 
30098}#
+                                                                      #{m2 
30131}#))))))))
+                                                  (#{module 30087}#
+                                                    (vector-ref
+                                                      #{value 29757}#
+                                                      3)))
+                                              (vector
+                                                'syntax-object
+                                                #{expression 30085}#
+                                                #{wrap 30086}#
+                                                #{module 30087}#))
+                                            (if (null? #{value 29757}#)
+                                              #{value 29757}#
+                                              (vector
+                                                'syntax-object
+                                                #{value 29757}#
+                                                #{w 29759}#
+                                                #{mod 29761}#)))))
+                                      (#{label 30042}#
+                                        (symbol->string (gensym "i"))))
                                   (begin
-                                    (#{extend-ribcage! 403}#
-                                      #{ribcage 2101}#
-                                      #{id 2154}#
-                                      #{label 2155}#)
-                                    (#{parse 2116}#
-                                      (cdr #{body 2117}#)
-                                      (cons #{id 2154}# #{ids 2118}#)
-                                      (cons #{label 2155}# #{labels 2119}#)
-                                      #{var-ids 2120}#
-                                      #{vars 2121}#
-                                      #{vals 2122}#
+                                    (begin
+                                      (let ((#{update 30051}#
+                                              (cons (vector-ref #{id 30041}# 1)
+                                                    (vector-ref
+                                                      #{ribcage 29444}#
+                                                      1))))
+                                        (vector-set!
+                                          #{ribcage 29444}#
+                                          1
+                                          #{update 30051}#))
+                                      (let ((#{update 30163}#
+                                              (cons (car (vector-ref
+                                                           #{id 30041}#
+                                                           2))
+                                                    (vector-ref
+                                                      #{ribcage 29444}#
+                                                      2))))
+                                        (vector-set!
+                                          #{ribcage 29444}#
+                                          2
+                                          #{update 30163}#))
+                                      (let ((#{update 30178}#
+                                              (cons #{label 30042}#
+                                                    (vector-ref
+                                                      #{ribcage 29444}#
+                                                      3))))
+                                        (vector-set!
+                                          #{ribcage 29444}#
+                                          3
+                                          #{update 30178}#)))
+                                    (#{parse 29446}#
+                                      (cdr #{body 29554}#)
+                                      (cons #{id 30041}# #{ids 29555}#)
+                                      (cons #{label 30042}# #{labels 29556}#)
+                                      #{var-ids 29557}#
+                                      #{vars 29558}#
+                                      #{vals 29559}#
                                       (cons (cons 'macro
-                                                  (cons #{er 2129}#
-                                                        (#{wrap 427}#
-                                                          #{e 2133}#
-                                                          #{w 2134}#
-                                                          #{mod 2136}#)))
-                                            #{bindings 2123}#))))
-                                (if (memv #{type 2131}# '(begin-form))
-                                  (let ((#{tmp 2159}#
+                                                  (cons #{er 29562}#
+                                                        (if (if (null? (car 
#{w 29759}#))
+                                                              (null? (cdr #{w 
29759}#))
+                                                              #f)
+                                                          #{e 29758}#
+                                                          (if (if (vector?
+                                                                    #{e 
29758}#)
+                                                                (if (= 
(vector-length
+                                                                         #{e 
29758}#)
+                                                                       4)
+                                                                  (eq? 
(vector-ref
+                                                                         #{e 
29758}#
+                                                                         0)
+                                                                       
'syntax-object)
+                                                                  #f)
+                                                                #f)
+                                                            (let 
((#{expression 30217}#
+                                                                    (vector-ref
+                                                                      #{e 
29758}#
+                                                                      1))
+                                                                  (#{wrap 
30218}#
+                                                                    (let 
((#{w2 30228}#
+                                                                            
(vector-ref
+                                                                              
#{e 29758}#
+                                                                              
2)))
+                                                                      (let 
((#{m1 30229}#
+                                                                              
(car #{w 29759}#))
+                                                                            
(#{s1 30230}#
+                                                                              
(cdr #{w 29759}#)))
+                                                                        (if 
(null? #{m1 30229}#)
+                                                                          (if 
(null? #{s1 30230}#)
+                                                                            
#{w2 30228}#
+                                                                            
(cons (car #{w2 30228}#)
+                                                                               
   (let ((#{m2 30247}#
+                                                                               
           (cdr #{w2 30228}#)))
+                                                                               
     (if (null? #{m2 30247}#)
+                                                                               
       #{s1 30230}#
+                                                                               
       (append
+                                                                               
         #{s1 30230}#
+                                                                               
         #{m2 30247}#)))))
+                                                                          
(cons (let ((#{m2 30255}#
+                                                                               
         (car #{w2 30228}#)))
+                                                                               
   (if (null? #{m2 30255}#)
+                                                                               
     #{m1 30229}#
+                                                                               
     (append
+                                                                               
       #{m1 30229}#
+                                                                               
       #{m2 30255}#)))
+                                                                               
 (let ((#{m2 30263}#
+                                                                               
         (cdr #{w2 30228}#)))
+                                                                               
   (if (null? #{m2 30263}#)
+                                                                               
     #{s1 30230}#
+                                                                               
     (append
+                                                                               
       #{s1 30230}#
+                                                                               
       #{m2 30263}#))))))))
+                                                                  (#{module 
30219}#
+                                                                    (vector-ref
+                                                                      #{e 
29758}#
+                                                                      3)))
+                                                              (vector
+                                                                'syntax-object
+                                                                #{expression 
30217}#
+                                                                #{wrap 30218}#
+                                                                #{module 
30219}#))
+                                                            (if (null? #{e 
29758}#)
+                                                              #{e 29758}#
+                                                              (vector
+                                                                'syntax-object
+                                                                #{e 29758}#
+                                                                #{w 29759}#
+                                                                #{mod 
29761}#))))))
+                                            #{bindings 29560}#))))
+                                (if (eqv? #{type 29756}# 'begin-form)
+                                  (let ((#{tmp 30290}#
                                           ($sc-dispatch
-                                            #{e 2133}#
+                                            #{e 29758}#
                                             '(_ . each-any))))
-                                    (if #{tmp 2159}#
+                                    (if #{tmp 30290}#
                                       (@apply
-                                        (lambda (#{e1 2161}#)
-                                          (#{parse 2116}#
+                                        (lambda (#{e1 30294}#)
+                                          (#{parse 29446}#
                                             (letrec*
-                                              ((#{f 2164}#
-                                                 (lambda (#{forms 2165}#)
-                                                   (if (null? #{forms 2165}#)
-                                                     (cdr #{body 2117}#)
-                                                     (cons (cons #{er 2129}#
-                                                                 (#{wrap 427}#
-                                                                   (car 
#{forms 2165}#)
-                                                                   #{w 2134}#
-                                                                   #{mod 
2136}#))
-                                                           (#{f 2164}#
-                                                             (cdr #{forms 
2165}#)))))))
-                                              (#{f 2164}# #{e1 2161}#))
-                                            #{ids 2118}#
-                                            #{labels 2119}#
-                                            #{var-ids 2120}#
-                                            #{vars 2121}#
-                                            #{vals 2122}#
-                                            #{bindings 2123}#))
-                                        #{tmp 2159}#)
+                                              ((#{f 30295}#
+                                                 (lambda (#{forms 30509}#)
+                                                   (if (null? #{forms 30509}#)
+                                                     (cdr #{body 29554}#)
+                                                     (cons (cons #{er 29562}#
+                                                                 (let ((#{x 
30513}#
+                                                                         (car 
#{forms 30509}#)))
+                                                                   (if (if 
(null? (car #{w 29759}#))
+                                                                         
(null? (cdr #{w 29759}#))
+                                                                         #f)
+                                                                     #{x 
30513}#
+                                                                     (if (if 
(vector?
+                                                                               
#{x 30513}#)
+                                                                           (if 
(= (vector-length
+                                                                               
     #{x 30513}#)
+                                                                               
   4)
+                                                                             
(eq? (vector-ref
+                                                                               
     #{x 30513}#
+                                                                               
     0)
+                                                                               
   'syntax-object)
+                                                                             
#f)
+                                                                           #f)
+                                                                       (let 
((#{expression 30531}#
+                                                                               
(vector-ref
+                                                                               
  #{x 30513}#
+                                                                               
  1))
+                                                                             
(#{wrap 30532}#
+                                                                               
(let ((#{w2 30540}#
+                                                                               
        (vector-ref
+                                                                               
          #{x 30513}#
+                                                                               
          2)))
+                                                                               
  (let ((#{m1 30541}#
+                                                                               
          (car #{w 29759}#))
+                                                                               
        (#{s1 30542}#
+                                                                               
          (cdr #{w 29759}#)))
+                                                                               
    (if (null? #{m1 30541}#)
+                                                                               
      (if (null? #{s1 30542}#)
+                                                                               
        #{w2 30540}#
+                                                                               
        (cons (car #{w2 30540}#)
+                                                                               
              (let ((#{m2 30557}#
+                                                                               
                      (cdr #{w2 30540}#)))
+                                                                               
                (if (null? #{m2 30557}#)
+                                                                               
                  #{s1 30542}#
+                                                                               
                  (append
+                                                                               
                    #{s1 30542}#
+                                                                               
                    #{m2 30557}#)))))
+                                                                               
      (cons (let ((#{m2 30565}#
+                                                                               
                    (car #{w2 30540}#)))
+                                                                               
              (if (null? #{m2 30565}#)
+                                                                               
                #{m1 30541}#
+                                                                               
                (append
+                                                                               
                  #{m1 30541}#
+                                                                               
                  #{m2 30565}#)))
+                                                                               
            (let ((#{m2 30573}#
+                                                                               
                    (cdr #{w2 30540}#)))
+                                                                               
              (if (null? #{m2 30573}#)
+                                                                               
                #{s1 30542}#
+                                                                               
                (append
+                                                                               
                  #{s1 30542}#
+                                                                               
                  #{m2 30573}#))))))))
+                                                                             
(#{module 30533}#
+                                                                               
(vector-ref
+                                                                               
  #{x 30513}#
+                                                                               
  3)))
+                                                                         
(vector
+                                                                           
'syntax-object
+                                                                           
#{expression 30531}#
+                                                                           
#{wrap 30532}#
+                                                                           
#{module 30533}#))
+                                                                       (if 
(null? #{x 30513}#)
+                                                                         #{x 
30513}#
+                                                                         
(vector
+                                                                           
'syntax-object
+                                                                           #{x 
30513}#
+                                                                           #{w 
29759}#
+                                                                           
#{mod 29761}#))))))
+                                                           (#{f 30295}#
+                                                             (cdr #{forms 
30509}#)))))))
+                                              (#{f 30295}# #{e1 30294}#))
+                                            #{ids 29555}#
+                                            #{labels 29556}#
+                                            #{var-ids 29557}#
+                                            #{vars 29558}#
+                                            #{vals 29559}#
+                                            #{bindings 29560}#))
+                                        #{tmp 30290}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{e 2133}#)))
-                                  (if (memv #{type 2131}# '(local-syntax-form))
-                                    (#{chi-local-syntax 451}#
-                                      #{value 2132}#
-                                      #{e 2133}#
-                                      #{er 2129}#
-                                      #{w 2134}#
-                                      #{s 2135}#
-                                      #{mod 2136}#
-                                      (lambda (#{forms 2168}#
-                                               #{er 2169}#
-                                               #{w 2170}#
-                                               #{s 2171}#
-                                               #{mod 2172}#)
-                                        (#{parse 2116}#
+                                        #{e 29758}#)))
+                                  (if (eqv? #{type 29756}# 'local-syntax-form)
+                                    (#{chi-local-syntax 4380}#
+                                      #{value 29757}#
+                                      #{e 29758}#
+                                      #{er 29562}#
+                                      #{w 29759}#
+                                      #{s 29760}#
+                                      #{mod 29761}#
+                                      (lambda (#{forms 30599}#
+                                               #{er 30600}#
+                                               #{w 30601}#
+                                               #{s 30602}#
+                                               #{mod 30603}#)
+                                        (#{parse 29446}#
                                           (letrec*
-                                            ((#{f 2180}#
-                                               (lambda (#{forms 2181}#)
-                                                 (if (null? #{forms 2181}#)
-                                                   (cdr #{body 2117}#)
-                                                   (cons (cons #{er 2169}#
-                                                               (#{wrap 427}#
-                                                                 (car #{forms 
2181}#)
-                                                                 #{w 2170}#
-                                                                 #{mod 2172}#))
-                                                         (#{f 2180}#
-                                                           (cdr #{forms 
2181}#)))))))
-                                            (#{f 2180}# #{forms 2168}#))
-                                          #{ids 2118}#
-                                          #{labels 2119}#
-                                          #{var-ids 2120}#
-                                          #{vars 2121}#
-                                          #{vals 2122}#
-                                          #{bindings 2123}#)))
-                                    (if (null? #{ids 2118}#)
-                                      (#{build-sequence 303}#
+                                            ((#{f 30604}#
+                                               (lambda (#{forms 30818}#)
+                                                 (if (null? #{forms 30818}#)
+                                                   (cdr #{body 29554}#)
+                                                   (cons (cons #{er 30600}#
+                                                               (let ((#{x 
30822}#
+                                                                       (car 
#{forms 30818}#)))
+                                                                 (if (if 
(null? (car #{w 30601}#))
+                                                                       (null? 
(cdr #{w 30601}#))
+                                                                       #f)
+                                                                   #{x 30822}#
+                                                                   (if (if 
(vector?
+                                                                             
#{x 30822}#)
+                                                                         (if 
(= (vector-length
+                                                                               
   #{x 30822}#)
+                                                                               
 4)
+                                                                           
(eq? (vector-ref
+                                                                               
   #{x 30822}#
+                                                                               
   0)
+                                                                               
 'syntax-object)
+                                                                           #f)
+                                                                         #f)
+                                                                     (let 
((#{expression 30840}#
+                                                                             
(vector-ref
+                                                                               
#{x 30822}#
+                                                                               
1))
+                                                                           
(#{wrap 30841}#
+                                                                             
(let ((#{w2 30849}#
+                                                                               
      (vector-ref
+                                                                               
        #{x 30822}#
+                                                                               
        2)))
+                                                                               
(let ((#{m1 30850}#
+                                                                               
        (car #{w 30601}#))
+                                                                               
      (#{s1 30851}#
+                                                                               
        (cdr #{w 30601}#)))
+                                                                               
  (if (null? #{m1 30850}#)
+                                                                               
    (if (null? #{s1 30851}#)
+                                                                               
      #{w2 30849}#
+                                                                               
      (cons (car #{w2 30849}#)
+                                                                               
            (let ((#{m2 30866}#
+                                                                               
                    (cdr #{w2 30849}#)))
+                                                                               
              (if (null? #{m2 30866}#)
+                                                                               
                #{s1 30851}#
+                                                                               
                (append
+                                                                               
                  #{s1 30851}#
+                                                                               
                  #{m2 30866}#)))))
+                                                                               
    (cons (let ((#{m2 30874}#
+                                                                               
                  (car #{w2 30849}#)))
+                                                                               
            (if (null? #{m2 30874}#)
+                                                                               
              #{m1 30850}#
+                                                                               
              (append
+                                                                               
                #{m1 30850}#
+                                                                               
                #{m2 30874}#)))
+                                                                               
          (let ((#{m2 30882}#
+                                                                               
                  (cdr #{w2 30849}#)))
+                                                                               
            (if (null? #{m2 30882}#)
+                                                                               
              #{s1 30851}#
+                                                                               
              (append
+                                                                               
                #{s1 30851}#
+                                                                               
                #{m2 30882}#))))))))
+                                                                           
(#{module 30842}#
+                                                                             
(vector-ref
+                                                                               
#{x 30822}#
+                                                                               
3)))
+                                                                       (vector
+                                                                         
'syntax-object
+                                                                         
#{expression 30840}#
+                                                                         
#{wrap 30841}#
+                                                                         
#{module 30842}#))
+                                                                     (if 
(null? #{x 30822}#)
+                                                                       #{x 
30822}#
+                                                                       (vector
+                                                                         
'syntax-object
+                                                                         #{x 
30822}#
+                                                                         #{w 
30601}#
+                                                                         #{mod 
30603}#))))))
+                                                         (#{f 30604}#
+                                                           (cdr #{forms 
30818}#)))))))
+                                            (#{f 30604}# #{forms 30599}#))
+                                          #{ids 29555}#
+                                          #{labels 29556}#
+                                          #{var-ids 29557}#
+                                          #{vars 29558}#
+                                          #{vals 29559}#
+                                          #{bindings 29560}#)))
+                                    (if (null? #{ids 29555}#)
+                                      (#{build-sequence 4324}#
                                         #f
-                                        (map (lambda (#{x 2184}#)
-                                               (#{chi 441}#
-                                                 (cdr #{x 2184}#)
-                                                 (car #{x 2184}#)
+                                        (map (lambda (#{x 30969}#)
+                                               (#{chi 4375}#
+                                                 (cdr #{x 30969}#)
+                                                 (car #{x 30969}#)
                                                  '(())
-                                                 #{mod 2136}#))
-                                             (cons (cons #{er 2129}#
-                                                         (#{source-wrap 429}#
-                                                           #{e 2133}#
-                                                           #{w 2134}#
-                                                           #{s 2135}#
-                                                           #{mod 2136}#))
-                                                   (cdr #{body 2117}#))))
+                                                 #{mod 29761}#))
+                                             (cons (cons #{er 29562}#
+                                                         (let ((#{x 31046}#
+                                                                 (begin
+                                                                   (if (if 
(pair? #{e 29758}#)
+                                                                         #{s 
29760}#
+                                                                         #f)
+                                                                     
(set-source-properties!
+                                                                       #{e 
29758}#
+                                                                       #{s 
29760}#))
+                                                                   #{e 
29758}#)))
+                                                           (if (if (null? (car 
#{w 29759}#))
+                                                                 (null? (cdr 
#{w 29759}#))
+                                                                 #f)
+                                                             #{x 31046}#
+                                                             (if (if (vector?
+                                                                       #{x 
31046}#)
+                                                                   (if (= 
(vector-length
+                                                                            
#{x 31046}#)
+                                                                          4)
+                                                                     (eq? 
(vector-ref
+                                                                            
#{x 31046}#
+                                                                            0)
+                                                                          
'syntax-object)
+                                                                     #f)
+                                                                   #f)
+                                                               (let 
((#{expression 31078}#
+                                                                       
(vector-ref
+                                                                         #{x 
31046}#
+                                                                         1))
+                                                                     (#{wrap 
31079}#
+                                                                       (let 
((#{w2 31087}#
+                                                                               
(vector-ref
+                                                                               
  #{x 31046}#
+                                                                               
  2)))
+                                                                         (let 
((#{m1 31088}#
+                                                                               
  (car #{w 29759}#))
+                                                                               
(#{s1 31089}#
+                                                                               
  (cdr #{w 29759}#)))
+                                                                           (if 
(null? #{m1 31088}#)
+                                                                             
(if (null? #{s1 31089}#)
+                                                                               
#{w2 31087}#
+                                                                               
(cons (car #{w2 31087}#)
+                                                                               
      (let ((#{m2 31104}#
+                                                                               
              (cdr #{w2 31087}#)))
+                                                                               
        (if (null? #{m2 31104}#)
+                                                                               
          #{s1 31089}#
+                                                                               
          (append
+                                                                               
            #{s1 31089}#
+                                                                               
            #{m2 31104}#)))))
+                                                                             
(cons (let ((#{m2 31112}#
+                                                                               
            (car #{w2 31087}#)))
+                                                                               
      (if (null? #{m2 31112}#)
+                                                                               
        #{m1 31088}#
+                                                                               
        (append
+                                                                               
          #{m1 31088}#
+                                                                               
          #{m2 31112}#)))
+                                                                               
    (let ((#{m2 31120}#
+                                                                               
            (cdr #{w2 31087}#)))
+                                                                               
      (if (null? #{m2 31120}#)
+                                                                               
        #{s1 31089}#
+                                                                               
        (append
+                                                                               
          #{s1 31089}#
+                                                                               
          #{m2 31120}#))))))))
+                                                                     (#{module 
31080}#
+                                                                       
(vector-ref
+                                                                         #{x 
31046}#
+                                                                         3)))
+                                                                 (vector
+                                                                   
'syntax-object
+                                                                   
#{expression 31078}#
+                                                                   #{wrap 
31079}#
+                                                                   #{module 
31080}#))
+                                                               (if (null? #{x 
31046}#)
+                                                                 #{x 31046}#
+                                                                 (vector
+                                                                   
'syntax-object
+                                                                   #{x 31046}#
+                                                                   #{w 29759}#
+                                                                   #{mod 
29761}#))))))
+                                                   (cdr #{body 29554}#))))
                                       (begin
-                                        (if (not (#{valid-bound-ids? 421}#
-                                                   #{ids 2118}#))
+                                        (if (not (#{valid-bound-ids? 4365}#
+                                                   #{ids 29555}#))
                                           (syntax-violation
                                             #f
                                             "invalid or duplicate identifier 
in definition"
-                                            #{outer-form 2088}#))
+                                            #{outer-form 29439}#))
                                         (letrec*
-                                          ((#{loop 2191}#
-                                             (lambda (#{bs 2192}#
-                                                      #{er-cache 2193}#
-                                                      #{r-cache 2194}#)
-                                               (if (not (null? #{bs 2192}#))
-                                                 (let ((#{b 2197}#
-                                                         (car #{bs 2192}#)))
-                                                   (if (eq? (car #{b 2197}#)
+                                          ((#{loop 31217}#
+                                             (lambda (#{bs 31220}#
+                                                      #{er-cache 31221}#
+                                                      #{r-cache 31222}#)
+                                               (if (not (null? #{bs 31220}#))
+                                                 (let ((#{b 31223}#
+                                                         (car #{bs 31220}#)))
+                                                   (if (eq? (car #{b 31223}#)
                                                             'macro)
-                                                     (let ((#{er 2200}#
-                                                             (car (cdr #{b 
2197}#))))
-                                                       (let ((#{r-cache 2202}#
-                                                               (if (eq? #{er 
2200}#
-                                                                        
#{er-cache 2193}#)
-                                                                 #{r-cache 
2194}#
-                                                                 
(#{macros-only-env 345}#
-                                                                   #{er 
2200}#))))
+                                                     (let ((#{er 31225}#
+                                                             (car (cdr #{b 
31223}#))))
+                                                       (let ((#{r-cache 31226}#
+                                                               (if (eq? #{er 
31225}#
+                                                                        
#{er-cache 31221}#)
+                                                                 #{r-cache 
31222}#
+                                                                 
(#{macros-only-env 4339}#
+                                                                   #{er 
31225}#))))
                                                          (begin
                                                            (set-cdr!
-                                                             #{b 2197}#
-                                                             
(#{eval-local-transformer 453}#
-                                                               (#{chi 441}#
-                                                                 (cdr (cdr #{b 
2197}#))
-                                                                 #{r-cache 
2202}#
+                                                             #{b 31223}#
+                                                             
(#{eval-local-transformer 4381}#
+                                                               (#{chi 4375}#
+                                                                 (cdr (cdr #{b 
31223}#))
+                                                                 #{r-cache 
31226}#
                                                                  '(())
-                                                                 #{mod 2136}#)
-                                                               #{mod 2136}#))
-                                                           (#{loop 2191}#
-                                                             (cdr #{bs 2192}#)
-                                                             #{er 2200}#
-                                                             #{r-cache 
2202}#))))
-                                                     (#{loop 2191}#
-                                                       (cdr #{bs 2192}#)
-                                                       #{er-cache 2193}#
-                                                       #{r-cache 2194}#)))))))
-                                          (#{loop 2191}#
-                                            #{bindings 2123}#
+                                                                 #{mod 29761}#)
+                                                               #{mod 29761}#))
+                                                           (#{loop 31217}#
+                                                             (cdr #{bs 31220}#)
+                                                             #{er 31225}#
+                                                             #{r-cache 
31226}#))))
+                                                     (#{loop 31217}#
+                                                       (cdr #{bs 31220}#)
+                                                       #{er-cache 31221}#
+                                                       #{r-cache 31222}#)))))))
+                                          (#{loop 31217}#
+                                            #{bindings 29560}#
                                             #f
                                             #f))
                                         (set-cdr!
-                                          #{r 2099}#
-                                          (#{extend-env 341}#
-                                            #{labels 2119}#
-                                            #{bindings 2123}#
-                                            (cdr #{r 2099}#)))
-                                        (#{build-letrec 309}#
+                                          #{r 29443}#
+                                          (#{extend-env 4337}#
+                                            #{labels 29556}#
+                                            #{bindings 29560}#
+                                            (cdr #{r 29443}#)))
+                                        (#{build-letrec 4327}#
                                           #f
                                           #t
                                           (reverse
                                             (map syntax->datum
-                                                 #{var-ids 2120}#))
-                                          (reverse #{vars 2121}#)
-                                          (map (lambda (#{x 2205}#)
-                                                 (#{chi 441}#
-                                                   (cdr #{x 2205}#)
-                                                   (car #{x 2205}#)
+                                                 #{var-ids 29557}#))
+                                          (reverse #{vars 29558}#)
+                                          (map (lambda (#{x 31641}#)
+                                                 (#{chi 4375}#
+                                                   (cdr #{x 31641}#)
+                                                   (car #{x 31641}#)
                                                    '(())
-                                                   #{mod 2136}#))
-                                               (reverse #{vals 2122}#))
-                                          (#{build-sequence 303}#
+                                                   #{mod 29761}#))
+                                               (reverse #{vals 29559}#))
+                                          (#{build-sequence 4324}#
                                             #f
-                                            (map (lambda (#{x 2209}#)
-                                                   (#{chi 441}#
-                                                     (cdr #{x 2209}#)
-                                                     (car #{x 2209}#)
+                                            (map (lambda (#{x 31781}#)
+                                                   (#{chi 4375}#
+                                                     (cdr #{x 31781}#)
+                                                     (car #{x 31781}#)
                                                      '(())
-                                                     #{mod 2136}#))
-                                                 (cons (cons #{er 2129}#
-                                                             (#{source-wrap 
429}#
-                                                               #{e 2133}#
-                                                               #{w 2134}#
-                                                               #{s 2135}#
-                                                               #{mod 2136}#))
-                                                       (cdr #{body 
2117}#))))))))))))))))))
-               (#{parse 2116}#
-                 (map (lambda (#{x 2124}#)
-                        (cons #{r 2099}#
-                              (#{wrap 427}#
-                                #{x 2124}#
-                                #{w 2104}#
-                                #{mod 2091}#)))
-                      #{body 2087}#)
+                                                     #{mod 29761}#))
+                                                 (cons (cons #{er 29562}#
+                                                             (let ((#{x 31858}#
+                                                                     (begin
+                                                                       (if (if 
(pair? #{e 29758}#)
+                                                                             
#{s 29760}#
+                                                                             
#f)
+                                                                         
(set-source-properties!
+                                                                           #{e 
29758}#
+                                                                           #{s 
29760}#))
+                                                                       #{e 
29758}#)))
+                                                               (if (if (null? 
(car #{w 29759}#))
+                                                                     (null? 
(cdr #{w 29759}#))
+                                                                     #f)
+                                                                 #{x 31858}#
+                                                                 (if (if 
(vector?
+                                                                           #{x 
31858}#)
+                                                                       (if (= 
(vector-length
+                                                                               
 #{x 31858}#)
+                                                                              
4)
+                                                                         (eq? 
(vector-ref
+                                                                               
 #{x 31858}#
+                                                                               
 0)
+                                                                              
'syntax-object)
+                                                                         #f)
+                                                                       #f)
+                                                                   (let 
((#{expression 31890}#
+                                                                           
(vector-ref
+                                                                             
#{x 31858}#
+                                                                             
1))
+                                                                         
(#{wrap 31891}#
+                                                                           
(let ((#{w2 31899}#
+                                                                               
    (vector-ref
+                                                                               
      #{x 31858}#
+                                                                               
      2)))
+                                                                             
(let ((#{m1 31900}#
+                                                                               
      (car #{w 29759}#))
+                                                                               
    (#{s1 31901}#
+                                                                               
      (cdr #{w 29759}#)))
+                                                                               
(if (null? #{m1 31900}#)
+                                                                               
  (if (null? #{s1 31901}#)
+                                                                               
    #{w2 31899}#
+                                                                               
    (cons (car #{w2 31899}#)
+                                                                               
          (let ((#{m2 31916}#
+                                                                               
                  (cdr #{w2 31899}#)))
+                                                                               
            (if (null? #{m2 31916}#)
+                                                                               
              #{s1 31901}#
+                                                                               
              (append
+                                                                               
                #{s1 31901}#
+                                                                               
                #{m2 31916}#)))))
+                                                                               
  (cons (let ((#{m2 31924}#
+                                                                               
                (car #{w2 31899}#)))
+                                                                               
          (if (null? #{m2 31924}#)
+                                                                               
            #{m1 31900}#
+                                                                               
            (append
+                                                                               
              #{m1 31900}#
+                                                                               
              #{m2 31924}#)))
+                                                                               
        (let ((#{m2 31932}#
+                                                                               
                (cdr #{w2 31899}#)))
+                                                                               
          (if (null? #{m2 31932}#)
+                                                                               
            #{s1 31901}#
+                                                                               
            (append
+                                                                               
              #{s1 31901}#
+                                                                               
              #{m2 31932}#))))))))
+                                                                         
(#{module 31892}#
+                                                                           
(vector-ref
+                                                                             
#{x 31858}#
+                                                                             
3)))
+                                                                     (vector
+                                                                       
'syntax-object
+                                                                       
#{expression 31890}#
+                                                                       #{wrap 
31891}#
+                                                                       
#{module 31892}#))
+                                                                   (if (null? 
#{x 31858}#)
+                                                                     #{x 
31858}#
+                                                                     (vector
+                                                                       
'syntax-object
+                                                                       #{x 
31858}#
+                                                                       #{w 
29759}#
+                                                                       #{mod 
29761}#))))))
+                                                       (cdr #{body 
29554}#))))))))))))))))))
+               (#{parse 29446}#
+                 (map (lambda (#{x 29449}#)
+                        (cons #{r 29443}#
+                              (if (if (null? (car #{w 29445}#))
+                                    (null? (cdr #{w 29445}#))
+                                    #f)
+                                #{x 29449}#
+                                (if (if (vector? #{x 29449}#)
+                                      (if (= (vector-length #{x 29449}#) 4)
+                                        (eq? (vector-ref #{x 29449}# 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (let ((#{expression 29485}#
+                                          (vector-ref #{x 29449}# 1))
+                                        (#{wrap 29486}#
+                                          (let ((#{w2 29496}#
+                                                  (vector-ref #{x 29449}# 2)))
+                                            (let ((#{m1 29497}#
+                                                    (car #{w 29445}#))
+                                                  (#{s1 29498}#
+                                                    (cdr #{w 29445}#)))
+                                              (if (null? #{m1 29497}#)
+                                                (if (null? #{s1 29498}#)
+                                                  #{w2 29496}#
+                                                  (cons (car #{w2 29496}#)
+                                                        (let ((#{m2 29515}#
+                                                                (cdr #{w2 
29496}#)))
+                                                          (if (null? #{m2 
29515}#)
+                                                            #{s1 29498}#
+                                                            (append
+                                                              #{s1 29498}#
+                                                              #{m2 29515}#)))))
+                                                (cons (let ((#{m2 29523}#
+                                                              (car #{w2 
29496}#)))
+                                                        (if (null? #{m2 
29523}#)
+                                                          #{m1 29497}#
+                                                          (append
+                                                            #{m1 29497}#
+                                                            #{m2 29523}#)))
+                                                      (let ((#{m2 29531}#
+                                                              (cdr #{w2 
29496}#)))
+                                                        (if (null? #{m2 
29531}#)
+                                                          #{s1 29498}#
+                                                          (append
+                                                            #{s1 29498}#
+                                                            #{m2 
29531}#))))))))
+                                        (#{module 29487}#
+                                          (vector-ref #{x 29449}# 3)))
+                                    (vector
+                                      'syntax-object
+                                      #{expression 29485}#
+                                      #{wrap 29486}#
+                                      #{module 29487}#))
+                                  (if (null? #{x 29449}#)
+                                    #{x 29449}#
+                                    (vector
+                                      'syntax-object
+                                      #{x 29449}#
+                                      #{w 29445}#
+                                      #{mod 29442}#))))))
+                      #{body 29438}#)
                  '()
                  '()
                  '()
                  '()
                  '()
                  '())))))))
-   (#{chi-local-syntax 451}#
-     (lambda (#{rec? 2212}#
-              #{e 2213}#
-              #{r 2214}#
-              #{w 2215}#
-              #{s 2216}#
-              #{mod 2217}#
-              #{k 2218}#)
-       (let ((#{tmp 2227}#
+   (#{chi-local-syntax 4380}#
+     (lambda (#{rec? 31947}#
+              #{e 31948}#
+              #{r 31949}#
+              #{w 31950}#
+              #{s 31951}#
+              #{mod 31952}#
+              #{k 31953}#)
+       (let ((#{tmp 31955}#
                ($sc-dispatch
-                 #{e 2213}#
+                 #{e 31948}#
                  '(_ #(each (any any)) any . each-any))))
-         (if #{tmp 2227}#
+         (if #{tmp 31955}#
            (@apply
-             (lambda (#{id 2232}#
-                      #{val 2233}#
-                      #{e1 2234}#
-                      #{e2 2235}#)
-               (if (not (#{valid-bound-ids? 421}# #{id 2232}#))
+             (lambda (#{id 31959}#
+                      #{val 31960}#
+                      #{e1 31961}#
+                      #{e2 31962}#)
+               (if (not (#{valid-bound-ids? 4365}# #{id 31959}#))
                  (syntax-violation
                    #f
                    "duplicate bound keyword"
-                   #{e 2213}#)
-                 (let ((#{labels 2240}#
-                         (#{gen-labels 373}# #{id 2232}#)))
-                   (let ((#{new-w 2242}#
-                           (#{make-binding-wrap 405}#
-                             #{id 2232}#
-                             #{labels 2240}#
-                             #{w 2215}#)))
-                     (#{k 2218}#
-                       (cons #{e1 2234}# #{e2 2235}#)
-                       (#{extend-env 341}#
-                         #{labels 2240}#
-                         (let ((#{trans-r 2247}#
-                                 (#{macros-only-env 345}# #{r 2214}#)))
+                   #{e 31948}#)
+                 (let ((#{labels 32057}#
+                         (#{gen-labels 4346}# #{id 31959}#)))
+                   (let ((#{new-w 32058}#
+                           (#{make-binding-wrap 4357}#
+                             #{id 31959}#
+                             #{labels 32057}#
+                             #{w 31950}#)))
+                     (#{k 31953}#
+                       (cons #{e1 31961}# #{e2 31962}#)
+                       (#{extend-env 4337}#
+                         #{labels 32057}#
+                         (let ((#{trans-r 32098}#
+                                 (#{macros-only-env 4339}# #{r 31949}#)))
                            (begin
-                             (if #{rec? 2212}# (if #f #f))
-                             (map (lambda (#{x 2248}#)
+                             (if #{rec? 31947}# (if #f #f))
+                             (map (lambda (#{x 32099}#)
                                     (cons 'macro
-                                          (#{eval-local-transformer 453}#
-                                            (#{chi 441}#
-                                              #{x 2248}#
-                                              #{trans-r 2247}#
-                                              (if #{rec? 2212}#
-                                                #{new-w 2242}#
-                                                #{w 2215}#)
-                                              #{mod 2217}#)
-                                            #{mod 2217}#)))
-                                  #{val 2233}#)))
-                         #{r 2214}#)
-                       #{new-w 2242}#
-                       #{s 2216}#
-                       #{mod 2217}#)))))
-             #{tmp 2227}#)
+                                          (#{eval-local-transformer 4381}#
+                                            (#{chi 4375}#
+                                              #{x 32099}#
+                                              #{trans-r 32098}#
+                                              (if #{rec? 31947}#
+                                                #{new-w 32058}#
+                                                #{w 31950}#)
+                                              #{mod 31952}#)
+                                            #{mod 31952}#)))
+                                  #{val 31960}#)))
+                         #{r 31949}#)
+                       #{new-w 32058}#
+                       #{s 31951}#
+                       #{mod 31952}#)))))
+             #{tmp 31955}#)
            (syntax-violation
              #f
              "bad local syntax definition"
-             (#{source-wrap 429}#
-               #{e 2213}#
-               #{w 2215}#
-               #{s 2216}#
-               #{mod 2217}#))))))
-   (#{eval-local-transformer 453}#
-     (lambda (#{expanded 2254}# #{mod 2255}#)
-       (let ((#{p 2259}#
-               (#{local-eval-hook 259}#
-                 #{expanded 2254}#
-                 #{mod 2255}#)))
-         (if (procedure? #{p 2259}#)
-           #{p 2259}#
+             (let ((#{x 32422}#
+                     (begin
+                       (if (if (pair? #{e 31948}#) #{s 31951}# #f)
+                         (set-source-properties! #{e 31948}# #{s 31951}#))
+                       #{e 31948}#)))
+               (if (if (null? (car #{w 31950}#))
+                     (null? (cdr #{w 31950}#))
+                     #f)
+                 #{x 32422}#
+                 (if (if (vector? #{x 32422}#)
+                       (if (= (vector-length #{x 32422}#) 4)
+                         (eq? (vector-ref #{x 32422}# 0) 'syntax-object)
+                         #f)
+                       #f)
+                   (let ((#{expression 32454}# (vector-ref #{x 32422}# 1))
+                         (#{wrap 32455}#
+                           (let ((#{w2 32463}# (vector-ref #{x 32422}# 2)))
+                             (let ((#{m1 32464}# (car #{w 31950}#))
+                                   (#{s1 32465}# (cdr #{w 31950}#)))
+                               (if (null? #{m1 32464}#)
+                                 (if (null? #{s1 32465}#)
+                                   #{w2 32463}#
+                                   (cons (car #{w2 32463}#)
+                                         (let ((#{m2 32480}#
+                                                 (cdr #{w2 32463}#)))
+                                           (if (null? #{m2 32480}#)
+                                             #{s1 32465}#
+                                             (append
+                                               #{s1 32465}#
+                                               #{m2 32480}#)))))
+                                 (cons (let ((#{m2 32488}# (car #{w2 32463}#)))
+                                         (if (null? #{m2 32488}#)
+                                           #{m1 32464}#
+                                           (append #{m1 32464}# #{m2 32488}#)))
+                                       (let ((#{m2 32496}# (cdr #{w2 32463}#)))
+                                         (if (null? #{m2 32496}#)
+                                           #{s1 32465}#
+                                           (append
+                                             #{s1 32465}#
+                                             #{m2 32496}#))))))))
+                         (#{module 32456}# (vector-ref #{x 32422}# 3)))
+                     (vector
+                       'syntax-object
+                       #{expression 32454}#
+                       #{wrap 32455}#
+                       #{module 32456}#))
+                   (if (null? #{x 32422}#)
+                     #{x 32422}#
+                     (vector
+                       'syntax-object
+                       #{x 32422}#
+                       #{w 31950}#
+                       #{mod 31952}#))))))))))
+   (#{eval-local-transformer 4381}#
+     (lambda (#{expanded 32514}# #{mod 32515}#)
+       (let ((#{p 32516}# (primitive-eval #{expanded 32514}#)))
+         (if (procedure? #{p 32516}#)
+           #{p 32516}#
            (syntax-violation
              #f
              "nonprocedure transformer"
-             #{p 2259}#)))))
-   (#{chi-void 455}#
-     (lambda () (#{build-void 271}# #f)))
-   (#{ellipsis? 457}#
-     (lambda (#{x 2261}#)
-       (if (#{nonsymbol-id? 351}# #{x 2261}#)
-         (#{free-id=? 417}#
-           #{x 2261}#
+             #{p 32516}#)))))
+   (#{ellipsis? 4383}#
+     (lambda (#{x 5824}#)
+       (if (if (if (vector? #{x 5824}#)
+                 (if (= (vector-length #{x 5824}#) 4)
+                   (eq? (vector-ref #{x 5824}# 0) 'syntax-object)
+                   #f)
+                 #f)
+             (symbol? (vector-ref #{x 5824}# 1))
+             #f)
+         (#{free-id=? 4363}#
+           #{x 5824}#
            '#(syntax-object
               ...
               ((top)
                #(ribcage () () ())
                #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i2262"))
+               #(ribcage #(x) #((top)) #("i2263"))
                #(ribcage
                  (lambda-var-list
                    gen-var
@@ -4669,353 +6388,496 @@
                   (top)
                   (top)
                   (top))
-                 ("i470"
-                  "i468"
-                  "i466"
-                  "i464"
-                  "i462"
-                  "i460"
-                  "i458"
-                  "i456"
-                  "i454"
-                  "i452"
-                  "i450"
-                  "i448"
-                  "i446"
-                  "i444"
-                  "i442"
-                  "i440"
-                  "i438"
-                  "i436"
-                  "i434"
-                  "i432"
-                  "i430"
-                  "i428"
-                  "i426"
-                  "i424"
-                  "i422"
-                  "i420"
-                  "i418"
-                  "i416"
-                  "i414"
-                  "i412"
-                  "i410"
-                  "i408"
-                  "i406"
-                  "i404"
+                 ("i471"
+                  "i469"
+                  "i467"
+                  "i465"
+                  "i463"
+                  "i461"
+                  "i459"
+                  "i457"
+                  "i455"
+                  "i453"
+                  "i451"
+                  "i449"
+                  "i447"
+                  "i445"
+                  "i443"
+                  "i441"
+                  "i439"
+                  "i437"
+                  "i435"
+                  "i433"
+                  "i431"
+                  "i429"
+                  "i427"
+                  "i425"
+                  "i423"
+                  "i421"
+                  "i419"
+                  "i417"
+                  "i415"
+                  "i413"
+                  "i411"
+                  "i409"
+                  "i407"
+                  "i405"
+                  "i403"
                   "i402"
-                  "i401"
-                  "i399"
+                  "i400"
+                  "i397"
                   "i396"
                   "i395"
-                  "i394"
+                  "i393"
                   "i392"
-                  "i391"
-                  "i389"
-                  "i387"
-                  "i385"
-                  "i383"
-                  "i381"
-                  "i379"
-                  "i377"
-                  "i375"
-                  "i372"
+                  "i390"
+                  "i388"
+                  "i386"
+                  "i384"
+                  "i382"
+                  "i380"
+                  "i378"
+                  "i376"
+                  "i373"
+                  "i371"
                   "i370"
-                  "i369"
-                  "i367"
-                  "i365"
-                  "i363"
+                  "i368"
+                  "i366"
+                  "i364"
+                  "i362"
                   "i361"
                   "i360"
                   "i359"
-                  "i358"
+                  "i357"
                   "i356"
-                  "i355"
-                  "i352"
-                  "i350"
-                  "i348"
-                  "i346"
-                  "i344"
-                  "i342"
+                  "i353"
+                  "i351"
+                  "i349"
+                  "i347"
+                  "i345"
+                  "i343"
+                  "i341"
                   "i340"
                   "i339"
-                  "i338"
-                  "i336"
+                  "i337"
+                  "i335"
                   "i334"
-                  "i333"
+                  "i331"
                   "i330"
-                  "i329"
-                  "i327"
-                  "i325"
-                  "i323"
-                  "i321"
-                  "i319"
-                  "i317"
-                  "i315"
-                  "i313"
-                  "i311"
-                  "i308"
-                  "i306"
-                  "i304"
-                  "i302"
-                  "i300"
-                  "i298"
-                  "i296"
-                  "i294"
-                  "i292"
-                  "i290"
-                  "i288"
-                  "i286"
-                  "i284"
-                  "i282"
-                  "i280"
-                  "i278"
-                  "i276"
-                  "i274"
-                  "i272"
-                  "i270"
-                  "i268"
-                  "i266"
-                  "i264"
+                  "i328"
+                  "i326"
+                  "i324"
+                  "i322"
+                  "i320"
+                  "i318"
+                  "i316"
+                  "i314"
+                  "i312"
+                  "i309"
+                  "i307"
+                  "i305"
+                  "i303"
+                  "i301"
+                  "i299"
+                  "i297"
+                  "i295"
+                  "i293"
+                  "i291"
+                  "i289"
+                  "i287"
+                  "i285"
+                  "i283"
+                  "i281"
+                  "i279"
+                  "i277"
+                  "i275"
+                  "i273"
+                  "i271"
+                  "i269"
+                  "i267"
+                  "i265"
+                  "i263"
                   "i262"
-                  "i261"
-                  "i258"
+                  "i259"
+                  "i257"
                   "i256"
                   "i255"
                   "i254"
                   "i253"
-                  "i252"
-                  "i250"
-                  "i248"
-                  "i246"
-                  "i243"
-                  "i241"
-                  "i239"
-                  "i237"
-                  "i235"
-                  "i233"
-                  "i231"
-                  "i229"
-                  "i227"
-                  "i225"
-                  "i223"
-                  "i221"
-                  "i219"
-                  "i217"
-                  "i215"
-                  "i213"
-                  "i211"
-                  "i209"
-                  "i207"))
+                  "i251"
+                  "i249"
+                  "i247"
+                  "i244"
+                  "i242"
+                  "i240"
+                  "i238"
+                  "i236"
+                  "i234"
+                  "i232"
+                  "i230"
+                  "i228"
+                  "i226"
+                  "i224"
+                  "i222"
+                  "i220"
+                  "i218"
+                  "i216"
+                  "i214"
+                  "i212"
+                  "i210"
+                  "i208"))
                #(ribcage
                  (define-structure
                    define-expansion-accessors
                    define-expansion-constructors)
                  ((top) (top) (top))
-                 ("i45" "i44" "i43")))
+                 ("i46" "i45" "i44")))
               (hygiene guile)))
          #f)))
-   (#{lambda-formals 459}#
-     (lambda (#{orig-args 2265}#)
+   (#{lambda-formals 4384}#
+     (lambda (#{orig-args 32521}#)
        (letrec*
-         ((#{req 2268}#
-            (lambda (#{args 2271}# #{rreq 2272}#)
-              (let ((#{tmp 2276}# ($sc-dispatch #{args 2271}# '())))
-                (if #{tmp 2276}#
+         ((#{req 32522}#
+            (lambda (#{args 32526}# #{rreq 32527}#)
+              (let ((#{tmp 32529}# ($sc-dispatch #{args 32526}# '())))
+                (if #{tmp 32529}#
                   (@apply
                     (lambda ()
-                      (#{check 2270}# (reverse #{rreq 2272}#) #f))
-                    #{tmp 2276}#)
-                  (let ((#{tmp 2277}#
-                          ($sc-dispatch #{args 2271}# '(any . any))))
-                    (if (if #{tmp 2277}#
+                      (#{check 32523}# (reverse #{rreq 32527}#) #f))
+                    #{tmp 32529}#)
+                  (let ((#{tmp 32645}#
+                          ($sc-dispatch #{args 32526}# '(any . any))))
+                    (if (if #{tmp 32645}#
                           (@apply
-                            (lambda (#{a 2280}# #{b 2281}#)
-                              (#{id? 353}# #{a 2280}#))
-                            #{tmp 2277}#)
+                            (lambda (#{a 32649}# #{b 32650}#)
+                              (if (symbol? #{a 32649}#)
+                                #t
+                                (if (if (vector? #{a 32649}#)
+                                      (if (= (vector-length #{a 32649}#) 4)
+                                        (eq? (vector-ref #{a 32649}# 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (symbol? (vector-ref #{a 32649}# 1))
+                                  #f)))
+                            #{tmp 32645}#)
                           #f)
                       (@apply
-                        (lambda (#{a 2284}# #{b 2285}#)
-                          (#{req 2268}#
-                            #{b 2285}#
-                            (cons #{a 2284}# #{rreq 2272}#)))
-                        #{tmp 2277}#)
-                      (let ((#{tmp 2286}# (list #{args 2271}#)))
-                        (if (if #{tmp 2286}#
-                              (@apply
-                                (lambda (#{r 2288}#) (#{id? 353}# #{r 2288}#))
-                                #{tmp 2286}#)
-                              #f)
+                        (lambda (#{a 32677}# #{b 32678}#)
+                          (#{req 32522}#
+                            #{b 32678}#
+                            (cons #{a 32677}# #{rreq 32527}#)))
+                        #{tmp 32645}#)
+                      (let ((#{tmp 32679}# (list #{args 32526}#)))
+                        (if (@apply
+                              (lambda (#{r 32681}#)
+                                (if (symbol? #{r 32681}#)
+                                  #t
+                                  (if (if (vector? #{r 32681}#)
+                                        (if (= (vector-length #{r 32681}#) 4)
+                                          (eq? (vector-ref #{r 32681}# 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (symbol? (vector-ref #{r 32681}# 1))
+                                    #f)))
+                              #{tmp 32679}#)
                           (@apply
-                            (lambda (#{r 2290}#)
-                              (#{check 2270}#
-                                (reverse #{rreq 2272}#)
-                                #{r 2290}#))
-                            #{tmp 2286}#)
+                            (lambda (#{r 32711}#)
+                              (#{check 32523}#
+                                (reverse #{rreq 32527}#)
+                                #{r 32711}#))
+                            #{tmp 32679}#)
                           (syntax-violation
                             'lambda
                             "invalid argument list"
-                            #{orig-args 2265}#
-                            #{args 2271}#)))))))))
-          (#{check 2270}#
-            (lambda (#{req 2293}# #{rest 2294}#)
-              (if (#{distinct-bound-ids? 423}#
-                    (if #{rest 2294}#
-                      (cons #{rest 2294}# #{req 2293}#)
-                      #{req 2293}#))
-                (values #{req 2293}# #f #{rest 2294}# #f)
+                            #{orig-args 32521}#
+                            #{args 32526}#)))))))))
+          (#{check 32523}#
+            (lambda (#{req 32835}# #{rest 32836}#)
+              (if (#{distinct-bound-ids? 4366}#
+                    (if #{rest 32836}#
+                      (cons #{rest 32836}# #{req 32835}#)
+                      #{req 32835}#))
+                (values #{req 32835}# #f #{rest 32836}# #f)
                 (syntax-violation
                   'lambda
                   "duplicate identifier in argument list"
-                  #{orig-args 2265}#)))))
-         (#{req 2268}# #{orig-args 2265}# '()))))
-   (#{lambda*-formals 463}#
-     (lambda (#{orig-args 2327}#)
+                  #{orig-args 32521}#)))))
+         (#{req 32522}# #{orig-args 32521}# '()))))
+   (#{chi-simple-lambda 4385}#
+     (lambda (#{e 32945}#
+              #{r 32946}#
+              #{w 32947}#
+              #{s 32948}#
+              #{mod 32949}#
+              #{req 32950}#
+              #{rest 32951}#
+              #{meta 32952}#
+              #{body 32953}#)
+       (let ((#{ids 32954}#
+               (if #{rest 32951}#
+                 (append #{req 32950}# (list #{rest 32951}#))
+                 #{req 32950}#)))
+         (let ((#{vars 32955}#
+                 (map #{gen-var 4389}# #{ids 32954}#)))
+           (let ((#{labels 32956}#
+                   (#{gen-labels 4346}# #{ids 32954}#)))
+             (#{build-simple-lambda 4318}#
+               #{s 32948}#
+               (map syntax->datum #{req 32950}#)
+               (if #{rest 32951}#
+                 (syntax->datum #{rest 32951}#)
+                 #f)
+               #{vars 32955}#
+               #{meta 32952}#
+               (#{chi-body 4379}#
+                 #{body 32953}#
+                 (let ((#{x 33145}#
+                         (begin
+                           (if (if (pair? #{e 32945}#) #{s 32948}# #f)
+                             (set-source-properties! #{e 32945}# #{s 32948}#))
+                           #{e 32945}#)))
+                   (if (if (null? (car #{w 32947}#))
+                         (null? (cdr #{w 32947}#))
+                         #f)
+                     #{x 33145}#
+                     (if (if (vector? #{x 33145}#)
+                           (if (= (vector-length #{x 33145}#) 4)
+                             (eq? (vector-ref #{x 33145}# 0) 'syntax-object)
+                             #f)
+                           #f)
+                       (let ((#{expression 33177}# (vector-ref #{x 33145}# 1))
+                             (#{wrap 33178}#
+                               (let ((#{w2 33186}# (vector-ref #{x 33145}# 2)))
+                                 (let ((#{m1 33187}# (car #{w 32947}#))
+                                       (#{s1 33188}# (cdr #{w 32947}#)))
+                                   (if (null? #{m1 33187}#)
+                                     (if (null? #{s1 33188}#)
+                                       #{w2 33186}#
+                                       (cons (car #{w2 33186}#)
+                                             (let ((#{m2 33203}#
+                                                     (cdr #{w2 33186}#)))
+                                               (if (null? #{m2 33203}#)
+                                                 #{s1 33188}#
+                                                 (append
+                                                   #{s1 33188}#
+                                                   #{m2 33203}#)))))
+                                     (cons (let ((#{m2 33211}#
+                                                   (car #{w2 33186}#)))
+                                             (if (null? #{m2 33211}#)
+                                               #{m1 33187}#
+                                               (append
+                                                 #{m1 33187}#
+                                                 #{m2 33211}#)))
+                                           (let ((#{m2 33219}#
+                                                   (cdr #{w2 33186}#)))
+                                             (if (null? #{m2 33219}#)
+                                               #{s1 33188}#
+                                               (append
+                                                 #{s1 33188}#
+                                                 #{m2 33219}#))))))))
+                             (#{module 33179}# (vector-ref #{x 33145}# 3)))
+                         (vector
+                           'syntax-object
+                           #{expression 33177}#
+                           #{wrap 33178}#
+                           #{module 33179}#))
+                       (if (null? #{x 33145}#)
+                         #{x 33145}#
+                         (vector
+                           'syntax-object
+                           #{x 33145}#
+                           #{w 32947}#
+                           #{mod 32949}#)))))
+                 (#{extend-var-env 4338}#
+                   #{labels 32956}#
+                   #{vars 32955}#
+                   #{r 32946}#)
+                 (#{make-binding-wrap 4357}#
+                   #{ids 32954}#
+                   #{labels 32956}#
+                   #{w 32947}#)
+                 #{mod 32949}#)))))))
+   (#{lambda*-formals 4386}#
+     (lambda (#{orig-args 33450}#)
        (letrec*
-         ((#{req 2330}#
-            (lambda (#{args 2339}# #{rreq 2340}#)
-              (let ((#{tmp 2344}# ($sc-dispatch #{args 2339}# '())))
-                (if #{tmp 2344}#
+         ((#{req 33451}#
+            (lambda (#{args 33458}# #{rreq 33459}#)
+              (let ((#{tmp 33461}# ($sc-dispatch #{args 33458}# '())))
+                (if #{tmp 33461}#
                   (@apply
                     (lambda ()
-                      (#{check 2338}#
-                        (reverse #{rreq 2340}#)
+                      (#{check 33455}#
+                        (reverse #{rreq 33459}#)
                         '()
                         #f
                         '()))
-                    #{tmp 2344}#)
-                  (let ((#{tmp 2345}#
-                          ($sc-dispatch #{args 2339}# '(any . any))))
-                    (if (if #{tmp 2345}#
+                    #{tmp 33461}#)
+                  (let ((#{tmp 33580}#
+                          ($sc-dispatch #{args 33458}# '(any . any))))
+                    (if (if #{tmp 33580}#
                           (@apply
-                            (lambda (#{a 2348}# #{b 2349}#)
-                              (#{id? 353}# #{a 2348}#))
-                            #{tmp 2345}#)
+                            (lambda (#{a 33584}# #{b 33585}#)
+                              (if (symbol? #{a 33584}#)
+                                #t
+                                (if (if (vector? #{a 33584}#)
+                                      (if (= (vector-length #{a 33584}#) 4)
+                                        (eq? (vector-ref #{a 33584}# 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (symbol? (vector-ref #{a 33584}# 1))
+                                  #f)))
+                            #{tmp 33580}#)
                           #f)
                       (@apply
-                        (lambda (#{a 2352}# #{b 2353}#)
-                          (#{req 2330}#
-                            #{b 2353}#
-                            (cons #{a 2352}# #{rreq 2340}#)))
-                        #{tmp 2345}#)
-                      (let ((#{tmp 2354}#
-                              ($sc-dispatch #{args 2339}# '(any . any))))
-                        (if (if #{tmp 2354}#
+                        (lambda (#{a 33612}# #{b 33613}#)
+                          (#{req 33451}#
+                            #{b 33613}#
+                            (cons #{a 33612}# #{rreq 33459}#)))
+                        #{tmp 33580}#)
+                      (let ((#{tmp 33614}#
+                              ($sc-dispatch #{args 33458}# '(any . any))))
+                        (if (if #{tmp 33614}#
                               (@apply
-                                (lambda (#{a 2357}# #{b 2358}#)
-                                  (eq? (syntax->datum #{a 2357}#) #:optional))
-                                #{tmp 2354}#)
+                                (lambda (#{a 33618}# #{b 33619}#)
+                                  (eq? (syntax->datum #{a 33618}#) #:optional))
+                                #{tmp 33614}#)
                               #f)
                           (@apply
-                            (lambda (#{a 2361}# #{b 2362}#)
-                              (#{opt 2332}#
-                                #{b 2362}#
-                                (reverse #{rreq 2340}#)
+                            (lambda (#{a 33620}# #{b 33621}#)
+                              (#{opt 33452}#
+                                #{b 33621}#
+                                (reverse #{rreq 33459}#)
                                 '()))
-                            #{tmp 2354}#)
-                          (let ((#{tmp 2363}#
-                                  ($sc-dispatch #{args 2339}# '(any . any))))
-                            (if (if #{tmp 2363}#
+                            #{tmp 33614}#)
+                          (let ((#{tmp 33624}#
+                                  ($sc-dispatch #{args 33458}# '(any . any))))
+                            (if (if #{tmp 33624}#
                                   (@apply
-                                    (lambda (#{a 2366}# #{b 2367}#)
-                                      (eq? (syntax->datum #{a 2366}#) #:key))
-                                    #{tmp 2363}#)
+                                    (lambda (#{a 33628}# #{b 33629}#)
+                                      (eq? (syntax->datum #{a 33628}#) #:key))
+                                    #{tmp 33624}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 2370}# #{b 2371}#)
-                                  (#{key 2334}#
-                                    #{b 2371}#
-                                    (reverse #{rreq 2340}#)
+                                (lambda (#{a 33630}# #{b 33631}#)
+                                  (#{key 33453}#
+                                    #{b 33631}#
+                                    (reverse #{rreq 33459}#)
                                     '()
                                     '()))
-                                #{tmp 2363}#)
-                              (let ((#{tmp 2372}#
-                                      ($sc-dispatch #{args 2339}# '(any any))))
-                                (if (if #{tmp 2372}#
+                                #{tmp 33624}#)
+                              (let ((#{tmp 33634}#
+                                      ($sc-dispatch
+                                        #{args 33458}#
+                                        '(any any))))
+                                (if (if #{tmp 33634}#
                                       (@apply
-                                        (lambda (#{a 2375}# #{b 2376}#)
-                                          (eq? (syntax->datum #{a 2375}#)
+                                        (lambda (#{a 33638}# #{b 33639}#)
+                                          (eq? (syntax->datum #{a 33638}#)
                                                #:rest))
-                                        #{tmp 2372}#)
+                                        #{tmp 33634}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a 2379}# #{b 2380}#)
-                                      (#{rest 2336}#
-                                        #{b 2380}#
-                                        (reverse #{rreq 2340}#)
+                                    (lambda (#{a 33640}# #{b 33641}#)
+                                      (#{rest 33454}#
+                                        #{b 33641}#
+                                        (reverse #{rreq 33459}#)
                                         '()
                                         '()))
-                                    #{tmp 2372}#)
-                                  (let ((#{tmp 2381}# (list #{args 2339}#)))
-                                    (if (if #{tmp 2381}#
-                                          (@apply
-                                            (lambda (#{r 2383}#)
-                                              (#{id? 353}# #{r 2383}#))
-                                            #{tmp 2381}#)
-                                          #f)
+                                    #{tmp 33634}#)
+                                  (let ((#{tmp 33644}# (list #{args 33458}#)))
+                                    (if (@apply
+                                          (lambda (#{r 33646}#)
+                                            (if (symbol? #{r 33646}#)
+                                              #t
+                                              (if (if (vector? #{r 33646}#)
+                                                    (if (= (vector-length
+                                                             #{r 33646}#)
+                                                           4)
+                                                      (eq? (vector-ref
+                                                             #{r 33646}#
+                                                             0)
+                                                           'syntax-object)
+                                                      #f)
+                                                    #f)
+                                                (symbol?
+                                                  (vector-ref #{r 33646}# 1))
+                                                #f)))
+                                          #{tmp 33644}#)
                                       (@apply
-                                        (lambda (#{r 2385}#)
-                                          (#{rest 2336}#
-                                            #{r 2385}#
-                                            (reverse #{rreq 2340}#)
+                                        (lambda (#{r 33676}#)
+                                          (#{rest 33454}#
+                                            #{r 33676}#
+                                            (reverse #{rreq 33459}#)
                                             '()
                                             '()))
-                                        #{tmp 2381}#)
+                                        #{tmp 33644}#)
                                       (syntax-violation
                                         'lambda*
                                         "invalid argument list"
-                                        #{orig-args 2327}#
-                                        #{args 2339}#)))))))))))))))
-          (#{opt 2332}#
-            (lambda (#{args 2388}# #{req 2389}# #{ropt 2390}#)
-              (let ((#{tmp 2395}# ($sc-dispatch #{args 2388}# '())))
-                (if #{tmp 2395}#
+                                        #{orig-args 33450}#
+                                        #{args 33458}#)))))))))))))))
+          (#{opt 33452}#
+            (lambda (#{args 33695}# #{req 33696}# #{ropt 33697}#)
+              (let ((#{tmp 33699}# ($sc-dispatch #{args 33695}# '())))
+                (if #{tmp 33699}#
                   (@apply
                     (lambda ()
-                      (#{check 2338}#
-                        #{req 2389}#
-                        (reverse #{ropt 2390}#)
+                      (#{check 33455}#
+                        #{req 33696}#
+                        (reverse #{ropt 33697}#)
                         #f
                         '()))
-                    #{tmp 2395}#)
-                  (let ((#{tmp 2396}#
-                          ($sc-dispatch #{args 2388}# '(any . any))))
-                    (if (if #{tmp 2396}#
+                    #{tmp 33699}#)
+                  (let ((#{tmp 33820}#
+                          ($sc-dispatch #{args 33695}# '(any . any))))
+                    (if (if #{tmp 33820}#
                           (@apply
-                            (lambda (#{a 2399}# #{b 2400}#)
-                              (#{id? 353}# #{a 2399}#))
-                            #{tmp 2396}#)
+                            (lambda (#{a 33824}# #{b 33825}#)
+                              (if (symbol? #{a 33824}#)
+                                #t
+                                (if (if (vector? #{a 33824}#)
+                                      (if (= (vector-length #{a 33824}#) 4)
+                                        (eq? (vector-ref #{a 33824}# 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (symbol? (vector-ref #{a 33824}# 1))
+                                  #f)))
+                            #{tmp 33820}#)
                           #f)
                       (@apply
-                        (lambda (#{a 2403}# #{b 2404}#)
-                          (#{opt 2332}#
-                            #{b 2404}#
-                            #{req 2389}#
-                            (cons (cons #{a 2403}#
+                        (lambda (#{a 33852}# #{b 33853}#)
+                          (#{opt 33452}#
+                            #{b 33853}#
+                            #{req 33696}#
+                            (cons (cons #{a 33852}#
                                         '(#(syntax-object
                                             #f
                                             ((top)
                                              #(ribcage
                                                #(a b)
                                                #((top) (top))
-                                               #("i2401" "i2402"))
+                                               #("i2402" "i2403"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(args req ropt)
                                                #((top) (top) (top))
-                                               #("i2391" "i2392" "i2393"))
+                                               #("i2392" "i2393" "i2394"))
                                              #(ribcage
                                                (check rest key opt req)
                                                ((top) (top) (top) (top) (top))
-                                               ("i2337"
-                                                "i2335"
-                                                "i2333"
-                                                "i2331"
-                                                "i2329"))
+                                               ("i2338"
+                                                "i2336"
+                                                "i2334"
+                                                "i2332"
+                                                "i2330"))
                                              #(ribcage
                                                #(orig-args)
                                                #((top))
-                                               #("i2328"))
+                                               #("i2329"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -5293,256 +7155,292 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i470"
-                                                "i468"
-                                                "i466"
-                                                "i464"
-                                                "i462"
-                                                "i460"
-                                                "i458"
-                                                "i456"
-                                                "i454"
-                                                "i452"
-                                                "i450"
-                                                "i448"
-                                                "i446"
-                                                "i444"
-                                                "i442"
-                                                "i440"
-                                                "i438"
-                                                "i436"
-                                                "i434"
-                                                "i432"
-                                                "i430"
-                                                "i428"
-                                                "i426"
-                                                "i424"
-                                                "i422"
-                                                "i420"
-                                                "i418"
-                                                "i416"
-                                                "i414"
-                                                "i412"
-                                                "i410"
-                                                "i408"
-                                                "i406"
-                                                "i404"
+                                               ("i471"
+                                                "i469"
+                                                "i467"
+                                                "i465"
+                                                "i463"
+                                                "i461"
+                                                "i459"
+                                                "i457"
+                                                "i455"
+                                                "i453"
+                                                "i451"
+                                                "i449"
+                                                "i447"
+                                                "i445"
+                                                "i443"
+                                                "i441"
+                                                "i439"
+                                                "i437"
+                                                "i435"
+                                                "i433"
+                                                "i431"
+                                                "i429"
+                                                "i427"
+                                                "i425"
+                                                "i423"
+                                                "i421"
+                                                "i419"
+                                                "i417"
+                                                "i415"
+                                                "i413"
+                                                "i411"
+                                                "i409"
+                                                "i407"
+                                                "i405"
+                                                "i403"
                                                 "i402"
-                                                "i401"
-                                                "i399"
+                                                "i400"
+                                                "i397"
                                                 "i396"
                                                 "i395"
-                                                "i394"
+                                                "i393"
                                                 "i392"
-                                                "i391"
-                                                "i389"
-                                                "i387"
-                                                "i385"
-                                                "i383"
-                                                "i381"
-                                                "i379"
-                                                "i377"
-                                                "i375"
-                                                "i372"
+                                                "i390"
+                                                "i388"
+                                                "i386"
+                                                "i384"
+                                                "i382"
+                                                "i380"
+                                                "i378"
+                                                "i376"
+                                                "i373"
+                                                "i371"
                                                 "i370"
-                                                "i369"
-                                                "i367"
-                                                "i365"
-                                                "i363"
+                                                "i368"
+                                                "i366"
+                                                "i364"
+                                                "i362"
                                                 "i361"
                                                 "i360"
                                                 "i359"
-                                                "i358"
+                                                "i357"
                                                 "i356"
-                                                "i355"
-                                                "i352"
-                                                "i350"
-                                                "i348"
-                                                "i346"
-                                                "i344"
-                                                "i342"
+                                                "i353"
+                                                "i351"
+                                                "i349"
+                                                "i347"
+                                                "i345"
+                                                "i343"
+                                                "i341"
                                                 "i340"
                                                 "i339"
-                                                "i338"
-                                                "i336"
+                                                "i337"
+                                                "i335"
                                                 "i334"
-                                                "i333"
+                                                "i331"
                                                 "i330"
-                                                "i329"
-                                                "i327"
-                                                "i325"
-                                                "i323"
-                                                "i321"
-                                                "i319"
-                                                "i317"
-                                                "i315"
-                                                "i313"
-                                                "i311"
-                                                "i308"
-                                                "i306"
-                                                "i304"
-                                                "i302"
-                                                "i300"
-                                                "i298"
-                                                "i296"
-                                                "i294"
-                                                "i292"
-                                                "i290"
-                                                "i288"
-                                                "i286"
-                                                "i284"
-                                                "i282"
-                                                "i280"
-                                                "i278"
-                                                "i276"
-                                                "i274"
-                                                "i272"
-                                                "i270"
-                                                "i268"
-                                                "i266"
-                                                "i264"
+                                                "i328"
+                                                "i326"
+                                                "i324"
+                                                "i322"
+                                                "i320"
+                                                "i318"
+                                                "i316"
+                                                "i314"
+                                                "i312"
+                                                "i309"
+                                                "i307"
+                                                "i305"
+                                                "i303"
+                                                "i301"
+                                                "i299"
+                                                "i297"
+                                                "i295"
+                                                "i293"
+                                                "i291"
+                                                "i289"
+                                                "i287"
+                                                "i285"
+                                                "i283"
+                                                "i281"
+                                                "i279"
+                                                "i277"
+                                                "i275"
+                                                "i273"
+                                                "i271"
+                                                "i269"
+                                                "i267"
+                                                "i265"
+                                                "i263"
                                                 "i262"
-                                                "i261"
-                                                "i258"
+                                                "i259"
+                                                "i257"
                                                 "i256"
                                                 "i255"
                                                 "i254"
                                                 "i253"
-                                                "i252"
-                                                "i250"
-                                                "i248"
-                                                "i246"
-                                                "i243"
-                                                "i241"
-                                                "i239"
-                                                "i237"
-                                                "i235"
-                                                "i233"
-                                                "i231"
-                                                "i229"
-                                                "i227"
-                                                "i225"
-                                                "i223"
-                                                "i221"
-                                                "i219"
-                                                "i217"
-                                                "i215"
-                                                "i213"
-                                                "i211"
-                                                "i209"
-                                                "i207"))
+                                                "i251"
+                                                "i249"
+                                                "i247"
+                                                "i244"
+                                                "i242"
+                                                "i240"
+                                                "i238"
+                                                "i236"
+                                                "i234"
+                                                "i232"
+                                                "i230"
+                                                "i228"
+                                                "i226"
+                                                "i224"
+                                                "i222"
+                                                "i220"
+                                                "i218"
+                                                "i216"
+                                                "i214"
+                                                "i212"
+                                                "i210"
+                                                "i208"))
                                              #(ribcage
                                                (define-structure
                                                  define-expansion-accessors
                                                  define-expansion-constructors)
                                                ((top) (top) (top))
-                                               ("i45" "i44" "i43")))
+                                               ("i46" "i45" "i44")))
                                             (hygiene guile))))
-                                  #{ropt 2390}#)))
-                        #{tmp 2396}#)
-                      (let ((#{tmp 2405}#
-                              ($sc-dispatch #{args 2388}# '((any any) . any))))
-                        (if (if #{tmp 2405}#
+                                  #{ropt 33697}#)))
+                        #{tmp 33820}#)
+                      (let ((#{tmp 33854}#
+                              ($sc-dispatch
+                                #{args 33695}#
+                                '((any any) . any))))
+                        (if (if #{tmp 33854}#
                               (@apply
-                                (lambda (#{a 2409}# #{init 2410}# #{b 2411}#)
-                                  (#{id? 353}# #{a 2409}#))
-                                #{tmp 2405}#)
+                                (lambda (#{a 33858}#
+                                         #{init 33859}#
+                                         #{b 33860}#)
+                                  (if (symbol? #{a 33858}#)
+                                    #t
+                                    (if (if (vector? #{a 33858}#)
+                                          (if (= (vector-length #{a 33858}#) 4)
+                                            (eq? (vector-ref #{a 33858}# 0)
+                                                 'syntax-object)
+                                            #f)
+                                          #f)
+                                      (symbol? (vector-ref #{a 33858}# 1))
+                                      #f)))
+                                #{tmp 33854}#)
                               #f)
                           (@apply
-                            (lambda (#{a 2415}# #{init 2416}# #{b 2417}#)
-                              (#{opt 2332}#
-                                #{b 2417}#
-                                #{req 2389}#
-                                (cons (list #{a 2415}# #{init 2416}#)
-                                      #{ropt 2390}#)))
-                            #{tmp 2405}#)
-                          (let ((#{tmp 2418}#
-                                  ($sc-dispatch #{args 2388}# '(any . any))))
-                            (if (if #{tmp 2418}#
+                            (lambda (#{a 33887}# #{init 33888}# #{b 33889}#)
+                              (#{opt 33452}#
+                                #{b 33889}#
+                                #{req 33696}#
+                                (cons (list #{a 33887}# #{init 33888}#)
+                                      #{ropt 33697}#)))
+                            #{tmp 33854}#)
+                          (let ((#{tmp 33890}#
+                                  ($sc-dispatch #{args 33695}# '(any . any))))
+                            (if (if #{tmp 33890}#
                                   (@apply
-                                    (lambda (#{a 2421}# #{b 2422}#)
-                                      (eq? (syntax->datum #{a 2421}#) #:key))
-                                    #{tmp 2418}#)
+                                    (lambda (#{a 33894}# #{b 33895}#)
+                                      (eq? (syntax->datum #{a 33894}#) #:key))
+                                    #{tmp 33890}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 2425}# #{b 2426}#)
-                                  (#{key 2334}#
-                                    #{b 2426}#
-                                    #{req 2389}#
-                                    (reverse #{ropt 2390}#)
+                                (lambda (#{a 33896}# #{b 33897}#)
+                                  (#{key 33453}#
+                                    #{b 33897}#
+                                    #{req 33696}#
+                                    (reverse #{ropt 33697}#)
                                     '()))
-                                #{tmp 2418}#)
-                              (let ((#{tmp 2427}#
-                                      ($sc-dispatch #{args 2388}# '(any any))))
-                                (if (if #{tmp 2427}#
+                                #{tmp 33890}#)
+                              (let ((#{tmp 33900}#
+                                      ($sc-dispatch
+                                        #{args 33695}#
+                                        '(any any))))
+                                (if (if #{tmp 33900}#
                                       (@apply
-                                        (lambda (#{a 2430}# #{b 2431}#)
-                                          (eq? (syntax->datum #{a 2430}#)
+                                        (lambda (#{a 33904}# #{b 33905}#)
+                                          (eq? (syntax->datum #{a 33904}#)
                                                #:rest))
-                                        #{tmp 2427}#)
+                                        #{tmp 33900}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a 2434}# #{b 2435}#)
-                                      (#{rest 2336}#
-                                        #{b 2435}#
-                                        #{req 2389}#
-                                        (reverse #{ropt 2390}#)
+                                    (lambda (#{a 33906}# #{b 33907}#)
+                                      (#{rest 33454}#
+                                        #{b 33907}#
+                                        #{req 33696}#
+                                        (reverse #{ropt 33697}#)
                                         '()))
-                                    #{tmp 2427}#)
-                                  (let ((#{tmp 2436}# (list #{args 2388}#)))
-                                    (if (if #{tmp 2436}#
-                                          (@apply
-                                            (lambda (#{r 2438}#)
-                                              (#{id? 353}# #{r 2438}#))
-                                            #{tmp 2436}#)
-                                          #f)
+                                    #{tmp 33900}#)
+                                  (let ((#{tmp 33910}# (list #{args 33695}#)))
+                                    (if (@apply
+                                          (lambda (#{r 33912}#)
+                                            (if (symbol? #{r 33912}#)
+                                              #t
+                                              (if (if (vector? #{r 33912}#)
+                                                    (if (= (vector-length
+                                                             #{r 33912}#)
+                                                           4)
+                                                      (eq? (vector-ref
+                                                             #{r 33912}#
+                                                             0)
+                                                           'syntax-object)
+                                                      #f)
+                                                    #f)
+                                                (symbol?
+                                                  (vector-ref #{r 33912}# 1))
+                                                #f)))
+                                          #{tmp 33910}#)
                                       (@apply
-                                        (lambda (#{r 2440}#)
-                                          (#{rest 2336}#
-                                            #{r 2440}#
-                                            #{req 2389}#
-                                            (reverse #{ropt 2390}#)
+                                        (lambda (#{r 33942}#)
+                                          (#{rest 33454}#
+                                            #{r 33942}#
+                                            #{req 33696}#
+                                            (reverse #{ropt 33697}#)
                                             '()))
-                                        #{tmp 2436}#)
+                                        #{tmp 33910}#)
                                       (syntax-violation
                                         'lambda*
                                         "invalid optional argument list"
-                                        #{orig-args 2327}#
-                                        #{args 2388}#)))))))))))))))
-          (#{key 2334}#
-            (lambda (#{args 2443}#
-                     #{req 2444}#
-                     #{opt 2445}#
-                     #{rkey 2446}#)
-              (let ((#{tmp 2452}# ($sc-dispatch #{args 2443}# '())))
-                (if #{tmp 2452}#
+                                        #{orig-args 33450}#
+                                        #{args 33695}#)))))))))))))))
+          (#{key 33453}#
+            (lambda (#{args 33961}#
+                     #{req 33962}#
+                     #{opt 33963}#
+                     #{rkey 33964}#)
+              (let ((#{tmp 33966}# ($sc-dispatch #{args 33961}# '())))
+                (if #{tmp 33966}#
                   (@apply
                     (lambda ()
-                      (#{check 2338}#
-                        #{req 2444}#
-                        #{opt 2445}#
+                      (#{check 33455}#
+                        #{req 33962}#
+                        #{opt 33963}#
                         #f
-                        (cons #f (reverse #{rkey 2446}#))))
-                    #{tmp 2452}#)
-                  (let ((#{tmp 2453}#
-                          ($sc-dispatch #{args 2443}# '(any . any))))
-                    (if (if #{tmp 2453}#
+                        (cons #f (reverse #{rkey 33964}#))))
+                    #{tmp 33966}#)
+                  (let ((#{tmp 34088}#
+                          ($sc-dispatch #{args 33961}# '(any . any))))
+                    (if (if #{tmp 34088}#
                           (@apply
-                            (lambda (#{a 2456}# #{b 2457}#)
-                              (#{id? 353}# #{a 2456}#))
-                            #{tmp 2453}#)
+                            (lambda (#{a 34092}# #{b 34093}#)
+                              (if (symbol? #{a 34092}#)
+                                #t
+                                (if (if (vector? #{a 34092}#)
+                                      (if (= (vector-length #{a 34092}#) 4)
+                                        (eq? (vector-ref #{a 34092}# 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (symbol? (vector-ref #{a 34092}# 1))
+                                  #f)))
+                            #{tmp 34088}#)
                           #f)
                       (@apply
-                        (lambda (#{a 2460}# #{b 2461}#)
-                          (let ((#{tmp 2463}#
+                        (lambda (#{a 34120}# #{b 34121}#)
+                          (let ((#{tmp 34122}#
                                   (symbol->keyword
-                                    (syntax->datum #{a 2460}#))))
-                            (#{key 2334}#
-                              #{b 2461}#
-                              #{req 2444}#
-                              #{opt 2445}#
-                              (cons (cons #{tmp 2463}#
-                                          (cons #{a 2460}#
+                                    (syntax->datum #{a 34120}#))))
+                            (#{key 33453}#
+                              #{b 34121}#
+                              #{req 33962}#
+                              #{opt 33963}#
+                              (cons (cons #{tmp 34122}#
+                                          (cons #{a 34120}#
                                                 '(#(syntax-object
                                                     #f
                                                     ((top)
@@ -5550,11 +7448,11 @@
                                                      #(ribcage
                                                        #(k)
                                                        #((top))
-                                                       #("i2464"))
+                                                       #("i2465"))
                                                      #(ribcage
                                                        #(a b)
                                                        #((top) (top))
-                                                       #("i2458" "i2459"))
+                                                       #("i2459" "i2460"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(args req opt rkey)
@@ -5562,10 +7460,10 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i2447"
-                                                         "i2448"
+                                                       #("i2448"
                                                          "i2449"
-                                                         "i2450"))
+                                                         "i2450"
+                                                         "i2451"))
                                                      #(ribcage
                                                        (check rest key opt req)
                                                        ((top)
@@ -5573,15 +7471,15 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i2337"
-                                                        "i2335"
-                                                        "i2333"
-                                                        "i2331"
-                                                        "i2329"))
+                                                       ("i2338"
+                                                        "i2336"
+                                                        "i2334"
+                                                        "i2332"
+                                                        "i2330"))
                                                      #(ribcage
                                                        #(orig-args)
                                                        #((top))
-                                                       #("i2328"))
+                                                       #("i2329"))
                                                      #(ribcage
                                                        (lambda-var-list
                                                          gen-var
@@ -5859,807 +7757,1155 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i470"
-                                                        "i468"
-                                                        "i466"
-                                                        "i464"
-                                                        "i462"
-                                                        "i460"
-                                                        "i458"
-                                                        "i456"
-                                                        "i454"
-                                                        "i452"
-                                                        "i450"
-                                                        "i448"
-                                                        "i446"
-                                                        "i444"
-                                                        "i442"
-                                                        "i440"
-                                                        "i438"
-                                                        "i436"
-                                                        "i434"
-                                                        "i432"
-                                                        "i430"
-                                                        "i428"
-                                                        "i426"
-                                                        "i424"
-                                                        "i422"
-                                                        "i420"
-                                                        "i418"
-                                                        "i416"
-                                                        "i414"
-                                                        "i412"
-                                                        "i410"
-                                                        "i408"
-                                                        "i406"
-                                                        "i404"
+                                                       ("i471"
+                                                        "i469"
+                                                        "i467"
+                                                        "i465"
+                                                        "i463"
+                                                        "i461"
+                                                        "i459"
+                                                        "i457"
+                                                        "i455"
+                                                        "i453"
+                                                        "i451"
+                                                        "i449"
+                                                        "i447"
+                                                        "i445"
+                                                        "i443"
+                                                        "i441"
+                                                        "i439"
+                                                        "i437"
+                                                        "i435"
+                                                        "i433"
+                                                        "i431"
+                                                        "i429"
+                                                        "i427"
+                                                        "i425"
+                                                        "i423"
+                                                        "i421"
+                                                        "i419"
+                                                        "i417"
+                                                        "i415"
+                                                        "i413"
+                                                        "i411"
+                                                        "i409"
+                                                        "i407"
+                                                        "i405"
+                                                        "i403"
                                                         "i402"
-                                                        "i401"
-                                                        "i399"
+                                                        "i400"
+                                                        "i397"
                                                         "i396"
                                                         "i395"
-                                                        "i394"
+                                                        "i393"
                                                         "i392"
-                                                        "i391"
-                                                        "i389"
-                                                        "i387"
-                                                        "i385"
-                                                        "i383"
-                                                        "i381"
-                                                        "i379"
-                                                        "i377"
-                                                        "i375"
-                                                        "i372"
+                                                        "i390"
+                                                        "i388"
+                                                        "i386"
+                                                        "i384"
+                                                        "i382"
+                                                        "i380"
+                                                        "i378"
+                                                        "i376"
+                                                        "i373"
+                                                        "i371"
                                                         "i370"
-                                                        "i369"
-                                                        "i367"
-                                                        "i365"
-                                                        "i363"
+                                                        "i368"
+                                                        "i366"
+                                                        "i364"
+                                                        "i362"
                                                         "i361"
                                                         "i360"
                                                         "i359"
-                                                        "i358"
+                                                        "i357"
                                                         "i356"
-                                                        "i355"
-                                                        "i352"
-                                                        "i350"
-                                                        "i348"
-                                                        "i346"
-                                                        "i344"
-                                                        "i342"
+                                                        "i353"
+                                                        "i351"
+                                                        "i349"
+                                                        "i347"
+                                                        "i345"
+                                                        "i343"
+                                                        "i341"
                                                         "i340"
                                                         "i339"
-                                                        "i338"
-                                                        "i336"
+                                                        "i337"
+                                                        "i335"
                                                         "i334"
-                                                        "i333"
+                                                        "i331"
                                                         "i330"
-                                                        "i329"
-                                                        "i327"
-                                                        "i325"
-                                                        "i323"
-                                                        "i321"
-                                                        "i319"
-                                                        "i317"
-                                                        "i315"
-                                                        "i313"
-                                                        "i311"
-                                                        "i308"
-                                                        "i306"
-                                                        "i304"
-                                                        "i302"
-                                                        "i300"
-                                                        "i298"
-                                                        "i296"
-                                                        "i294"
-                                                        "i292"
-                                                        "i290"
-                                                        "i288"
-                                                        "i286"
-                                                        "i284"
-                                                        "i282"
-                                                        "i280"
-                                                        "i278"
-                                                        "i276"
-                                                        "i274"
-                                                        "i272"
-                                                        "i270"
-                                                        "i268"
-                                                        "i266"
-                                                        "i264"
+                                                        "i328"
+                                                        "i326"
+                                                        "i324"
+                                                        "i322"
+                                                        "i320"
+                                                        "i318"
+                                                        "i316"
+                                                        "i314"
+                                                        "i312"
+                                                        "i309"
+                                                        "i307"
+                                                        "i305"
+                                                        "i303"
+                                                        "i301"
+                                                        "i299"
+                                                        "i297"
+                                                        "i295"
+                                                        "i293"
+                                                        "i291"
+                                                        "i289"
+                                                        "i287"
+                                                        "i285"
+                                                        "i283"
+                                                        "i281"
+                                                        "i279"
+                                                        "i277"
+                                                        "i275"
+                                                        "i273"
+                                                        "i271"
+                                                        "i269"
+                                                        "i267"
+                                                        "i265"
+                                                        "i263"
                                                         "i262"
-                                                        "i261"
-                                                        "i258"
+                                                        "i259"
+                                                        "i257"
                                                         "i256"
                                                         "i255"
                                                         "i254"
                                                         "i253"
-                                                        "i252"
-                                                        "i250"
-                                                        "i248"
-                                                        "i246"
-                                                        "i243"
-                                                        "i241"
-                                                        "i239"
-                                                        "i237"
-                                                        "i235"
-                                                        "i233"
-                                                        "i231"
-                                                        "i229"
-                                                        "i227"
-                                                        "i225"
-                                                        "i223"
-                                                        "i221"
-                                                        "i219"
-                                                        "i217"
-                                                        "i215"
-                                                        "i213"
-                                                        "i211"
-                                                        "i209"
-                                                        "i207"))
+                                                        "i251"
+                                                        "i249"
+                                                        "i247"
+                                                        "i244"
+                                                        "i242"
+                                                        "i240"
+                                                        "i238"
+                                                        "i236"
+                                                        "i234"
+                                                        "i232"
+                                                        "i230"
+                                                        "i228"
+                                                        "i226"
+                                                        "i224"
+                                                        "i222"
+                                                        "i220"
+                                                        "i218"
+                                                        "i216"
+                                                        "i214"
+                                                        "i212"
+                                                        "i210"
+                                                        "i208"))
                                                      #(ribcage
                                                        (define-structure
                                                          
define-expansion-accessors
                                                          
define-expansion-constructors)
                                                        ((top) (top) (top))
-                                                       ("i45" "i44" "i43")))
+                                                       ("i46" "i45" "i44")))
                                                     (hygiene guile)))))
-                                    #{rkey 2446}#))))
-                        #{tmp 2453}#)
-                      (let ((#{tmp 2466}#
-                              ($sc-dispatch #{args 2443}# '((any any) . any))))
-                        (if (if #{tmp 2466}#
+                                    #{rkey 33964}#))))
+                        #{tmp 34088}#)
+                      (let ((#{tmp 34125}#
+                              ($sc-dispatch
+                                #{args 33961}#
+                                '((any any) . any))))
+                        (if (if #{tmp 34125}#
                               (@apply
-                                (lambda (#{a 2470}# #{init 2471}# #{b 2472}#)
-                                  (#{id? 353}# #{a 2470}#))
-                                #{tmp 2466}#)
+                                (lambda (#{a 34129}#
+                                         #{init 34130}#
+                                         #{b 34131}#)
+                                  (if (symbol? #{a 34129}#)
+                                    #t
+                                    (if (if (vector? #{a 34129}#)
+                                          (if (= (vector-length #{a 34129}#) 4)
+                                            (eq? (vector-ref #{a 34129}# 0)
+                                                 'syntax-object)
+                                            #f)
+                                          #f)
+                                      (symbol? (vector-ref #{a 34129}# 1))
+                                      #f)))
+                                #{tmp 34125}#)
                               #f)
                           (@apply
-                            (lambda (#{a 2476}# #{init 2477}# #{b 2478}#)
-                              (let ((#{tmp 2480}#
+                            (lambda (#{a 34158}# #{init 34159}# #{b 34160}#)
+                              (let ((#{tmp 34161}#
                                       (symbol->keyword
-                                        (syntax->datum #{a 2476}#))))
-                                (#{key 2334}#
-                                  #{b 2478}#
-                                  #{req 2444}#
-                                  #{opt 2445}#
-                                  (cons (list #{tmp 2480}#
-                                              #{a 2476}#
-                                              #{init 2477}#)
-                                        #{rkey 2446}#))))
-                            #{tmp 2466}#)
-                          (let ((#{tmp 2483}#
+                                        (syntax->datum #{a 34158}#))))
+                                (#{key 33453}#
+                                  #{b 34160}#
+                                  #{req 33962}#
+                                  #{opt 33963}#
+                                  (cons (list #{tmp 34161}#
+                                              #{a 34158}#
+                                              #{init 34159}#)
+                                        #{rkey 33964}#))))
+                            #{tmp 34125}#)
+                          (let ((#{tmp 34164}#
                                   ($sc-dispatch
-                                    #{args 2443}#
+                                    #{args 33961}#
                                     '((any any any) . any))))
-                            (if (if #{tmp 2483}#
+                            (if (if #{tmp 34164}#
                                   (@apply
-                                    (lambda (#{a 2488}#
-                                             #{init 2489}#
-                                             #{k 2490}#
-                                             #{b 2491}#)
-                                      (if (#{id? 353}# #{a 2488}#)
-                                        (keyword? (syntax->datum #{k 2490}#))
+                                    (lambda (#{a 34168}#
+                                             #{init 34169}#
+                                             #{k 34170}#
+                                             #{b 34171}#)
+                                      (if (if (symbol? #{a 34168}#)
+                                            #t
+                                            (if (if (vector? #{a 34168}#)
+                                                  (if (= (vector-length
+                                                           #{a 34168}#)
+                                                         4)
+                                                    (eq? (vector-ref
+                                                           #{a 34168}#
+                                                           0)
+                                                         'syntax-object)
+                                                    #f)
+                                                  #f)
+                                              (symbol?
+                                                (vector-ref #{a 34168}# 1))
+                                              #f))
+                                        (keyword? (syntax->datum #{k 34170}#))
                                         #f))
-                                    #{tmp 2483}#)
+                                    #{tmp 34164}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 2498}#
-                                         #{init 2499}#
-                                         #{k 2500}#
-                                         #{b 2501}#)
-                                  (#{key 2334}#
-                                    #{b 2501}#
-                                    #{req 2444}#
-                                    #{opt 2445}#
-                                    (cons (list #{k 2500}#
-                                                #{a 2498}#
-                                                #{init 2499}#)
-                                          #{rkey 2446}#)))
-                                #{tmp 2483}#)
-                              (let ((#{tmp 2502}#
-                                      ($sc-dispatch #{args 2443}# '(any))))
-                                (if (if #{tmp 2502}#
+                                (lambda (#{a 34198}#
+                                         #{init 34199}#
+                                         #{k 34200}#
+                                         #{b 34201}#)
+                                  (#{key 33453}#
+                                    #{b 34201}#
+                                    #{req 33962}#
+                                    #{opt 33963}#
+                                    (cons (list #{k 34200}#
+                                                #{a 34198}#
+                                                #{init 34199}#)
+                                          #{rkey 33964}#)))
+                                #{tmp 34164}#)
+                              (let ((#{tmp 34202}#
+                                      ($sc-dispatch #{args 33961}# '(any))))
+                                (if (if #{tmp 34202}#
                                       (@apply
-                                        (lambda (#{aok 2504}#)
-                                          (eq? (syntax->datum #{aok 2504}#)
+                                        (lambda (#{aok 34206}#)
+                                          (eq? (syntax->datum #{aok 34206}#)
                                                #:allow-other-keys))
-                                        #{tmp 2502}#)
+                                        #{tmp 34202}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{aok 2506}#)
-                                      (#{check 2338}#
-                                        #{req 2444}#
-                                        #{opt 2445}#
+                                    (lambda (#{aok 34207}#)
+                                      (#{check 33455}#
+                                        #{req 33962}#
+                                        #{opt 33963}#
                                         #f
-                                        (cons #t (reverse #{rkey 2446}#))))
-                                    #{tmp 2502}#)
-                                  (let ((#{tmp 2507}#
+                                        (cons #t (reverse #{rkey 33964}#))))
+                                    #{tmp 34202}#)
+                                  (let ((#{tmp 34326}#
                                           ($sc-dispatch
-                                            #{args 2443}#
+                                            #{args 33961}#
                                             '(any any any))))
-                                    (if (if #{tmp 2507}#
+                                    (if (if #{tmp 34326}#
                                           (@apply
-                                            (lambda (#{aok 2511}#
-                                                     #{a 2512}#
-                                                     #{b 2513}#)
+                                            (lambda (#{aok 34330}#
+                                                     #{a 34331}#
+                                                     #{b 34332}#)
                                               (if (eq? (syntax->datum
-                                                         #{aok 2511}#)
+                                                         #{aok 34330}#)
                                                        #:allow-other-keys)
-                                                (eq? (syntax->datum #{a 2512}#)
+                                                (eq? (syntax->datum
+                                                       #{a 34331}#)
                                                      #:rest)
                                                 #f))
-                                            #{tmp 2507}#)
+                                            #{tmp 34326}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{aok 2519}#
-                                                 #{a 2520}#
-                                                 #{b 2521}#)
-                                          (#{rest 2336}#
-                                            #{b 2521}#
-                                            #{req 2444}#
-                                            #{opt 2445}#
-                                            (cons #t (reverse #{rkey 2446}#))))
-                                        #{tmp 2507}#)
-                                      (let ((#{tmp 2522}#
+                                        (lambda (#{aok 34333}#
+                                                 #{a 34334}#
+                                                 #{b 34335}#)
+                                          (#{rest 33454}#
+                                            #{b 34335}#
+                                            #{req 33962}#
+                                            #{opt 33963}#
+                                            (cons #t
+                                                  (reverse #{rkey 33964}#))))
+                                        #{tmp 34326}#)
+                                      (let ((#{tmp 34338}#
                                               ($sc-dispatch
-                                                #{args 2443}#
+                                                #{args 33961}#
                                                 '(any . any))))
-                                        (if (if #{tmp 2522}#
+                                        (if (if #{tmp 34338}#
                                               (@apply
-                                                (lambda (#{aok 2525}#
-                                                         #{r 2526}#)
+                                                (lambda (#{aok 34342}#
+                                                         #{r 34343}#)
                                                   (if (eq? (syntax->datum
-                                                             #{aok 2525}#)
+                                                             #{aok 34342}#)
                                                            #:allow-other-keys)
-                                                    (#{id? 353}# #{r 2526}#)
+                                                    (if (symbol? #{r 34343}#)
+                                                      #t
+                                                      (if (if (vector?
+                                                                #{r 34343}#)
+                                                            (if (= 
(vector-length
+                                                                     #{r 
34343}#)
+                                                                   4)
+                                                              (eq? (vector-ref
+                                                                     #{r 
34343}#
+                                                                     0)
+                                                                   
'syntax-object)
+                                                              #f)
+                                                            #f)
+                                                        (symbol?
+                                                          (vector-ref
+                                                            #{r 34343}#
+                                                            1))
+                                                        #f))
                                                     #f))
-                                                #{tmp 2522}#)
+                                                #{tmp 34338}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{aok 2531}# #{r 2532}#)
-                                              (#{rest 2336}#
-                                                #{r 2532}#
-                                                #{req 2444}#
-                                                #{opt 2445}#
+                                            (lambda (#{aok 34370}# #{r 34371}#)
+                                              (#{rest 33454}#
+                                                #{r 34371}#
+                                                #{req 33962}#
+                                                #{opt 33963}#
                                                 (cons #t
                                                       (reverse
-                                                        #{rkey 2446}#))))
-                                            #{tmp 2522}#)
-                                          (let ((#{tmp 2533}#
+                                                        #{rkey 33964}#))))
+                                            #{tmp 34338}#)
+                                          (let ((#{tmp 34374}#
                                                   ($sc-dispatch
-                                                    #{args 2443}#
+                                                    #{args 33961}#
                                                     '(any any))))
-                                            (if (if #{tmp 2533}#
+                                            (if (if #{tmp 34374}#
                                                   (@apply
-                                                    (lambda (#{a 2536}#
-                                                             #{b 2537}#)
+                                                    (lambda (#{a 34378}#
+                                                             #{b 34379}#)
                                                       (eq? (syntax->datum
-                                                             #{a 2536}#)
+                                                             #{a 34378}#)
                                                            #:rest))
-                                                    #{tmp 2533}#)
+                                                    #{tmp 34374}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{a 2540}# #{b 2541}#)
-                                                  (#{rest 2336}#
-                                                    #{b 2541}#
-                                                    #{req 2444}#
-                                                    #{opt 2445}#
+                                                (lambda (#{a 34380}#
+                                                         #{b 34381}#)
+                                                  (#{rest 33454}#
+                                                    #{b 34381}#
+                                                    #{req 33962}#
+                                                    #{opt 33963}#
                                                     (cons #f
                                                           (reverse
-                                                            #{rkey 2446}#))))
-                                                #{tmp 2533}#)
-                                              (let ((#{tmp 2542}#
-                                                      (list #{args 2443}#)))
-                                                (if (if #{tmp 2542}#
-                                                      (@apply
-                                                        (lambda (#{r 2544}#)
-                                                          (#{id? 353}#
-                                                            #{r 2544}#))
-                                                        #{tmp 2542}#)
-                                                      #f)
+                                                            #{rkey 33964}#))))
+                                                #{tmp 34374}#)
+                                              (let ((#{tmp 34384}#
+                                                      (list #{args 33961}#)))
+                                                (if (@apply
+                                                      (lambda (#{r 34386}#)
+                                                        (if (symbol?
+                                                              #{r 34386}#)
+                                                          #t
+                                                          (if (if (vector?
+                                                                    #{r 
34386}#)
+                                                                (if (= 
(vector-length
+                                                                         #{r 
34386}#)
+                                                                       4)
+                                                                  (eq? 
(vector-ref
+                                                                         #{r 
34386}#
+                                                                         0)
+                                                                       
'syntax-object)
+                                                                  #f)
+                                                                #f)
+                                                            (symbol?
+                                                              (vector-ref
+                                                                #{r 34386}#
+                                                                1))
+                                                            #f)))
+                                                      #{tmp 34384}#)
                                                   (@apply
-                                                    (lambda (#{r 2546}#)
-                                                      (#{rest 2336}#
-                                                        #{r 2546}#
-                                                        #{req 2444}#
-                                                        #{opt 2445}#
+                                                    (lambda (#{r 34416}#)
+                                                      (#{rest 33454}#
+                                                        #{r 34416}#
+                                                        #{req 33962}#
+                                                        #{opt 33963}#
                                                         (cons #f
                                                               (reverse
-                                                                #{rkey 
2446}#))))
-                                                    #{tmp 2542}#)
+                                                                #{rkey 
33964}#))))
+                                                    #{tmp 34384}#)
                                                   (syntax-violation
                                                     'lambda*
                                                     "invalid keyword argument 
list"
-                                                    #{orig-args 2327}#
-                                                    #{args 
2443}#)))))))))))))))))))))
-          (#{rest 2336}#
-            (lambda (#{args 2549}#
-                     #{req 2550}#
-                     #{opt 2551}#
-                     #{kw 2552}#)
-              (let ((#{tmp 2558}# (list #{args 2549}#)))
-                (if (if #{tmp 2558}#
-                      (@apply
-                        (lambda (#{r 2560}#) (#{id? 353}# #{r 2560}#))
-                        #{tmp 2558}#)
-                      #f)
+                                                    #{orig-args 33450}#
+                                                    #{args 
33961}#)))))))))))))))))))))
+          (#{rest 33454}#
+            (lambda (#{args 34444}#
+                     #{req 34445}#
+                     #{opt 34446}#
+                     #{kw 34447}#)
+              (let ((#{tmp 34449}# (list #{args 34444}#)))
+                (if (@apply
+                      (lambda (#{r 34451}#)
+                        (if (symbol? #{r 34451}#)
+                          #t
+                          (if (if (vector? #{r 34451}#)
+                                (if (= (vector-length #{r 34451}#) 4)
+                                  (eq? (vector-ref #{r 34451}# 0)
+                                       'syntax-object)
+                                  #f)
+                                #f)
+                            (symbol? (vector-ref #{r 34451}# 1))
+                            #f)))
+                      #{tmp 34449}#)
                   (@apply
-                    (lambda (#{r 2562}#)
-                      (#{check 2338}#
-                        #{req 2550}#
-                        #{opt 2551}#
-                        #{r 2562}#
-                        #{kw 2552}#))
-                    #{tmp 2558}#)
+                    (lambda (#{r 34481}#)
+                      (#{check 33455}#
+                        #{req 34445}#
+                        #{opt 34446}#
+                        #{r 34481}#
+                        #{kw 34447}#))
+                    #{tmp 34449}#)
                   (syntax-violation
                     'lambda*
                     "invalid rest argument"
-                    #{orig-args 2327}#
-                    #{args 2549}#)))))
-          (#{check 2338}#
-            (lambda (#{req 2565}#
-                     #{opt 2566}#
-                     #{rest 2567}#
-                     #{kw 2568}#)
-              (if (#{distinct-bound-ids? 423}#
+                    #{orig-args 33450}#
+                    #{args 34444}#)))))
+          (#{check 33455}#
+            (lambda (#{req 34609}#
+                     #{opt 34610}#
+                     #{rest 34611}#
+                     #{kw 34612}#)
+              (if (#{distinct-bound-ids? 4366}#
                     (append
-                      #{req 2565}#
-                      (map car #{opt 2566}#)
-                      (if #{rest 2567}# (list #{rest 2567}#) '())
-                      (if (pair? #{kw 2568}#)
-                        (map cadr (cdr #{kw 2568}#))
+                      #{req 34609}#
+                      (map car #{opt 34610}#)
+                      (if #{rest 34611}# (list #{rest 34611}#) '())
+                      (if (pair? #{kw 34612}#)
+                        (map cadr (cdr #{kw 34612}#))
                         '())))
                 (values
-                  #{req 2565}#
-                  #{opt 2566}#
-                  #{rest 2567}#
-                  #{kw 2568}#)
+                  #{req 34609}#
+                  #{opt 34610}#
+                  #{rest 34611}#
+                  #{kw 34612}#)
                 (syntax-violation
                   'lambda*
                   "duplicate identifier in argument list"
-                  #{orig-args 2327}#)))))
-         (#{req 2330}# #{orig-args 2327}# '()))))
-   (#{chi-lambda-case 465}#
-     (lambda (#{e 2576}#
-              #{r 2577}#
-              #{w 2578}#
-              #{s 2579}#
-              #{mod 2580}#
-              #{get-formals 2581}#
-              #{clauses 2582}#)
+                  #{orig-args 33450}#)))))
+         (#{req 33451}# #{orig-args 33450}# '()))))
+   (#{chi-lambda-case 4387}#
+     (lambda (#{e 34721}#
+              #{r 34722}#
+              #{w 34723}#
+              #{s 34724}#
+              #{mod 34725}#
+              #{get-formals 34726}#
+              #{clauses 34727}#)
        (letrec*
-         ((#{expand-opt 2593}#
-            (lambda (#{req 2616}#
-                     #{opt 2617}#
-                     #{rest 2618}#
-                     #{kw 2619}#
-                     #{body 2620}#
-                     #{vars 2621}#
-                     #{r* 2622}#
-                     #{w* 2623}#
-                     #{out 2624}#
-                     #{inits 2625}#)
-              (if (pair? #{opt 2617}#)
-                (let ((#{tmp 2638}# (car #{opt 2617}#)))
-                  (let ((#{tmp 2639}#
-                          ($sc-dispatch #{tmp 2638}# '(any any))))
-                    (if #{tmp 2639}#
+         ((#{expand-req 34728}#
+            (lambda (#{req 34864}#
+                     #{opt 34865}#
+                     #{rest 34866}#
+                     #{kw 34867}#
+                     #{body 34868}#)
+              (let ((#{vars 34869}#
+                      (map #{gen-var 4389}# #{req 34864}#))
+                    (#{labels 34870}#
+                      (#{gen-labels 4346}# #{req 34864}#)))
+                (let ((#{r* 34871}#
+                        (#{extend-var-env 4338}#
+                          #{labels 34870}#
+                          #{vars 34869}#
+                          #{r 34722}#))
+                      (#{w* 34872}#
+                        (#{make-binding-wrap 4357}#
+                          #{req 34864}#
+                          #{labels 34870}#
+                          #{w 34723}#)))
+                  (#{expand-opt 34729}#
+                    (map syntax->datum #{req 34864}#)
+                    #{opt 34865}#
+                    #{rest 34866}#
+                    #{kw 34867}#
+                    #{body 34868}#
+                    (reverse #{vars 34869}#)
+                    #{r* 34871}#
+                    #{w* 34872}#
+                    '()
+                    '())))))
+          (#{expand-opt 34729}#
+            (lambda (#{req 35108}#
+                     #{opt 35109}#
+                     #{rest 35110}#
+                     #{kw 35111}#
+                     #{body 35112}#
+                     #{vars 35113}#
+                     #{r* 35114}#
+                     #{w* 35115}#
+                     #{out 35116}#
+                     #{inits 35117}#)
+              (if (pair? #{opt 35109}#)
+                (let ((#{tmp 35118}# (car #{opt 35109}#)))
+                  (let ((#{tmp 35119}#
+                          ($sc-dispatch #{tmp 35118}# '(any any))))
+                    (if #{tmp 35119}#
                       (@apply
-                        (lambda (#{id 2642}# #{i 2643}#)
-                          (let ((#{v 2646}# (#{gen-var 469}# #{id 2642}#)))
-                            (let ((#{l 2648}#
-                                    (#{gen-labels 373}# (list #{v 2646}#))))
-                              (let ((#{r** 2650}#
-                                      (#{extend-var-env 343}#
-                                        #{l 2648}#
-                                        (list #{v 2646}#)
-                                        #{r* 2622}#)))
-                                (let ((#{w** 2652}#
-                                        (#{make-binding-wrap 405}#
-                                          (list #{id 2642}#)
-                                          #{l 2648}#
-                                          #{w* 2623}#)))
-                                  (#{expand-opt 2593}#
-                                    #{req 2616}#
-                                    (cdr #{opt 2617}#)
-                                    #{rest 2618}#
-                                    #{kw 2619}#
-                                    #{body 2620}#
-                                    (cons #{v 2646}# #{vars 2621}#)
-                                    #{r** 2650}#
-                                    #{w** 2652}#
-                                    (cons (syntax->datum #{id 2642}#)
-                                          #{out 2624}#)
-                                    (cons (#{chi 441}#
-                                            #{i 2643}#
-                                            #{r* 2622}#
-                                            #{w* 2623}#
-                                            #{mod 2580}#)
-                                          #{inits 2625}#)))))))
-                        #{tmp 2639}#)
+                        (lambda (#{id 35121}# #{i 35122}#)
+                          (let ((#{v 35123}#
+                                  (let ((#{id 35131}#
+                                          (if (if (vector? #{id 35121}#)
+                                                (if (= (vector-length
+                                                         #{id 35121}#)
+                                                       4)
+                                                  (eq? (vector-ref
+                                                         #{id 35121}#
+                                                         0)
+                                                       'syntax-object)
+                                                  #f)
+                                                #f)
+                                            (vector-ref #{id 35121}# 1)
+                                            #{id 35121}#)))
+                                    (gensym
+                                      (string-append
+                                        (symbol->string #{id 35131}#)
+                                        " ")))))
+                            (let ((#{l 35124}#
+                                    (#{gen-labels 4346}# (list #{v 35123}#))))
+                              (let ((#{r** 35125}#
+                                      (#{extend-var-env 4338}#
+                                        #{l 35124}#
+                                        (list #{v 35123}#)
+                                        #{r* 35114}#)))
+                                (let ((#{w** 35126}#
+                                        (#{make-binding-wrap 4357}#
+                                          (list #{id 35121}#)
+                                          #{l 35124}#
+                                          #{w* 35115}#)))
+                                  (#{expand-opt 34729}#
+                                    #{req 35108}#
+                                    (cdr #{opt 35109}#)
+                                    #{rest 35110}#
+                                    #{kw 35111}#
+                                    #{body 35112}#
+                                    (cons #{v 35123}# #{vars 35113}#)
+                                    #{r** 35125}#
+                                    #{w** 35126}#
+                                    (cons (syntax->datum #{id 35121}#)
+                                          #{out 35116}#)
+                                    (cons (#{chi 4375}#
+                                            #{i 35122}#
+                                            #{r* 35114}#
+                                            #{w* 35115}#
+                                            #{mod 34725}#)
+                                          #{inits 35117}#)))))))
+                        #{tmp 35119}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 2638}#))))
-                (if #{rest 2618}#
-                  (let ((#{v 2657}# (#{gen-var 469}# #{rest 2618}#)))
-                    (let ((#{l 2659}#
-                            (#{gen-labels 373}# (list #{v 2657}#))))
-                      (let ((#{r* 2661}#
-                              (#{extend-var-env 343}#
-                                #{l 2659}#
-                                (list #{v 2657}#)
-                                #{r* 2622}#)))
-                        (let ((#{w* 2663}#
-                                (#{make-binding-wrap 405}#
-                                  (list #{rest 2618}#)
-                                  #{l 2659}#
-                                  #{w* 2623}#)))
-                          (#{expand-kw 2595}#
-                            #{req 2616}#
-                            (if (pair? #{out 2624}#)
-                              (reverse #{out 2624}#)
+                        #{tmp 35118}#))))
+                (if #{rest 35110}#
+                  (let ((#{v 35430}#
+                          (let ((#{id 35440}#
+                                  (if (if (vector? #{rest 35110}#)
+                                        (if (= (vector-length #{rest 35110}#)
+                                               4)
+                                          (eq? (vector-ref #{rest 35110}# 0)
+                                               'syntax-object)
+                                          #f)
+                                        #f)
+                                    (vector-ref #{rest 35110}# 1)
+                                    #{rest 35110}#)))
+                            (gensym
+                              (string-append
+                                (symbol->string #{id 35440}#)
+                                " ")))))
+                    (let ((#{l 35431}#
+                            (#{gen-labels 4346}# (list #{v 35430}#))))
+                      (let ((#{r* 35432}#
+                              (#{extend-var-env 4338}#
+                                #{l 35431}#
+                                (list #{v 35430}#)
+                                #{r* 35114}#)))
+                        (let ((#{w* 35433}#
+                                (#{make-binding-wrap 4357}#
+                                  (list #{rest 35110}#)
+                                  #{l 35431}#
+                                  #{w* 35115}#)))
+                          (#{expand-kw 34730}#
+                            #{req 35108}#
+                            (if (pair? #{out 35116}#)
+                              (reverse #{out 35116}#)
                               #f)
-                            (syntax->datum #{rest 2618}#)
-                            (if (pair? #{kw 2619}#)
-                              (cdr #{kw 2619}#)
-                              #{kw 2619}#)
-                            #{body 2620}#
-                            (cons #{v 2657}# #{vars 2621}#)
-                            #{r* 2661}#
-                            #{w* 2663}#
-                            (if (pair? #{kw 2619}#) (car #{kw 2619}#) #f)
+                            (syntax->datum #{rest 35110}#)
+                            (if (pair? #{kw 35111}#)
+                              (cdr #{kw 35111}#)
+                              #{kw 35111}#)
+                            #{body 35112}#
+                            (cons #{v 35430}# #{vars 35113}#)
+                            #{r* 35432}#
+                            #{w* 35433}#
+                            (if (pair? #{kw 35111}#) (car #{kw 35111}#) #f)
                             '()
-                            #{inits 2625}#)))))
-                  (#{expand-kw 2595}#
-                    #{req 2616}#
-                    (if (pair? #{out 2624}#)
-                      (reverse #{out 2624}#)
+                            #{inits 35117}#)))))
+                  (#{expand-kw 34730}#
+                    #{req 35108}#
+                    (if (pair? #{out 35116}#)
+                      (reverse #{out 35116}#)
                       #f)
                     #f
-                    (if (pair? #{kw 2619}#)
-                      (cdr #{kw 2619}#)
-                      #{kw 2619}#)
-                    #{body 2620}#
-                    #{vars 2621}#
-                    #{r* 2622}#
-                    #{w* 2623}#
-                    (if (pair? #{kw 2619}#) (car #{kw 2619}#) #f)
+                    (if (pair? #{kw 35111}#)
+                      (cdr #{kw 35111}#)
+                      #{kw 35111}#)
+                    #{body 35112}#
+                    #{vars 35113}#
+                    #{r* 35114}#
+                    #{w* 35115}#
+                    (if (pair? #{kw 35111}#) (car #{kw 35111}#) #f)
                     '()
-                    #{inits 2625}#)))))
-          (#{expand-kw 2595}#
-            (lambda (#{req 2665}#
-                     #{opt 2666}#
-                     #{rest 2667}#
-                     #{kw 2668}#
-                     #{body 2669}#
-                     #{vars 2670}#
-                     #{r* 2671}#
-                     #{w* 2672}#
-                     #{aok 2673}#
-                     #{out 2674}#
-                     #{inits 2675}#)
-              (if (pair? #{kw 2668}#)
-                (let ((#{tmp 2689}# (car #{kw 2668}#)))
-                  (let ((#{tmp 2690}#
-                          ($sc-dispatch #{tmp 2689}# '(any any any))))
-                    (if #{tmp 2690}#
+                    #{inits 35117}#)))))
+          (#{expand-kw 34730}#
+            (lambda (#{req 35662}#
+                     #{opt 35663}#
+                     #{rest 35664}#
+                     #{kw 35665}#
+                     #{body 35666}#
+                     #{vars 35667}#
+                     #{r* 35668}#
+                     #{w* 35669}#
+                     #{aok 35670}#
+                     #{out 35671}#
+                     #{inits 35672}#)
+              (if (pair? #{kw 35665}#)
+                (let ((#{tmp 35673}# (car #{kw 35665}#)))
+                  (let ((#{tmp 35674}#
+                          ($sc-dispatch #{tmp 35673}# '(any any any))))
+                    (if #{tmp 35674}#
                       (@apply
-                        (lambda (#{k 2694}# #{id 2695}# #{i 2696}#)
-                          (let ((#{v 2699}# (#{gen-var 469}# #{id 2695}#)))
-                            (let ((#{l 2701}#
-                                    (#{gen-labels 373}# (list #{v 2699}#))))
-                              (let ((#{r** 2703}#
-                                      (#{extend-var-env 343}#
-                                        #{l 2701}#
-                                        (list #{v 2699}#)
-                                        #{r* 2671}#)))
-                                (let ((#{w** 2705}#
-                                        (#{make-binding-wrap 405}#
-                                          (list #{id 2695}#)
-                                          #{l 2701}#
-                                          #{w* 2672}#)))
-                                  (#{expand-kw 2595}#
-                                    #{req 2665}#
-                                    #{opt 2666}#
-                                    #{rest 2667}#
-                                    (cdr #{kw 2668}#)
-                                    #{body 2669}#
-                                    (cons #{v 2699}# #{vars 2670}#)
-                                    #{r** 2703}#
-                                    #{w** 2705}#
-                                    #{aok 2673}#
-                                    (cons (list (syntax->datum #{k 2694}#)
-                                                (syntax->datum #{id 2695}#)
-                                                #{v 2699}#)
-                                          #{out 2674}#)
-                                    (cons (#{chi 441}#
-                                            #{i 2696}#
-                                            #{r* 2671}#
-                                            #{w* 2672}#
-                                            #{mod 2580}#)
-                                          #{inits 2675}#)))))))
-                        #{tmp 2690}#)
+                        (lambda (#{k 35676}# #{id 35677}# #{i 35678}#)
+                          (let ((#{v 35679}#
+                                  (let ((#{id 35687}#
+                                          (if (if (vector? #{id 35677}#)
+                                                (if (= (vector-length
+                                                         #{id 35677}#)
+                                                       4)
+                                                  (eq? (vector-ref
+                                                         #{id 35677}#
+                                                         0)
+                                                       'syntax-object)
+                                                  #f)
+                                                #f)
+                                            (vector-ref #{id 35677}# 1)
+                                            #{id 35677}#)))
+                                    (gensym
+                                      (string-append
+                                        (symbol->string #{id 35687}#)
+                                        " ")))))
+                            (let ((#{l 35680}#
+                                    (#{gen-labels 4346}# (list #{v 35679}#))))
+                              (let ((#{r** 35681}#
+                                      (#{extend-var-env 4338}#
+                                        #{l 35680}#
+                                        (list #{v 35679}#)
+                                        #{r* 35668}#)))
+                                (let ((#{w** 35682}#
+                                        (#{make-binding-wrap 4357}#
+                                          (list #{id 35677}#)
+                                          #{l 35680}#
+                                          #{w* 35669}#)))
+                                  (#{expand-kw 34730}#
+                                    #{req 35662}#
+                                    #{opt 35663}#
+                                    #{rest 35664}#
+                                    (cdr #{kw 35665}#)
+                                    #{body 35666}#
+                                    (cons #{v 35679}# #{vars 35667}#)
+                                    #{r** 35681}#
+                                    #{w** 35682}#
+                                    #{aok 35670}#
+                                    (cons (list (syntax->datum #{k 35676}#)
+                                                (syntax->datum #{id 35677}#)
+                                                #{v 35679}#)
+                                          #{out 35671}#)
+                                    (cons (#{chi 4375}#
+                                            #{i 35678}#
+                                            #{r* 35668}#
+                                            #{w* 35669}#
+                                            #{mod 34725}#)
+                                          #{inits 35672}#)))))))
+                        #{tmp 35674}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 2689}#))))
-                (#{expand-body 2597}#
-                  #{req 2665}#
-                  #{opt 2666}#
-                  #{rest 2667}#
-                  (if (if #{aok 2673}#
-                        #{aok 2673}#
-                        (pair? #{out 2674}#))
-                    (cons #{aok 2673}# (reverse #{out 2674}#))
+                        #{tmp 35673}#))))
+                (#{expand-body 34731}#
+                  #{req 35662}#
+                  #{opt 35663}#
+                  #{rest 35664}#
+                  (if (if #{aok 35670}#
+                        #{aok 35670}#
+                        (pair? #{out 35671}#))
+                    (cons #{aok 35670}# (reverse #{out 35671}#))
                     #f)
-                  #{body 2669}#
-                  (reverse #{vars 2670}#)
-                  #{r* 2671}#
-                  #{w* 2672}#
-                  (reverse #{inits 2675}#)
+                  #{body 35666}#
+                  (reverse #{vars 35667}#)
+                  #{r* 35668}#
+                  #{w* 35669}#
+                  (reverse #{inits 35672}#)
                   '()))))
-          (#{expand-body 2597}#
-            (lambda (#{req 2711}#
-                     #{opt 2712}#
-                     #{rest 2713}#
-                     #{kw 2714}#
-                     #{body 2715}#
-                     #{vars 2716}#
-                     #{r* 2717}#
-                     #{w* 2718}#
-                     #{inits 2719}#
-                     #{meta 2720}#)
-              (let ((#{tmp 2732}#
+          (#{expand-body 34731}#
+            (lambda (#{req 35995}#
+                     #{opt 35996}#
+                     #{rest 35997}#
+                     #{kw 35998}#
+                     #{body 35999}#
+                     #{vars 36000}#
+                     #{r* 36001}#
+                     #{w* 36002}#
+                     #{inits 36003}#
+                     #{meta 36004}#)
+              (let ((#{tmp 36006}#
                       ($sc-dispatch
-                        #{body 2715}#
+                        #{body 35999}#
                         '(any any . each-any))))
-                (if (if #{tmp 2732}#
+                (if (if #{tmp 36006}#
                       (@apply
-                        (lambda (#{docstring 2736}# #{e1 2737}# #{e2 2738}#)
-                          (string? (syntax->datum #{docstring 2736}#)))
-                        #{tmp 2732}#)
+                        (lambda (#{docstring 36010}# #{e1 36011}# #{e2 36012}#)
+                          (string? (syntax->datum #{docstring 36010}#)))
+                        #{tmp 36006}#)
                       #f)
                   (@apply
-                    (lambda (#{docstring 2742}# #{e1 2743}# #{e2 2744}#)
-                      (#{expand-body 2597}#
-                        #{req 2711}#
-                        #{opt 2712}#
-                        #{rest 2713}#
-                        #{kw 2714}#
-                        (cons #{e1 2743}# #{e2 2744}#)
-                        #{vars 2716}#
-                        #{r* 2717}#
-                        #{w* 2718}#
-                        #{inits 2719}#
+                    (lambda (#{docstring 36013}# #{e1 36014}# #{e2 36015}#)
+                      (#{expand-body 34731}#
+                        #{req 35995}#
+                        #{opt 35996}#
+                        #{rest 35997}#
+                        #{kw 35998}#
+                        (cons #{e1 36014}# #{e2 36015}#)
+                        #{vars 36000}#
+                        #{r* 36001}#
+                        #{w* 36002}#
+                        #{inits 36003}#
                         (append
-                          #{meta 2720}#
+                          #{meta 36004}#
                           (list (cons 'documentation
-                                      (syntax->datum #{docstring 2742}#))))))
-                    #{tmp 2732}#)
-                  (let ((#{tmp 2747}#
+                                      (syntax->datum #{docstring 36013}#))))))
+                    #{tmp 36006}#)
+                  (let ((#{tmp 36016}#
                           ($sc-dispatch
-                            #{body 2715}#
+                            #{body 35999}#
                             '(#(vector #(each (any . any))) any . each-any))))
-                    (if #{tmp 2747}#
+                    (if #{tmp 36016}#
                       (@apply
-                        (lambda (#{k 2752}# #{v 2753}# #{e1 2754}# #{e2 2755}#)
-                          (#{expand-body 2597}#
-                            #{req 2711}#
-                            #{opt 2712}#
-                            #{rest 2713}#
-                            #{kw 2714}#
-                            (cons #{e1 2754}# #{e2 2755}#)
-                            #{vars 2716}#
-                            #{r* 2717}#
-                            #{w* 2718}#
-                            #{inits 2719}#
+                        (lambda (#{k 36020}#
+                                 #{v 36021}#
+                                 #{e1 36022}#
+                                 #{e2 36023}#)
+                          (#{expand-body 34731}#
+                            #{req 35995}#
+                            #{opt 35996}#
+                            #{rest 35997}#
+                            #{kw 35998}#
+                            (cons #{e1 36022}# #{e2 36023}#)
+                            #{vars 36000}#
+                            #{r* 36001}#
+                            #{w* 36002}#
+                            #{inits 36003}#
                             (append
-                              #{meta 2720}#
+                              #{meta 36004}#
                               (syntax->datum
-                                (map cons #{k 2752}# #{v 2753}#)))))
-                        #{tmp 2747}#)
-                      (let ((#{tmp 2759}#
-                              ($sc-dispatch #{body 2715}# '(any . each-any))))
-                        (if #{tmp 2759}#
+                                (map cons #{k 36020}# #{v 36021}#)))))
+                        #{tmp 36016}#)
+                      (let ((#{tmp 36024}#
+                              ($sc-dispatch #{body 35999}# '(any . each-any))))
+                        (if #{tmp 36024}#
                           (@apply
-                            (lambda (#{e1 2762}# #{e2 2763}#)
+                            (lambda (#{e1 36028}# #{e2 36029}#)
                               (values
-                                #{meta 2720}#
-                                #{req 2711}#
-                                #{opt 2712}#
-                                #{rest 2713}#
-                                #{kw 2714}#
-                                #{inits 2719}#
-                                #{vars 2716}#
-                                (#{chi-body 449}#
-                                  (cons #{e1 2762}# #{e2 2763}#)
-                                  (#{source-wrap 429}#
-                                    #{e 2576}#
-                                    #{w 2578}#
-                                    #{s 2579}#
-                                    #{mod 2580}#)
-                                  #{r* 2717}#
-                                  #{w* 2718}#
-                                  #{mod 2580}#)))
-                            #{tmp 2759}#)
+                                #{meta 36004}#
+                                #{req 35995}#
+                                #{opt 35996}#
+                                #{rest 35997}#
+                                #{kw 35998}#
+                                #{inits 36003}#
+                                #{vars 36000}#
+                                (#{chi-body 4379}#
+                                  (cons #{e1 36028}# #{e2 36029}#)
+                                  (let ((#{x 36041}#
+                                          (begin
+                                            (if (if (pair? #{e 34721}#)
+                                                  #{s 34724}#
+                                                  #f)
+                                              (set-source-properties!
+                                                #{e 34721}#
+                                                #{s 34724}#))
+                                            #{e 34721}#)))
+                                    (if (if (null? (car #{w 34723}#))
+                                          (null? (cdr #{w 34723}#))
+                                          #f)
+                                      #{x 36041}#
+                                      (if (if (vector? #{x 36041}#)
+                                            (if (= (vector-length #{x 36041}#)
+                                                   4)
+                                              (eq? (vector-ref #{x 36041}# 0)
+                                                   'syntax-object)
+                                              #f)
+                                            #f)
+                                        (let ((#{expression 36073}#
+                                                (vector-ref #{x 36041}# 1))
+                                              (#{wrap 36074}#
+                                                (let ((#{w2 36082}#
+                                                        (vector-ref
+                                                          #{x 36041}#
+                                                          2)))
+                                                  (let ((#{m1 36083}#
+                                                          (car #{w 34723}#))
+                                                        (#{s1 36084}#
+                                                          (cdr #{w 34723}#)))
+                                                    (if (null? #{m1 36083}#)
+                                                      (if (null? #{s1 36084}#)
+                                                        #{w2 36082}#
+                                                        (cons (car #{w2 
36082}#)
+                                                              (let ((#{m2 
36099}#
+                                                                      (cdr 
#{w2 36082}#)))
+                                                                (if (null? 
#{m2 36099}#)
+                                                                  #{s1 36084}#
+                                                                  (append
+                                                                    #{s1 
36084}#
+                                                                    #{m2 
36099}#)))))
+                                                      (cons (let ((#{m2 36107}#
+                                                                    (car #{w2 
36082}#)))
+                                                              (if (null? #{m2 
36107}#)
+                                                                #{m1 36083}#
+                                                                (append
+                                                                  #{m1 36083}#
+                                                                  #{m2 
36107}#)))
+                                                            (let ((#{m2 36115}#
+                                                                    (cdr #{w2 
36082}#)))
+                                                              (if (null? #{m2 
36115}#)
+                                                                #{s1 36084}#
+                                                                (append
+                                                                  #{s1 36084}#
+                                                                  #{m2 
36115}#))))))))
+                                              (#{module 36075}#
+                                                (vector-ref #{x 36041}# 3)))
+                                          (vector
+                                            'syntax-object
+                                            #{expression 36073}#
+                                            #{wrap 36074}#
+                                            #{module 36075}#))
+                                        (if (null? #{x 36041}#)
+                                          #{x 36041}#
+                                          (vector
+                                            'syntax-object
+                                            #{x 36041}#
+                                            #{w 34723}#
+                                            #{mod 34725}#)))))
+                                  #{r* 36001}#
+                                  #{w* 36002}#
+                                  #{mod 34725}#)))
+                            #{tmp 36024}#)
                           (syntax-violation
                             #f
                             "source expression failed to match any pattern"
-                            #{body 2715}#))))))))))
-         (let ((#{tmp 2766}#
-                 ($sc-dispatch #{clauses 2582}# '())))
-           (if #{tmp 2766}#
-             (@apply (lambda () (values '() #f)) #{tmp 2766}#)
-             (let ((#{tmp 2767}#
+                            #{body 35999}#))))))))))
+         (let ((#{tmp 34733}#
+                 ($sc-dispatch #{clauses 34727}# '())))
+           (if #{tmp 34733}#
+             (@apply
+               (lambda () (values '() #f))
+               #{tmp 34733}#)
+             (let ((#{tmp 34738}#
                      ($sc-dispatch
-                       #{clauses 2582}#
+                       #{clauses 34727}#
                        '((any any . each-any)
                          .
                          #(each (any any . each-any))))))
-               (if #{tmp 2767}#
+               (if #{tmp 34738}#
                  (@apply
-                   (lambda (#{args 2774}#
-                            #{e1 2775}#
-                            #{e2 2776}#
-                            #{args* 2777}#
-                            #{e1* 2778}#
-                            #{e2* 2779}#)
+                   (lambda (#{args 34742}#
+                            #{e1 34743}#
+                            #{e2 34744}#
+                            #{args* 34745}#
+                            #{e1* 34746}#
+                            #{e2* 34747}#)
                      (call-with-values
-                       (lambda () (#{get-formals 2581}# #{args 2774}#))
-                       (lambda (#{req 2780}#
-                                #{opt 2781}#
-                                #{rest 2782}#
-                                #{kw 2783}#)
+                       (lambda ()
+                         (#{get-formals 34726}# #{args 34742}#))
+                       (lambda (#{req 34748}#
+                                #{opt 34749}#
+                                #{rest 34750}#
+                                #{kw 34751}#)
                          (call-with-values
                            (lambda ()
-                             (let ((#{body 5051}#
-                                     (cons #{e1 2775}# #{e2 2776}#)))
-                               (let ((#{vars 5052}#
-                                       (map #{gen-var 469}# #{req 2780}#))
-                                     (#{labels 5053}#
-                                       (#{gen-labels 373}# #{req 2780}#)))
-                                 (let ((#{r* 5054}#
-                                         (#{extend-var-env 343}#
-                                           #{labels 5053}#
-                                           #{vars 5052}#
-                                           #{r 2577}#))
-                                       (#{w* 5055}#
-                                         (#{make-binding-wrap 405}#
-                                           #{req 2780}#
-                                           #{labels 5053}#
-                                           #{w 2578}#)))
-                                   (#{expand-opt 2593}#
-                                     (map syntax->datum #{req 2780}#)
-                                     #{opt 2781}#
-                                     #{rest 2782}#
-                                     #{kw 2783}#
-                                     #{body 5051}#
-                                     (reverse #{vars 5052}#)
-                                     #{r* 5054}#
-                                     #{w* 5055}#
-                                     '()
-                                     '())))))
-                           (lambda (#{meta 2789}#
-                                    #{req 2790}#
-                                    #{opt 2791}#
-                                    #{rest 2792}#
-                                    #{kw 2793}#
-                                    #{inits 2794}#
-                                    #{vars 2795}#
-                                    #{body 2796}#)
+                             (#{expand-req 34728}#
+                               #{req 34748}#
+                               #{opt 34749}#
+                               #{rest 34750}#
+                               #{kw 34751}#
+                               (cons #{e1 34743}# #{e2 34744}#)))
+                           (lambda (#{meta 34820}#
+                                    #{req 34821}#
+                                    #{opt 34822}#
+                                    #{rest 34823}#
+                                    #{kw 34824}#
+                                    #{inits 34825}#
+                                    #{vars 34826}#
+                                    #{body 34827}#)
                              (call-with-values
                                (lambda ()
-                                 (#{chi-lambda-case 465}#
-                                   #{e 2576}#
-                                   #{r 2577}#
-                                   #{w 2578}#
-                                   #{s 2579}#
-                                   #{mod 2580}#
-                                   #{get-formals 2581}#
-                                   (map (lambda (#{tmp 2807}#
-                                                 #{tmp 2806}#
-                                                 #{tmp 2805}#)
-                                          (cons #{tmp 2805}#
-                                                (cons #{tmp 2806}#
-                                                      #{tmp 2807}#)))
-                                        #{e2* 2779}#
-                                        #{e1* 2778}#
-                                        #{args* 2777}#)))
-                               (lambda (#{meta* 2809}# #{else* 2810}#)
+                                 (#{chi-lambda-case 4387}#
+                                   #{e 34721}#
+                                   #{r 34722}#
+                                   #{w 34723}#
+                                   #{s 34724}#
+                                   #{mod 34725}#
+                                   #{get-formals 34726}#
+                                   (map (lambda (#{tmp 2808 34828}#
+                                                 #{tmp 2807 34829}#
+                                                 #{tmp 2806 34830}#)
+                                          (cons #{tmp 2806 34830}#
+                                                (cons #{tmp 2807 34829}#
+                                                      #{tmp 2808 34828}#)))
+                                        #{e2* 34747}#
+                                        #{e1* 34746}#
+                                        #{args* 34745}#)))
+                               (lambda (#{meta* 34831}# #{else* 34832}#)
                                  (values
-                                   (append #{meta 2789}# #{meta* 2809}#)
-                                   (#{build-lambda-case 295}#
-                                     #{s 2579}#
-                                     #{req 2790}#
-                                     #{opt 2791}#
-                                     #{rest 2792}#
-                                     #{kw 2793}#
-                                     #{inits 2794}#
-                                     #{vars 2795}#
-                                     #{body 2796}#
-                                     #{else* 2810}#)))))))))
-                   #{tmp 2767}#)
+                                   (append #{meta 34820}# #{meta* 34831}#)
+                                   (make-struct/no-tail
+                                     (vector-ref %expanded-vtables 15)
+                                     #{s 34724}#
+                                     #{req 34821}#
+                                     #{opt 34822}#
+                                     #{rest 34823}#
+                                     #{kw 34824}#
+                                     #{inits 34825}#
+                                     #{vars 34826}#
+                                     #{body 34827}#
+                                     #{else* 34832}#)))))))))
+                   #{tmp 34738}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{clauses 2582}#))))))))
-   (#{strip 467}#
-     (lambda (#{x 2813}# #{w 2814}#)
-       (if (memq 'top (car #{w 2814}#))
-         #{x 2813}#
+                   #{clauses 34727}#))))))))
+   (#{strip 4388}#
+     (lambda (#{x 36142}# #{w 36143}#)
+       (if (memq 'top (car #{w 36143}#))
+         #{x 36142}#
          (letrec*
-           ((#{f 2821}#
-              (lambda (#{x 2822}#)
-                (if (#{syntax-object? 316}# #{x 2822}#)
-                  (#{strip 467}#
-                    (#{syntax-object-expression 318}# #{x 2822}#)
-                    (#{syntax-object-wrap 320}# #{x 2822}#))
-                  (if (pair? #{x 2822}#)
-                    (let ((#{a 2829}# (#{f 2821}# (car #{x 2822}#)))
-                          (#{d 2830}# (#{f 2821}# (cdr #{x 2822}#))))
-                      (if (if (eq? #{a 2829}# (car #{x 2822}#))
-                            (eq? #{d 2830}# (cdr #{x 2822}#))
+           ((#{f 36144}#
+              (lambda (#{x 36147}#)
+                (if (if (vector? #{x 36147}#)
+                      (if (= (vector-length #{x 36147}#) 4)
+                        (eq? (vector-ref #{x 36147}# 0) 'syntax-object)
+                        #f)
+                      #f)
+                  (#{strip 4388}#
+                    (vector-ref #{x 36147}# 1)
+                    (vector-ref #{x 36147}# 2))
+                  (if (pair? #{x 36147}#)
+                    (let ((#{a 36166}# (#{f 36144}# (car #{x 36147}#)))
+                          (#{d 36167}# (#{f 36144}# (cdr #{x 36147}#))))
+                      (if (if (eq? #{a 36166}# (car #{x 36147}#))
+                            (eq? #{d 36167}# (cdr #{x 36147}#))
                             #f)
-                        #{x 2822}#
-                        (cons #{a 2829}# #{d 2830}#)))
-                    (if (vector? #{x 2822}#)
-                      (let ((#{old 2836}# (vector->list #{x 2822}#)))
-                        (let ((#{new 2838}# (map #{f 2821}# #{old 2836}#)))
+                        #{x 36147}#
+                        (cons #{a 36166}# #{d 36167}#)))
+                    (if (vector? #{x 36147}#)
+                      (let ((#{old 36170}# (vector->list #{x 36147}#)))
+                        (let ((#{new 36171}# (map #{f 36144}# #{old 36170}#)))
                           (letrec*
-                            ((#{lp 2842}#
-                               (lambda (#{l1 2843}# #{l2 2844}#)
-                                 (if (null? #{l1 2843}#)
-                                   #{x 2822}#
-                                   (if (eq? (car #{l1 2843}#)
-                                            (car #{l2 2844}#))
-                                     (#{lp 2842}#
-                                       (cdr #{l1 2843}#)
-                                       (cdr #{l2 2844}#))
-                                     (list->vector #{new 2838}#))))))
-                            (#{lp 2842}# #{old 2836}# #{new 2838}#))))
-                      #{x 2822}#))))))
-           (#{f 2821}# #{x 2813}#)))))
-   (#{gen-var 469}#
-     (lambda (#{id 2846}#)
-       (let ((#{id 2849}#
-               (if (#{syntax-object? 316}# #{id 2846}#)
-                 (#{syntax-object-expression 318}# #{id 2846}#)
-                 #{id 2846}#)))
+                            ((#{lp 36172}#
+                               (lambda (#{l1 36269}# #{l2 36270}#)
+                                 (if (null? #{l1 36269}#)
+                                   #{x 36147}#
+                                   (if (eq? (car #{l1 36269}#)
+                                            (car #{l2 36270}#))
+                                     (#{lp 36172}#
+                                       (cdr #{l1 36269}#)
+                                       (cdr #{l2 36270}#))
+                                     (list->vector #{new 36171}#))))))
+                            (#{lp 36172}# #{old 36170}# #{new 36171}#))))
+                      #{x 36147}#))))))
+           (#{f 36144}# #{x 36142}#)))))
+   (#{gen-var 4389}#
+     (lambda (#{id 34876}#)
+       (let ((#{id 34877}#
+               (if (if (vector? #{id 34876}#)
+                     (if (= (vector-length #{id 34876}#) 4)
+                       (eq? (vector-ref #{id 34876}# 0) 'syntax-object)
+                       #f)
+                     #f)
+                 (vector-ref #{id 34876}# 1)
+                 #{id 34876}#)))
          (gensym
-           (string-append (symbol->string #{id 2849}#) " ")))))
-   (#{lambda-var-list 471}#
-     (lambda (#{vars 2851}#)
+           (string-append (symbol->string #{id 34877}#) " ")))))
+   (#{lambda-var-list 4390}#
+     (lambda (#{vars 36271}#)
        (letrec*
-         ((#{lvl 2857}#
-            (lambda (#{vars 2858}# #{ls 2859}# #{w 2860}#)
-              (if (pair? #{vars 2858}#)
-                (#{lvl 2857}#
-                  (cdr #{vars 2858}#)
-                  (cons (#{wrap 427}# (car #{vars 2858}#) #{w 2860}# #f)
-                        #{ls 2859}#)
-                  #{w 2860}#)
-                (if (#{id? 353}# #{vars 2858}#)
-                  (cons (#{wrap 427}# #{vars 2858}# #{w 2860}# #f)
-                        #{ls 2859}#)
-                  (if (null? #{vars 2858}#)
-                    #{ls 2859}#
-                    (if (#{syntax-object? 316}# #{vars 2858}#)
-                      (#{lvl 2857}#
-                        (#{syntax-object-expression 318}# #{vars 2858}#)
-                        #{ls 2859}#
-                        (#{join-wraps 409}#
-                          #{w 2860}#
-                          (#{syntax-object-wrap 320}# #{vars 2858}#)))
-                      (cons #{vars 2858}# #{ls 2859}#))))))))
-         (#{lvl 2857}# #{vars 2851}# '() '(()))))))
+         ((#{lvl 36272}#
+            (lambda (#{vars 36275}# #{ls 36276}# #{w 36277}#)
+              (if (pair? #{vars 36275}#)
+                (#{lvl 36272}#
+                  (cdr #{vars 36275}#)
+                  (cons (let ((#{x 36281}# (car #{vars 36275}#)))
+                          (if (if (null? (car #{w 36277}#))
+                                (null? (cdr #{w 36277}#))
+                                #f)
+                            #{x 36281}#
+                            (if (if (vector? #{x 36281}#)
+                                  (if (= (vector-length #{x 36281}#) 4)
+                                    (eq? (vector-ref #{x 36281}# 0)
+                                         'syntax-object)
+                                    #f)
+                                  #f)
+                              (let ((#{expression 36299}#
+                                      (vector-ref #{x 36281}# 1))
+                                    (#{wrap 36300}#
+                                      (let ((#{w2 36308}#
+                                              (vector-ref #{x 36281}# 2)))
+                                        (let ((#{m1 36309}# (car #{w 36277}#))
+                                              (#{s1 36310}# (cdr #{w 36277}#)))
+                                          (if (null? #{m1 36309}#)
+                                            (if (null? #{s1 36310}#)
+                                              #{w2 36308}#
+                                              (cons (car #{w2 36308}#)
+                                                    (let ((#{m2 36325}#
+                                                            (cdr #{w2 
36308}#)))
+                                                      (if (null? #{m2 36325}#)
+                                                        #{s1 36310}#
+                                                        (append
+                                                          #{s1 36310}#
+                                                          #{m2 36325}#)))))
+                                            (cons (let ((#{m2 36333}#
+                                                          (car #{w2 36308}#)))
+                                                    (if (null? #{m2 36333}#)
+                                                      #{m1 36309}#
+                                                      (append
+                                                        #{m1 36309}#
+                                                        #{m2 36333}#)))
+                                                  (let ((#{m2 36341}#
+                                                          (cdr #{w2 36308}#)))
+                                                    (if (null? #{m2 36341}#)
+                                                      #{s1 36310}#
+                                                      (append
+                                                        #{s1 36310}#
+                                                        #{m2 36341}#))))))))
+                                    (#{module 36301}#
+                                      (vector-ref #{x 36281}# 3)))
+                                (vector
+                                  'syntax-object
+                                  #{expression 36299}#
+                                  #{wrap 36300}#
+                                  #{module 36301}#))
+                              (if (null? #{x 36281}#)
+                                #{x 36281}#
+                                (vector
+                                  'syntax-object
+                                  #{x 36281}#
+                                  #{w 36277}#
+                                  #f)))))
+                        #{ls 36276}#)
+                  #{w 36277}#)
+                (if (if (symbol? #{vars 36275}#)
+                      #t
+                      (if (if (vector? #{vars 36275}#)
+                            (if (= (vector-length #{vars 36275}#) 4)
+                              (eq? (vector-ref #{vars 36275}# 0)
+                                   'syntax-object)
+                              #f)
+                            #f)
+                        (symbol? (vector-ref #{vars 36275}# 1))
+                        #f))
+                  (cons (if (if (null? (car #{w 36277}#))
+                              (null? (cdr #{w 36277}#))
+                              #f)
+                          #{vars 36275}#
+                          (if (if (vector? #{vars 36275}#)
+                                (if (= (vector-length #{vars 36275}#) 4)
+                                  (eq? (vector-ref #{vars 36275}# 0)
+                                       'syntax-object)
+                                  #f)
+                                #f)
+                            (let ((#{expression 36411}#
+                                    (vector-ref #{vars 36275}# 1))
+                                  (#{wrap 36412}#
+                                    (let ((#{w2 36422}#
+                                            (vector-ref #{vars 36275}# 2)))
+                                      (let ((#{m1 36423}# (car #{w 36277}#))
+                                            (#{s1 36424}# (cdr #{w 36277}#)))
+                                        (if (null? #{m1 36423}#)
+                                          (if (null? #{s1 36424}#)
+                                            #{w2 36422}#
+                                            (cons (car #{w2 36422}#)
+                                                  (let ((#{m2 36441}#
+                                                          (cdr #{w2 36422}#)))
+                                                    (if (null? #{m2 36441}#)
+                                                      #{s1 36424}#
+                                                      (append
+                                                        #{s1 36424}#
+                                                        #{m2 36441}#)))))
+                                          (cons (let ((#{m2 36449}#
+                                                        (car #{w2 36422}#)))
+                                                  (if (null? #{m2 36449}#)
+                                                    #{m1 36423}#
+                                                    (append
+                                                      #{m1 36423}#
+                                                      #{m2 36449}#)))
+                                                (let ((#{m2 36457}#
+                                                        (cdr #{w2 36422}#)))
+                                                  (if (null? #{m2 36457}#)
+                                                    #{s1 36424}#
+                                                    (append
+                                                      #{s1 36424}#
+                                                      #{m2 36457}#))))))))
+                                  (#{module 36413}#
+                                    (vector-ref #{vars 36275}# 3)))
+                              (vector
+                                'syntax-object
+                                #{expression 36411}#
+                                #{wrap 36412}#
+                                #{module 36413}#))
+                            (if (null? #{vars 36275}#)
+                              #{vars 36275}#
+                              (vector
+                                'syntax-object
+                                #{vars 36275}#
+                                #{w 36277}#
+                                #f))))
+                        #{ls 36276}#)
+                  (if (null? #{vars 36275}#)
+                    #{ls 36276}#
+                    (if (if (vector? #{vars 36275}#)
+                          (if (= (vector-length #{vars 36275}#) 4)
+                            (eq? (vector-ref #{vars 36275}# 0)
+                                 'syntax-object)
+                            #f)
+                          #f)
+                      (#{lvl 36272}#
+                        (vector-ref #{vars 36275}# 1)
+                        #{ls 36276}#
+                        (let ((#{w2 36498}# (vector-ref #{vars 36275}# 2)))
+                          (let ((#{m1 36499}# (car #{w 36277}#))
+                                (#{s1 36500}# (cdr #{w 36277}#)))
+                            (if (null? #{m1 36499}#)
+                              (if (null? #{s1 36500}#)
+                                #{w2 36498}#
+                                (cons (car #{w2 36498}#)
+                                      (let ((#{m2 36511}# (cdr #{w2 36498}#)))
+                                        (if (null? #{m2 36511}#)
+                                          #{s1 36500}#
+                                          (append
+                                            #{s1 36500}#
+                                            #{m2 36511}#)))))
+                              (cons (let ((#{m2 36519}# (car #{w2 36498}#)))
+                                      (if (null? #{m2 36519}#)
+                                        #{m1 36499}#
+                                        (append #{m1 36499}# #{m2 36519}#)))
+                                    (let ((#{m2 36527}# (cdr #{w2 36498}#)))
+                                      (if (null? #{m2 36527}#)
+                                        #{s1 36500}#
+                                        (append
+                                          #{s1 36500}#
+                                          #{m2 36527}#))))))))
+                      (cons #{vars 36275}# #{ls 36276}#))))))))
+         (#{lvl 36272}# #{vars 36271}# '() '(()))))))
   (begin
-    (lambda (#{src 789}# #{name 790}#)
-      (make-struct/no-tail
-        (vector-ref %expanded-vtables 2)
-        #{src 789}#
-        #{name 790}#))
     (module-define!
       (current-module)
       'letrec-syntax
@@ -6674,2212 +8920,2101 @@
         'let-syntax
         'local-syntax
         #f))
-    (#{global-extend 349}#
+    (#{global-extend 4341}#
       'core
       'fluid-let-syntax
-      (lambda (#{e 2871}#
-               #{r 2872}#
-               #{w 2873}#
-               #{s 2874}#
-               #{mod 2875}#)
-        (let ((#{tmp 2882}#
+      (lambda (#{e 4515}#
+               #{r 4516}#
+               #{w 4517}#
+               #{s 4518}#
+               #{mod 4519}#)
+        (let ((#{tmp 4521}#
                 ($sc-dispatch
-                  #{e 2871}#
+                  #{e 4515}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 2882}#
+          (if (if #{tmp 4521}#
                 (@apply
-                  (lambda (#{var 2887}#
-                           #{val 2888}#
-                           #{e1 2889}#
-                           #{e2 2890}#)
-                    (#{valid-bound-ids? 421}# #{var 2887}#))
-                  #{tmp 2882}#)
+                  (lambda (#{var 4525}#
+                           #{val 4526}#
+                           #{e1 4527}#
+                           #{e2 4528}#)
+                    (#{valid-bound-ids? 4365}# #{var 4525}#))
+                  #{tmp 4521}#)
                 #f)
             (@apply
-              (lambda (#{var 2896}#
-                       #{val 2897}#
-                       #{e1 2898}#
-                       #{e2 2899}#)
-                (let ((#{names 2901}#
-                        (map (lambda (#{x 2902}#)
-                               (#{id-var-name 415}# #{x 2902}# #{w 2873}#))
-                             #{var 2896}#)))
+              (lambda (#{var 4611}#
+                       #{val 4612}#
+                       #{e1 4613}#
+                       #{e2 4614}#)
+                (let ((#{names 4615}#
+                        (map (lambda (#{x 4881}#)
+                               (#{id-var-name 4362}# #{x 4881}# #{w 4517}#))
+                             #{var 4611}#)))
                   (begin
                     (for-each
-                      (lambda (#{id 2905}# #{n 2906}#)
-                        (let ((#{atom-key 2911}#
-                                (car (let ((#{t 5313}#
-                                             (assq #{n 2906}# #{r 2872}#)))
-                                       (if #{t 5313}#
-                                         (cdr #{t 5313}#)
-                                         (if (symbol? #{n 2906}#)
-                                           (let ((#{t 5314}#
-                                                   
(#{get-global-definition-hook 265}#
-                                                     #{n 2906}#
-                                                     #{mod 2875}#)))
-                                             (if #{t 5314}#
-                                               #{t 5314}#
+                      (lambda (#{id 4616}# #{n 4617}#)
+                        (let ((#{atom-key 4618}#
+                                (car (let ((#{t 4818}#
+                                             (assq #{n 4617}# #{r 4516}#)))
+                                       (if #{t 4818}#
+                                         (cdr #{t 4818}#)
+                                         (if (symbol? #{n 4617}#)
+                                           (let ((#{t 4823}#
+                                                   (begin
+                                                     (if (if (not #{mod 4519}#)
+                                                           (current-module)
+                                                           #f)
+                                                       (warn "module system is 
booted, we should have a module"
+                                                             #{n 4617}#))
+                                                     (let ((#{v 4860}#
+                                                             (module-variable
+                                                               (if #{mod 4519}#
+                                                                 
(resolve-module
+                                                                   (cdr #{mod 
4519}#))
+                                                                 
(current-module))
+                                                               #{n 4617}#)))
+                                                       (if #{v 4860}#
+                                                         (if (variable-bound?
+                                                               #{v 4860}#)
+                                                           (let ((#{val 4869}#
+                                                                   
(variable-ref
+                                                                     #{v 
4860}#)))
+                                                             (if (macro?
+                                                                   #{val 
4869}#)
+                                                               (if (macro-type
+                                                                     #{val 
4869}#)
+                                                                 (cons 
(macro-type
+                                                                         #{val 
4869}#)
+                                                                       
(macro-binding
+                                                                         #{val 
4869}#))
+                                                                 #f)
+                                                               #f))
+                                                           #f)
+                                                         #f)))))
+                                             (if #{t 4823}#
+                                               #{t 4823}#
                                                '(global)))
                                            '(displaced-lexical)))))))
-                          (if (memv #{atom-key 2911}# '(displaced-lexical))
+                          (if (let ((#{t 4651}# #{atom-key 4618}#))
+                                (eqv? #{t 4651}# 'displaced-lexical))
                             (syntax-violation
                               'fluid-let-syntax
                               "identifier out of context"
-                              #{e 2871}#
-                              (let ((#{x 5324}#
+                              #{e 4515}#
+                              (let ((#{x 4723}#
                                       (begin
-                                        (if (if (pair? #{id 2905}#)
-                                              #{s 2874}#
+                                        (if (if (pair? #{id 4616}#)
+                                              #{s 4518}#
                                               #f)
                                           (set-source-properties!
-                                            #{id 2905}#
-                                            #{s 2874}#))
-                                        #{id 2905}#)))
-                                (if (if (null? (car #{w 2873}#))
-                                      (null? (cdr #{w 2873}#))
+                                            #{id 4616}#
+                                            #{s 4518}#))
+                                        #{id 4616}#)))
+                                (if (if (null? (car #{w 4517}#))
+                                      (null? (cdr #{w 4517}#))
                                       #f)
-                                  #{x 5324}#
-                                  (if (if (vector? #{x 5324}#)
-                                        (if (= (vector-length #{x 5324}#) 4)
-                                          (eq? (vector-ref #{x 5324}# 0)
+                                  #{x 4723}#
+                                  (if (if (vector? #{x 4723}#)
+                                        (if (= (vector-length #{x 4723}#) 4)
+                                          (eq? (vector-ref #{x 4723}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (let ((#{expression 5336}#
-                                            (vector-ref #{x 5324}# 1))
-                                          (#{wrap 5337}#
-                                            (let ((#{w2 5345}#
-                                                    (vector-ref #{x 5324}# 2)))
-                                              (let ((#{m1 5346}#
-                                                      (car #{w 2873}#))
-                                                    (#{s1 5347}#
-                                                      (cdr #{w 2873}#)))
-                                                (if (null? #{m1 5346}#)
-                                                  (if (null? #{s1 5347}#)
-                                                    #{w2 5345}#
-                                                    (cons (car #{w2 5345}#)
-                                                          (let ((#{m2 5354}#
-                                                                  (cdr #{w2 
5345}#)))
-                                                            (if (null? #{m2 
5354}#)
-                                                              #{s1 5347}#
+                                    (let ((#{expression 4755}#
+                                            (vector-ref #{x 4723}# 1))
+                                          (#{wrap 4756}#
+                                            (let ((#{w2 4764}#
+                                                    (vector-ref #{x 4723}# 2)))
+                                              (let ((#{m1 4765}#
+                                                      (car #{w 4517}#))
+                                                    (#{s1 4766}#
+                                                      (cdr #{w 4517}#)))
+                                                (if (null? #{m1 4765}#)
+                                                  (if (null? #{s1 4766}#)
+                                                    #{w2 4764}#
+                                                    (cons (car #{w2 4764}#)
+                                                          (let ((#{m2 4781}#
+                                                                  (cdr #{w2 
4764}#)))
+                                                            (if (null? #{m2 
4781}#)
+                                                              #{s1 4766}#
                                                               (append
-                                                                #{s1 5347}#
-                                                                #{m2 
5354}#)))))
-                                                  (cons (let ((#{m2 5358}#
-                                                                (car #{w2 
5345}#)))
-                                                          (if (null? #{m2 
5358}#)
-                                                            #{m1 5346}#
+                                                                #{s1 4766}#
+                                                                #{m2 
4781}#)))))
+                                                  (cons (let ((#{m2 4789}#
+                                                                (car #{w2 
4764}#)))
+                                                          (if (null? #{m2 
4789}#)
+                                                            #{m1 4765}#
                                                             (append
-                                                              #{m1 5346}#
-                                                              #{m2 5358}#)))
-                                                        (let ((#{m2 5362}#
-                                                                (cdr #{w2 
5345}#)))
-                                                          (if (null? #{m2 
5362}#)
-                                                            #{s1 5347}#
+                                                              #{m1 4765}#
+                                                              #{m2 4789}#)))
+                                                        (let ((#{m2 4797}#
+                                                                (cdr #{w2 
4764}#)))
+                                                          (if (null? #{m2 
4797}#)
+                                                            #{s1 4766}#
                                                             (append
-                                                              #{s1 5347}#
-                                                              #{m2 
5362}#))))))))
-                                          (#{module 5338}#
-                                            (vector-ref #{x 5324}# 3)))
+                                                              #{s1 4766}#
+                                                              #{m2 
4797}#))))))))
+                                          (#{module 4757}#
+                                            (vector-ref #{x 4723}# 3)))
                                       (vector
                                         'syntax-object
-                                        #{expression 5336}#
-                                        #{wrap 5337}#
-                                        #{module 5338}#))
-                                    (if (null? #{x 5324}#)
-                                      #{x 5324}#
+                                        #{expression 4755}#
+                                        #{wrap 4756}#
+                                        #{module 4757}#))
+                                    (if (null? #{x 4723}#)
+                                      #{x 4723}#
                                       (vector
                                         'syntax-object
-                                        #{x 5324}#
-                                        #{w 2873}#
-                                        #{mod 2875}#)))))))))
-                      #{var 2896}#
-                      #{names 2901}#)
-                    (#{chi-body 449}#
-                      (cons #{e1 2898}# #{e2 2899}#)
-                      (let ((#{x 5380}#
+                                        #{x 4723}#
+                                        #{w 4517}#
+                                        #{mod 4519}#)))))))))
+                      #{var 4611}#
+                      #{names 4615}#)
+                    (#{chi-body 4379}#
+                      (cons #{e1 4613}# #{e2 4614}#)
+                      (let ((#{x 4894}#
                               (begin
-                                (if (if (pair? #{e 2871}#) #{s 2874}# #f)
+                                (if (if (pair? #{e 4515}#) #{s 4518}# #f)
                                   (set-source-properties!
-                                    #{e 2871}#
-                                    #{s 2874}#))
-                                #{e 2871}#)))
-                        (if (if (null? (car #{w 2873}#))
-                              (null? (cdr #{w 2873}#))
+                                    #{e 4515}#
+                                    #{s 4518}#))
+                                #{e 4515}#)))
+                        (if (if (null? (car #{w 4517}#))
+                              (null? (cdr #{w 4517}#))
                               #f)
-                          #{x 5380}#
-                          (if (if (vector? #{x 5380}#)
-                                (if (= (vector-length #{x 5380}#) 4)
-                                  (eq? (vector-ref #{x 5380}# 0)
+                          #{x 4894}#
+                          (if (if (vector? #{x 4894}#)
+                                (if (= (vector-length #{x 4894}#) 4)
+                                  (eq? (vector-ref #{x 4894}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (let ((#{expression 5392}#
-                                    (vector-ref #{x 5380}# 1))
-                                  (#{wrap 5393}#
-                                    (let ((#{w2 5401}#
-                                            (vector-ref #{x 5380}# 2)))
-                                      (let ((#{m1 5402}# (car #{w 2873}#))
-                                            (#{s1 5403}# (cdr #{w 2873}#)))
-                                        (if (null? #{m1 5402}#)
-                                          (if (null? #{s1 5403}#)
-                                            #{w2 5401}#
-                                            (cons (car #{w2 5401}#)
-                                                  (let ((#{m2 5410}#
-                                                          (cdr #{w2 5401}#)))
-                                                    (if (null? #{m2 5410}#)
-                                                      #{s1 5403}#
+                            (let ((#{expression 4926}#
+                                    (vector-ref #{x 4894}# 1))
+                                  (#{wrap 4927}#
+                                    (let ((#{w2 4935}#
+                                            (vector-ref #{x 4894}# 2)))
+                                      (let ((#{m1 4936}# (car #{w 4517}#))
+                                            (#{s1 4937}# (cdr #{w 4517}#)))
+                                        (if (null? #{m1 4936}#)
+                                          (if (null? #{s1 4937}#)
+                                            #{w2 4935}#
+                                            (cons (car #{w2 4935}#)
+                                                  (let ((#{m2 4952}#
+                                                          (cdr #{w2 4935}#)))
+                                                    (if (null? #{m2 4952}#)
+                                                      #{s1 4937}#
                                                       (append
-                                                        #{s1 5403}#
-                                                        #{m2 5410}#)))))
-                                          (cons (let ((#{m2 5414}#
-                                                        (car #{w2 5401}#)))
-                                                  (if (null? #{m2 5414}#)
-                                                    #{m1 5402}#
+                                                        #{s1 4937}#
+                                                        #{m2 4952}#)))))
+                                          (cons (let ((#{m2 4960}#
+                                                        (car #{w2 4935}#)))
+                                                  (if (null? #{m2 4960}#)
+                                                    #{m1 4936}#
                                                     (append
-                                                      #{m1 5402}#
-                                                      #{m2 5414}#)))
-                                                (let ((#{m2 5418}#
-                                                        (cdr #{w2 5401}#)))
-                                                  (if (null? #{m2 5418}#)
-                                                    #{s1 5403}#
+                                                      #{m1 4936}#
+                                                      #{m2 4960}#)))
+                                                (let ((#{m2 4968}#
+                                                        (cdr #{w2 4935}#)))
+                                                  (if (null? #{m2 4968}#)
+                                                    #{s1 4937}#
                                                     (append
-                                                      #{s1 5403}#
-                                                      #{m2 5418}#))))))))
-                                  (#{module 5394}# (vector-ref #{x 5380}# 3)))
+                                                      #{s1 4937}#
+                                                      #{m2 4968}#))))))))
+                                  (#{module 4928}# (vector-ref #{x 4894}# 3)))
                               (vector
                                 'syntax-object
-                                #{expression 5392}#
-                                #{wrap 5393}#
-                                #{module 5394}#))
-                            (if (null? #{x 5380}#)
-                              #{x 5380}#
+                                #{expression 4926}#
+                                #{wrap 4927}#
+                                #{module 4928}#))
+                            (if (null? #{x 4894}#)
+                              #{x 4894}#
                               (vector
                                 'syntax-object
-                                #{x 5380}#
-                                #{w 2873}#
-                                #{mod 2875}#)))))
-                      (#{extend-env 341}#
-                        #{names 2901}#
-                        (let ((#{trans-r 2917}#
-                                (#{macros-only-env 345}# #{r 2872}#)))
-                          (map (lambda (#{x 2918}#)
+                                #{x 4894}#
+                                #{w 4517}#
+                                #{mod 4519}#)))))
+                      (#{extend-env 4337}#
+                        #{names 4615}#
+                        (let ((#{trans-r 5046}#
+                                (#{macros-only-env 4339}# #{r 4516}#)))
+                          (map (lambda (#{x 5047}#)
                                  (cons 'macro
-                                       (#{eval-local-transformer 453}#
-                                         (#{chi 441}#
-                                           #{x 2918}#
-                                           #{trans-r 2917}#
-                                           #{w 2873}#
-                                           #{mod 2875}#)
-                                         #{mod 2875}#)))
-                               #{val 2897}#))
-                        #{r 2872}#)
-                      #{w 2873}#
-                      #{mod 2875}#))))
-              #{tmp 2882}#)
+                                       (#{eval-local-transformer 4381}#
+                                         (#{chi 4375}#
+                                           #{x 5047}#
+                                           #{trans-r 5046}#
+                                           #{w 4517}#
+                                           #{mod 4519}#)
+                                         #{mod 4519}#)))
+                               #{val 4612}#))
+                        #{r 4516}#)
+                      #{w 4517}#
+                      #{mod 4519}#))))
+              #{tmp 4521}#)
             (syntax-violation
               'fluid-let-syntax
               "bad syntax"
-              (let ((#{x 5641}#
+              (let ((#{x 5261}#
                       (begin
-                        (if (if (pair? #{e 2871}#) #{s 2874}# #f)
-                          (set-source-properties! #{e 2871}# #{s 2874}#))
-                        #{e 2871}#)))
-                (if (if (null? (car #{w 2873}#))
-                      (null? (cdr #{w 2873}#))
+                        (if (if (pair? #{e 4515}#) #{s 4518}# #f)
+                          (set-source-properties! #{e 4515}# #{s 4518}#))
+                        #{e 4515}#)))
+                (if (if (null? (car #{w 4517}#))
+                      (null? (cdr #{w 4517}#))
                       #f)
-                  #{x 5641}#
-                  (if (if (vector? #{x 5641}#)
-                        (if (= (vector-length #{x 5641}#) 4)
-                          (eq? (vector-ref #{x 5641}# 0) 'syntax-object)
+                  #{x 5261}#
+                  (if (if (vector? #{x 5261}#)
+                        (if (= (vector-length #{x 5261}#) 4)
+                          (eq? (vector-ref #{x 5261}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 5653}# (vector-ref #{x 5641}# 1))
-                          (#{wrap 5654}#
-                            (let ((#{w2 5662}# (vector-ref #{x 5641}# 2)))
-                              (let ((#{m1 5663}# (car #{w 2873}#))
-                                    (#{s1 5664}# (cdr #{w 2873}#)))
-                                (if (null? #{m1 5663}#)
-                                  (if (null? #{s1 5664}#)
-                                    #{w2 5662}#
-                                    (cons (car #{w2 5662}#)
-                                          (let ((#{m2 5671}#
-                                                  (cdr #{w2 5662}#)))
-                                            (if (null? #{m2 5671}#)
-                                              #{s1 5664}#
+                    (let ((#{expression 5293}# (vector-ref #{x 5261}# 1))
+                          (#{wrap 5294}#
+                            (let ((#{w2 5302}# (vector-ref #{x 5261}# 2)))
+                              (let ((#{m1 5303}# (car #{w 4517}#))
+                                    (#{s1 5304}# (cdr #{w 4517}#)))
+                                (if (null? #{m1 5303}#)
+                                  (if (null? #{s1 5304}#)
+                                    #{w2 5302}#
+                                    (cons (car #{w2 5302}#)
+                                          (let ((#{m2 5319}#
+                                                  (cdr #{w2 5302}#)))
+                                            (if (null? #{m2 5319}#)
+                                              #{s1 5304}#
                                               (append
-                                                #{s1 5664}#
-                                                #{m2 5671}#)))))
-                                  (cons (let ((#{m2 5675}# (car #{w2 5662}#)))
-                                          (if (null? #{m2 5675}#)
-                                            #{m1 5663}#
-                                            (append #{m1 5663}# #{m2 5675}#)))
-                                        (let ((#{m2 5679}# (cdr #{w2 5662}#)))
-                                          (if (null? #{m2 5679}#)
-                                            #{s1 5664}#
+                                                #{s1 5304}#
+                                                #{m2 5319}#)))))
+                                  (cons (let ((#{m2 5327}# (car #{w2 5302}#)))
+                                          (if (null? #{m2 5327}#)
+                                            #{m1 5303}#
+                                            (append #{m1 5303}# #{m2 5327}#)))
+                                        (let ((#{m2 5335}# (cdr #{w2 5302}#)))
+                                          (if (null? #{m2 5335}#)
+                                            #{s1 5304}#
                                             (append
-                                              #{s1 5664}#
-                                              #{m2 5679}#))))))))
-                          (#{module 5655}# (vector-ref #{x 5641}# 3)))
+                                              #{s1 5304}#
+                                              #{m2 5335}#))))))))
+                          (#{module 5295}# (vector-ref #{x 5261}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 5653}#
-                        #{wrap 5654}#
-                        #{module 5655}#))
-                    (if (null? #{x 5641}#)
-                      #{x 5641}#
+                        #{expression 5293}#
+                        #{wrap 5294}#
+                        #{module 5295}#))
+                    (if (null? #{x 5261}#)
+                      #{x 5261}#
                       (vector
                         'syntax-object
-                        #{x 5641}#
-                        #{w 2873}#
-                        #{mod 2875}#))))))))))
+                        #{x 5261}#
+                        #{w 4517}#
+                        #{mod 4519}#))))))))))
     (module-define!
       (current-module)
       'quote
       (make-syntax-transformer
         'quote
         'core
-        (lambda (#{e 2924}#
-                 #{r 2925}#
-                 #{w 2926}#
-                 #{s 2927}#
-                 #{mod 2928}#)
-          (let ((#{tmp 2935}# ($sc-dispatch #{e 2924}# '(_ any))))
-            (if #{tmp 2935}#
+        (lambda (#{e 5363}#
+                 #{r 5364}#
+                 #{w 5365}#
+                 #{s 5366}#
+                 #{mod 5367}#)
+          (let ((#{tmp 5369}# ($sc-dispatch #{e 5363}# '(_ any))))
+            (if #{tmp 5369}#
               (@apply
-                (lambda (#{e 2937}#)
-                  (let ((#{exp 5696}#
-                          (#{strip 467}# #{e 2937}# #{w 2926}#)))
+                (lambda (#{e 5372}#)
+                  (let ((#{exp 5376}#
+                          (#{strip 4388}# #{e 5372}# #{w 5365}#)))
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 1)
-                      #{s 2927}#
-                      #{exp 5696}#)))
-                #{tmp 2935}#)
+                      #{s 5366}#
+                      #{exp 5376}#)))
+                #{tmp 5369}#)
               (syntax-violation
                 'quote
                 "bad syntax"
-                (let ((#{x 5710}#
+                (let ((#{x 5390}#
                         (begin
-                          (if (if (pair? #{e 2924}#) #{s 2927}# #f)
-                            (set-source-properties! #{e 2924}# #{s 2927}#))
-                          #{e 2924}#)))
-                  (if (if (null? (car #{w 2926}#))
-                        (null? (cdr #{w 2926}#))
+                          (if (if (pair? #{e 5363}#) #{s 5366}# #f)
+                            (set-source-properties! #{e 5363}# #{s 5366}#))
+                          #{e 5363}#)))
+                  (if (if (null? (car #{w 5365}#))
+                        (null? (cdr #{w 5365}#))
                         #f)
-                    #{x 5710}#
-                    (if (if (vector? #{x 5710}#)
-                          (if (= (vector-length #{x 5710}#) 4)
-                            (eq? (vector-ref #{x 5710}# 0) 'syntax-object)
+                    #{x 5390}#
+                    (if (if (vector? #{x 5390}#)
+                          (if (= (vector-length #{x 5390}#) 4)
+                            (eq? (vector-ref #{x 5390}# 0) 'syntax-object)
                             #f)
                           #f)
-                      (let ((#{expression 5722}# (vector-ref #{x 5710}# 1))
-                            (#{wrap 5723}#
-                              (let ((#{w2 5731}# (vector-ref #{x 5710}# 2)))
-                                (let ((#{m1 5732}# (car #{w 2926}#))
-                                      (#{s1 5733}# (cdr #{w 2926}#)))
-                                  (if (null? #{m1 5732}#)
-                                    (if (null? #{s1 5733}#)
-                                      #{w2 5731}#
-                                      (cons (car #{w2 5731}#)
-                                            (let ((#{m2 5740}#
-                                                    (cdr #{w2 5731}#)))
-                                              (if (null? #{m2 5740}#)
-                                                #{s1 5733}#
+                      (let ((#{expression 5422}# (vector-ref #{x 5390}# 1))
+                            (#{wrap 5423}#
+                              (let ((#{w2 5431}# (vector-ref #{x 5390}# 2)))
+                                (let ((#{m1 5432}# (car #{w 5365}#))
+                                      (#{s1 5433}# (cdr #{w 5365}#)))
+                                  (if (null? #{m1 5432}#)
+                                    (if (null? #{s1 5433}#)
+                                      #{w2 5431}#
+                                      (cons (car #{w2 5431}#)
+                                            (let ((#{m2 5448}#
+                                                    (cdr #{w2 5431}#)))
+                                              (if (null? #{m2 5448}#)
+                                                #{s1 5433}#
                                                 (append
-                                                  #{s1 5733}#
-                                                  #{m2 5740}#)))))
-                                    (cons (let ((#{m2 5744}#
-                                                  (car #{w2 5731}#)))
-                                            (if (null? #{m2 5744}#)
-                                              #{m1 5732}#
+                                                  #{s1 5433}#
+                                                  #{m2 5448}#)))))
+                                    (cons (let ((#{m2 5456}#
+                                                  (car #{w2 5431}#)))
+                                            (if (null? #{m2 5456}#)
+                                              #{m1 5432}#
                                               (append
-                                                #{m1 5732}#
-                                                #{m2 5744}#)))
-                                          (let ((#{m2 5748}#
-                                                  (cdr #{w2 5731}#)))
-                                            (if (null? #{m2 5748}#)
-                                              #{s1 5733}#
+                                                #{m1 5432}#
+                                                #{m2 5456}#)))
+                                          (let ((#{m2 5464}#
+                                                  (cdr #{w2 5431}#)))
+                                            (if (null? #{m2 5464}#)
+                                              #{s1 5433}#
                                               (append
-                                                #{s1 5733}#
-                                                #{m2 5748}#))))))))
-                            (#{module 5724}# (vector-ref #{x 5710}# 3)))
+                                                #{s1 5433}#
+                                                #{m2 5464}#))))))))
+                            (#{module 5424}# (vector-ref #{x 5390}# 3)))
                         (vector
                           'syntax-object
-                          #{expression 5722}#
-                          #{wrap 5723}#
-                          #{module 5724}#))
-                      (if (null? #{x 5710}#)
-                        #{x 5710}#
+                          #{expression 5422}#
+                          #{wrap 5423}#
+                          #{module 5424}#))
+                      (if (null? #{x 5390}#)
+                        #{x 5390}#
                         (vector
                           'syntax-object
-                          #{x 5710}#
-                          #{w 2926}#
-                          #{mod 2928}#)))))))))))
-    (#{global-extend 349}#
+                          #{x 5390}#
+                          #{w 5365}#
+                          #{mod 5367}#)))))))))))
+    (#{global-extend 4341}#
       'core
       'syntax
       (letrec*
-        ((#{gen-syntax 2941}#
-           (lambda (#{src 2956}#
-                    #{e 2957}#
-                    #{r 2958}#
-                    #{maps 2959}#
-                    #{ellipsis? 2960}#
-                    #{mod 2961}#)
-             (if (if (symbol? #{e 2957}#)
+        ((#{gen-syntax 5704}#
+           (lambda (#{src 6157}#
+                    #{e 6158}#
+                    #{r 6159}#
+                    #{maps 6160}#
+                    #{ellipsis? 6161}#
+                    #{mod 6162}#)
+             (if (if (symbol? #{e 6158}#)
                    #t
-                   (if (if (vector? #{e 2957}#)
-                         (if (= (vector-length #{e 2957}#) 4)
-                           (eq? (vector-ref #{e 2957}# 0) 'syntax-object)
+                   (if (if (vector? #{e 6158}#)
+                         (if (= (vector-length #{e 6158}#) 4)
+                           (eq? (vector-ref #{e 6158}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{e 2957}# 1))
+                     (symbol? (vector-ref #{e 6158}# 1))
                      #f))
-               (let ((#{label 2969}#
-                       (#{id-var-name 415}# #{e 2957}# '(()))))
-                 (let ((#{b 2972}#
-                         (let ((#{t 5811}# (assq #{label 2969}# #{r 2958}#)))
-                           (if #{t 5811}#
-                             (cdr #{t 5811}#)
-                             (if (symbol? #{label 2969}#)
-                               (let ((#{t 5812}#
-                                       (#{get-global-definition-hook 265}#
-                                         #{label 2969}#
-                                         #{mod 2961}#)))
-                                 (if #{t 5812}# #{t 5812}# '(global)))
+               (let ((#{label 6189}#
+                       (#{id-var-name 4362}# #{e 6158}# '(()))))
+                 (let ((#{b 6190}#
+                         (let ((#{t 6327}# (assq #{label 6189}# #{r 6159}#)))
+                           (if #{t 6327}#
+                             (cdr #{t 6327}#)
+                             (if (symbol? #{label 6189}#)
+                               (let ((#{t 6332}#
+                                       (begin
+                                         (if (if (not #{mod 6162}#)
+                                               (current-module)
+                                               #f)
+                                           (warn "module system is booted, we 
should have a module"
+                                                 #{label 6189}#))
+                                         (let ((#{v 6369}#
+                                                 (module-variable
+                                                   (if #{mod 6162}#
+                                                     (resolve-module
+                                                       (cdr #{mod 6162}#))
+                                                     (current-module))
+                                                   #{label 6189}#)))
+                                           (if #{v 6369}#
+                                             (if (variable-bound? #{v 6369}#)
+                                               (let ((#{val 6378}#
+                                                       (variable-ref
+                                                         #{v 6369}#)))
+                                                 (if (macro? #{val 6378}#)
+                                                   (if (macro-type
+                                                         #{val 6378}#)
+                                                     (cons (macro-type
+                                                             #{val 6378}#)
+                                                           (macro-binding
+                                                             #{val 6378}#))
+                                                     #f)
+                                                   #f))
+                                               #f)
+                                             #f)))))
+                                 (if #{t 6332}# #{t 6332}# '(global)))
                                '(displaced-lexical))))))
-                   (if (eq? (car #{b 2972}#) 'syntax)
+                   (if (eq? (car #{b 6190}#) 'syntax)
                      (call-with-values
                        (lambda ()
-                         (let ((#{var.lev 2975}# (cdr #{b 2972}#)))
-                           (#{gen-ref 2943}#
-                             #{src 2956}#
-                             (car #{var.lev 2975}#)
-                             (cdr #{var.lev 2975}#)
-                             #{maps 2959}#)))
-                       (lambda (#{var 2977}# #{maps 2978}#)
-                         (values (list 'ref #{var 2977}#) #{maps 2978}#)))
-                     (if (#{ellipsis? 2960}# #{e 2957}#)
+                         (let ((#{var.lev 6223}# (cdr #{b 6190}#)))
+                           (#{gen-ref 5705}#
+                             #{src 6157}#
+                             (car #{var.lev 6223}#)
+                             (cdr #{var.lev 6223}#)
+                             #{maps 6160}#)))
+                       (lambda (#{var 6319}# #{maps 6320}#)
+                         (values (list 'ref #{var 6319}#) #{maps 6320}#)))
+                     (if (#{ellipsis? 6161}# #{e 6158}#)
                        (syntax-violation
                          'syntax
                          "misplaced ellipsis"
-                         #{src 2956}#)
-                       (values (list 'quote #{e 2957}#) #{maps 2959}#)))))
-               (let ((#{tmp 2984}#
-                       ($sc-dispatch #{e 2957}# '(any any))))
-                 (if (if #{tmp 2984}#
+                         #{src 6157}#)
+                       (values (list 'quote #{e 6158}#) #{maps 6160}#)))))
+               (let ((#{tmp 6390}#
+                       ($sc-dispatch #{e 6158}# '(any any))))
+                 (if (if #{tmp 6390}#
                        (@apply
-                         (lambda (#{dots 2987}# #{e 2988}#)
-                           (#{ellipsis? 2960}# #{dots 2987}#))
-                         #{tmp 2984}#)
+                         (lambda (#{dots 6394}# #{e 6395}#)
+                           (#{ellipsis? 6161}# #{dots 6394}#))
+                         #{tmp 6390}#)
                        #f)
                    (@apply
-                     (lambda (#{dots 2991}# #{e 2992}#)
-                       (#{gen-syntax 2941}#
-                         #{src 2956}#
-                         #{e 2992}#
-                         #{r 2958}#
-                         #{maps 2959}#
-                         (lambda (#{x 2993}#) #f)
-                         #{mod 2961}#))
-                     #{tmp 2984}#)
-                   (let ((#{tmp 2995}#
-                           ($sc-dispatch #{e 2957}# '(any any . any))))
-                     (if (if #{tmp 2995}#
+                     (lambda (#{dots 6396}# #{e 6397}#)
+                       (#{gen-syntax 5704}#
+                         #{src 6157}#
+                         #{e 6397}#
+                         #{r 6159}#
+                         #{maps 6160}#
+                         (lambda (#{x 6398}#) #f)
+                         #{mod 6162}#))
+                     #{tmp 6390}#)
+                   (let ((#{tmp 6399}#
+                           ($sc-dispatch #{e 6158}# '(any any . any))))
+                     (if (if #{tmp 6399}#
                            (@apply
-                             (lambda (#{x 2999}# #{dots 3000}# #{y 3001}#)
-                               (#{ellipsis? 2960}# #{dots 3000}#))
-                             #{tmp 2995}#)
+                             (lambda (#{x 6403}# #{dots 6404}# #{y 6405}#)
+                               (#{ellipsis? 6161}# #{dots 6404}#))
+                             #{tmp 6399}#)
                            #f)
                        (@apply
-                         (lambda (#{x 3005}# #{dots 3006}# #{y 3007}#)
+                         (lambda (#{x 6406}# #{dots 6407}# #{y 6408}#)
                            (letrec*
-                             ((#{f 3011}#
-                                (lambda (#{y 3012}# #{k 3013}#)
-                                  (let ((#{tmp 3021}#
+                             ((#{f 6409}#
+                                (lambda (#{y 6417}# #{k 6418}#)
+                                  (let ((#{tmp 6420}#
                                           ($sc-dispatch
-                                            #{y 3012}#
+                                            #{y 6417}#
                                             '(any . any))))
-                                    (if (if #{tmp 3021}#
+                                    (if (if #{tmp 6420}#
                                           (@apply
-                                            (lambda (#{dots 3024}# #{y 3025}#)
-                                              (#{ellipsis? 2960}#
-                                                #{dots 3024}#))
-                                            #{tmp 3021}#)
+                                            (lambda (#{dots 6424}# #{y 6425}#)
+                                              (#{ellipsis? 6161}#
+                                                #{dots 6424}#))
+                                            #{tmp 6420}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{dots 3028}# #{y 3029}#)
-                                          (#{f 3011}#
-                                            #{y 3029}#
-                                            (lambda (#{maps 3030}#)
+                                        (lambda (#{dots 6426}# #{y 6427}#)
+                                          (#{f 6409}#
+                                            #{y 6427}#
+                                            (lambda (#{maps 6428}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{k 3013}#
-                                                    (cons '() #{maps 3030}#)))
-                                                (lambda (#{x 3032}#
-                                                         #{maps 3033}#)
-                                                  (if (null? (car #{maps 
3033}#))
+                                                  (#{k 6418}#
+                                                    (cons '() #{maps 6428}#)))
+                                                (lambda (#{x 6429}#
+                                                         #{maps 6430}#)
+                                                  (if (null? (car #{maps 
6430}#))
                                                     (syntax-violation
                                                       'syntax
                                                       "extra ellipsis"
-                                                      #{src 2956}#)
+                                                      #{src 6157}#)
                                                     (values
-                                                      (#{gen-mappend 2945}#
-                                                        #{x 3032}#
-                                                        (car #{maps 3033}#))
-                                                      (cdr #{maps 
3033}#))))))))
-                                        #{tmp 3021}#)
+                                                      (let ((#{map-env 6434}#
+                                                              (car #{maps 
6430}#)))
+                                                        (list 'apply
+                                                              '(primitive
+                                                                 append)
+                                                              (#{gen-map 5707}#
+                                                                #{x 6429}#
+                                                                #{map-env 
6434}#)))
+                                                      (cdr #{maps 
6430}#))))))))
+                                        #{tmp 6420}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{gen-syntax 2941}#
-                                            #{src 2956}#
-                                            #{y 3012}#
-                                            #{r 2958}#
-                                            #{maps 2959}#
-                                            #{ellipsis? 2960}#
-                                            #{mod 2961}#))
-                                        (lambda (#{y 3038}# #{maps 3039}#)
+                                          (#{gen-syntax 5704}#
+                                            #{src 6157}#
+                                            #{y 6417}#
+                                            #{r 6159}#
+                                            #{maps 6160}#
+                                            #{ellipsis? 6161}#
+                                            #{mod 6162}#))
+                                        (lambda (#{y 6437}# #{maps 6438}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{k 3013}# #{maps 3039}#))
-                                            (lambda (#{x 3042}# #{maps 3043}#)
+                                              (#{k 6418}# #{maps 6438}#))
+                                            (lambda (#{x 6439}# #{maps 6440}#)
                                               (values
-                                                (#{gen-append 2951}#
-                                                  #{x 3042}#
-                                                  #{y 3038}#)
-                                                #{maps 3043}#))))))))))
-                             (#{f 3011}#
-                               #{y 3007}#
-                               (lambda (#{maps 3014}#)
+                                                (if (equal? #{y 6437}# ''())
+                                                  #{x 6439}#
+                                                  (list 'append
+                                                        #{x 6439}#
+                                                        #{y 6437}#))
+                                                #{maps 6440}#))))))))))
+                             (#{f 6409}#
+                               #{y 6408}#
+                               (lambda (#{maps 6412}#)
                                  (call-with-values
                                    (lambda ()
-                                     (#{gen-syntax 2941}#
-                                       #{src 2956}#
-                                       #{x 3005}#
-                                       #{r 2958}#
-                                       (cons '() #{maps 3014}#)
-                                       #{ellipsis? 2960}#
-                                       #{mod 2961}#))
-                                   (lambda (#{x 3016}# #{maps 3017}#)
-                                     (if (null? (car #{maps 3017}#))
+                                     (#{gen-syntax 5704}#
+                                       #{src 6157}#
+                                       #{x 6406}#
+                                       #{r 6159}#
+                                       (cons '() #{maps 6412}#)
+                                       #{ellipsis? 6161}#
+                                       #{mod 6162}#))
+                                   (lambda (#{x 6413}# #{maps 6414}#)
+                                     (if (null? (car #{maps 6414}#))
                                        (syntax-violation
                                          'syntax
                                          "extra ellipsis"
-                                         #{src 2956}#)
+                                         #{src 6157}#)
                                        (values
-                                         (#{gen-map 2947}#
-                                           #{x 3016}#
-                                           (car #{maps 3017}#))
-                                         (cdr #{maps 3017}#)))))))))
-                         #{tmp 2995}#)
-                       (let ((#{tmp 3046}#
-                               ($sc-dispatch #{e 2957}# '(any . any))))
-                         (if #{tmp 3046}#
+                                         (#{gen-map 5707}#
+                                           #{x 6413}#
+                                           (car #{maps 6414}#))
+                                         (cdr #{maps 6414}#)))))))))
+                         #{tmp 6399}#)
+                       (let ((#{tmp 6456}#
+                               ($sc-dispatch #{e 6158}# '(any . any))))
+                         (if #{tmp 6456}#
                            (@apply
-                             (lambda (#{x 3049}# #{y 3050}#)
+                             (lambda (#{x 6460}# #{y 6461}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{gen-syntax 2941}#
-                                     #{src 2956}#
-                                     #{x 3049}#
-                                     #{r 2958}#
-                                     #{maps 2959}#
-                                     #{ellipsis? 2960}#
-                                     #{mod 2961}#))
-                                 (lambda (#{x 3051}# #{maps 3052}#)
+                                   (#{gen-syntax 5704}#
+                                     #{src 6157}#
+                                     #{x 6460}#
+                                     #{r 6159}#
+                                     #{maps 6160}#
+                                     #{ellipsis? 6161}#
+                                     #{mod 6162}#))
+                                 (lambda (#{x 6462}# #{maps 6463}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 2941}#
-                                         #{src 2956}#
-                                         #{y 3050}#
-                                         #{r 2958}#
-                                         #{maps 3052}#
-                                         #{ellipsis? 2960}#
-                                         #{mod 2961}#))
-                                     (lambda (#{y 3055}# #{maps 3056}#)
+                                       (#{gen-syntax 5704}#
+                                         #{src 6157}#
+                                         #{y 6461}#
+                                         #{r 6159}#
+                                         #{maps 6463}#
+                                         #{ellipsis? 6161}#
+                                         #{mod 6162}#))
+                                     (lambda (#{y 6464}# #{maps 6465}#)
                                        (values
-                                         (#{gen-cons 2949}#
-                                           #{x 3051}#
-                                           #{y 3055}#)
-                                         #{maps 3056}#))))))
-                             #{tmp 3046}#)
-                           (let ((#{tmp 3059}#
+                                         (let ((#{atom-key 6470}#
+                                                 (car #{y 6464}#)))
+                                           (if (eqv? #{atom-key 6470}# 'quote)
+                                             (if (eq? (car #{x 6462}#) 'quote)
+                                               (list 'quote
+                                                     (cons (car (cdr #{x 
6462}#))
+                                                           (car (cdr #{y 
6464}#))))
+                                               (if (eq? (car (cdr #{y 6464}#))
+                                                        '())
+                                                 (list 'list #{x 6462}#)
+                                                 (list 'cons
+                                                       #{x 6462}#
+                                                       #{y 6464}#)))
+                                             (if (eqv? #{atom-key 6470}# 'list)
+                                               (cons 'list
+                                                     (cons #{x 6462}#
+                                                           (cdr #{y 6464}#)))
+                                               (list 'cons
+                                                     #{x 6462}#
+                                                     #{y 6464}#))))
+                                         #{maps 6465}#))))))
+                             #{tmp 6456}#)
+                           (let ((#{tmp 6499}#
                                    ($sc-dispatch
-                                     #{e 2957}#
+                                     #{e 6158}#
                                      '#(vector (any . each-any)))))
-                             (if #{tmp 3059}#
+                             (if #{tmp 6499}#
                                (@apply
-                                 (lambda (#{e1 3062}# #{e2 3063}#)
+                                 (lambda (#{e1 6503}# #{e2 6504}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 2941}#
-                                         #{src 2956}#
-                                         (cons #{e1 3062}# #{e2 3063}#)
-                                         #{r 2958}#
-                                         #{maps 2959}#
-                                         #{ellipsis? 2960}#
-                                         #{mod 2961}#))
-                                     (lambda (#{e 3065}# #{maps 3066}#)
+                                       (#{gen-syntax 5704}#
+                                         #{src 6157}#
+                                         (cons #{e1 6503}# #{e2 6504}#)
+                                         #{r 6159}#
+                                         #{maps 6160}#
+                                         #{ellipsis? 6161}#
+                                         #{mod 6162}#))
+                                     (lambda (#{e 6505}# #{maps 6506}#)
                                        (values
-                                         (#{gen-vector 2953}# #{e 3065}#)
-                                         #{maps 3066}#))))
-                                 #{tmp 3059}#)
+                                         (if (eq? (car #{e 6505}#) 'list)
+                                           (cons 'vector (cdr #{e 6505}#))
+                                           (if (eq? (car #{e 6505}#) 'quote)
+                                             (list 'quote
+                                                   (list->vector
+                                                     (car (cdr #{e 6505}#))))
+                                             (list 'list->vector #{e 6505}#)))
+                                         #{maps 6506}#))))
+                                 #{tmp 6499}#)
                                (values
-                                 (list 'quote #{e 2957}#)
-                                 #{maps 2959}#))))))))))))
-         (#{gen-ref 2943}#
-           (lambda (#{src 3072}#
-                    #{var 3073}#
-                    #{level 3074}#
-                    #{maps 3075}#)
-             (if (= #{level 3074}# 0)
-               (values #{var 3073}# #{maps 3075}#)
-               (if (null? #{maps 3075}#)
+                                 (list 'quote #{e 6158}#)
+                                 #{maps 6160}#))))))))))))
+         (#{gen-ref 5705}#
+           (lambda (#{src 6533}#
+                    #{var 6534}#
+                    #{level 6535}#
+                    #{maps 6536}#)
+             (if (= #{level 6535}# 0)
+               (values #{var 6534}# #{maps 6536}#)
+               (if (null? #{maps 6536}#)
                  (syntax-violation
                    'syntax
                    "missing ellipsis"
-                   #{src 3072}#)
+                   #{src 6533}#)
                  (call-with-values
                    (lambda ()
-                     (#{gen-ref 2943}#
-                       #{src 3072}#
-                       #{var 3073}#
-                       (#{1-}# #{level 3074}#)
-                       (cdr #{maps 3075}#)))
-                   (lambda (#{outer-var 3082}# #{outer-maps 3083}#)
-                     (let ((#{b 3087}#
-                             (assq #{outer-var 3082}# (car #{maps 3075}#))))
-                       (if #{b 3087}#
-                         (values (cdr #{b 3087}#) #{maps 3075}#)
-                         (let ((#{inner-var 3089}#
+                     (#{gen-ref 5705}#
+                       #{src 6533}#
+                       #{var 6534}#
+                       (#{1-}# #{level 6535}#)
+                       (cdr #{maps 6536}#)))
+                   (lambda (#{outer-var 6537}# #{outer-maps 6538}#)
+                     (let ((#{b 6539}#
+                             (assq #{outer-var 6537}# (car #{maps 6536}#))))
+                       (if #{b 6539}#
+                         (values (cdr #{b 6539}#) #{maps 6536}#)
+                         (let ((#{inner-var 6541}#
                                  (gensym
                                    (string-append (symbol->string 'tmp) " "))))
                            (values
-                             #{inner-var 3089}#
-                             (cons (cons (cons #{outer-var 3082}#
-                                               #{inner-var 3089}#)
-                                         (car #{maps 3075}#))
-                                   #{outer-maps 3083}#)))))))))))
-         (#{gen-mappend 2945}#
-           (lambda (#{e 3090}# #{map-env 3091}#)
-             (list 'apply
-                   '(primitive append)
-                   (#{gen-map 2947}# #{e 3090}# #{map-env 3091}#))))
-         (#{gen-map 2947}#
-           (lambda (#{e 3095}# #{map-env 3096}#)
-             (let ((#{formals 3101}# (map cdr #{map-env 3096}#))
-                   (#{actuals 3102}#
-                     (map (lambda (#{x 3103}#)
-                            (list 'ref (car #{x 3103}#)))
-                          #{map-env 3096}#)))
-               (if (eq? (car #{e 3095}#) 'ref)
-                 (car #{actuals 3102}#)
+                             #{inner-var 6541}#
+                             (cons (cons (cons #{outer-var 6537}#
+                                               #{inner-var 6541}#)
+                                         (car #{maps 6536}#))
+                                   #{outer-maps 6538}#)))))))))))
+         (#{gen-map 5707}#
+           (lambda (#{e 6555}# #{map-env 6556}#)
+             (let ((#{formals 6557}# (map cdr #{map-env 6556}#))
+                   (#{actuals 6558}#
+                     (map (lambda (#{x 6560}#)
+                            (list 'ref (car #{x 6560}#)))
+                          #{map-env 6556}#)))
+               (if (eq? (car #{e 6555}#) 'ref)
+                 (car #{actuals 6558}#)
                  (if (and-map
-                       (lambda (#{x 3110}#)
-                         (if (eq? (car #{x 3110}#) 'ref)
-                           (memq (car (cdr #{x 3110}#)) #{formals 3101}#)
+                       (lambda (#{x 6561}#)
+                         (if (eq? (car #{x 6561}#) 'ref)
+                           (memq (car (cdr #{x 6561}#)) #{formals 6557}#)
                            #f))
-                       (cdr #{e 3095}#))
+                       (cdr #{e 6555}#))
                    (cons 'map
-                         (cons (list 'primitive (car #{e 3095}#))
-                               (map (let ((#{r 3116}#
+                         (cons (list 'primitive (car #{e 6555}#))
+                               (map (let ((#{r 6563}#
                                             (map cons
-                                                 #{formals 3101}#
-                                                 #{actuals 3102}#)))
-                                      (lambda (#{x 3117}#)
-                                        (cdr (assq (car (cdr #{x 3117}#))
-                                                   #{r 3116}#))))
-                                    (cdr #{e 3095}#))))
+                                                 #{formals 6557}#
+                                                 #{actuals 6558}#)))
+                                      (lambda (#{x 6564}#)
+                                        (cdr (assq (car (cdr #{x 6564}#))
+                                                   #{r 6563}#))))
+                                    (cdr #{e 6555}#))))
                    (cons 'map
-                         (cons (list 'lambda #{formals 3101}# #{e 3095}#)
-                               #{actuals 3102}#)))))))
-         (#{gen-cons 2949}#
-           (lambda (#{x 3121}# #{y 3122}#)
-             (let ((#{atom-key 3127}# (car #{y 3122}#)))
-               (if (memv #{atom-key 3127}# '(quote))
-                 (if (eq? (car #{x 3121}#) 'quote)
-                   (list 'quote
-                         (cons (car (cdr #{x 3121}#))
-                               (car (cdr #{y 3122}#))))
-                   (if (eq? (car (cdr #{y 3122}#)) '())
-                     (list 'list #{x 3121}#)
-                     (list 'cons #{x 3121}# #{y 3122}#)))
-                 (if (memv #{atom-key 3127}# '(list))
-                   (cons 'list (cons #{x 3121}# (cdr #{y 3122}#)))
-                   (list 'cons #{x 3121}# #{y 3122}#))))))
-         (#{gen-append 2951}#
-           (lambda (#{x 3136}# #{y 3137}#)
-             (if (equal? #{y 3137}# ''())
-               #{x 3136}#
-               (list 'append #{x 3136}# #{y 3137}#))))
-         (#{gen-vector 2953}#
-           (lambda (#{x 3141}#)
-             (if (eq? (car #{x 3141}#) 'list)
-               (cons 'vector (cdr #{x 3141}#))
-               (if (eq? (car #{x 3141}#) 'quote)
-                 (list 'quote
-                       (list->vector (car (cdr #{x 3141}#))))
-                 (list 'list->vector #{x 3141}#)))))
-         (#{regen 2955}#
-           (lambda (#{x 3151}#)
-             (let ((#{atom-key 3155}# (car #{x 3151}#)))
-               (if (memv #{atom-key 3155}# '(ref))
-                 (let ((#{name 5827}# (car (cdr #{x 3151}#)))
-                       (#{var 5828}# (car (cdr #{x 3151}#))))
+                         (cons (list 'lambda #{formals 6557}# #{e 6555}#)
+                               #{actuals 6558}#)))))))
+         (#{regen 5711}#
+           (lambda (#{x 6566}#)
+             (let ((#{atom-key 6567}# (car #{x 6566}#)))
+               (if (eqv? #{atom-key 6567}# 'ref)
+                 (let ((#{name 6577}# (car (cdr #{x 6566}#)))
+                       (#{var 6578}# (car (cdr #{x 6566}#))))
                    (make-struct/no-tail
                      (vector-ref %expanded-vtables 3)
                      #f
-                     #{name 5827}#
-                     #{var 5828}#))
-                 (if (memv #{atom-key 3155}# '(primitive))
-                   (let ((#{name 5836}# (car (cdr #{x 3151}#))))
+                     #{name 6577}#
+                     #{var 6578}#))
+                 (if (eqv? #{atom-key 6567}# 'primitive)
+                   (let ((#{name 6589}# (car (cdr #{x 6566}#))))
                      (make-struct/no-tail
                        (vector-ref %expanded-vtables 2)
                        #f
-                       #{name 5836}#))
-                   (if (memv #{atom-key 3155}# '(quote))
-                     (let ((#{exp 5844}# (car (cdr #{x 3151}#))))
+                       #{name 6589}#))
+                   (if (eqv? #{atom-key 6567}# 'quote)
+                     (let ((#{exp 6600}# (car (cdr #{x 6566}#))))
                        (make-struct/no-tail
                          (vector-ref %expanded-vtables 1)
                          #f
-                         #{exp 5844}#))
-                     (if (memv #{atom-key 3155}# '(lambda))
-                       (if (list? (car (cdr #{x 3151}#)))
-                         (let ((#{req 5852}# (car (cdr #{x 3151}#)))
-                               (#{vars 5854}# (car (cdr #{x 3151}#)))
-                               (#{exp 5856}#
-                                 (#{regen 2955}#
-                                   (car (cdr (cdr #{x 3151}#))))))
-                           (let ((#{body 5861}#
+                         #{exp 6600}#))
+                     (if (eqv? #{atom-key 6567}# 'lambda)
+                       (if (list? (car (cdr #{x 6566}#)))
+                         (let ((#{req 6611}# (car (cdr #{x 6566}#)))
+                               (#{vars 6613}# (car (cdr #{x 6566}#)))
+                               (#{exp 6615}#
+                                 (#{regen 5711}#
+                                   (car (cdr (cdr #{x 6566}#))))))
+                           (let ((#{body 6620}#
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 15)
                                      #f
-                                     #{req 5852}#
+                                     #{req 6611}#
                                      #f
                                      #f
                                      #f
                                      '()
-                                     #{vars 5854}#
-                                     #{exp 5856}#
+                                     #{vars 6613}#
+                                     #{exp 6615}#
                                      #f)))
                              (make-struct/no-tail
                                (vector-ref %expanded-vtables 14)
                                #f
                                '()
-                               #{body 5861}#)))
-                         (error "how did we get here" #{x 3151}#))
-                       (let ((#{name 5876}# (car #{x 3151}#))
-                             (#{args 5877}#
-                               (map #{regen 2955}# (cdr #{x 3151}#))))
+                               #{body 6620}#)))
+                         (error "how did we get here" #{x 6566}#))
+                       (let ((#{name 6636}# (car #{x 6566}#))
+                             (#{args 6637}#
+                               (map #{regen 5711}# (cdr #{x 6566}#))))
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 12)
                            #f
-                           #{name 5876}#
-                           #{args 5877}#))))))))))
-        (lambda (#{e 3166}#
-                 #{r 3167}#
-                 #{w 3168}#
-                 #{s 3169}#
-                 #{mod 3170}#)
-          (let ((#{e 3177}#
-                  (let ((#{x 5891}#
+                           #{name 6636}#
+                           #{args 6637}#))))))))))
+        (lambda (#{e 5712}#
+                 #{r 5713}#
+                 #{w 5714}#
+                 #{s 5715}#
+                 #{mod 5716}#)
+          (let ((#{e 5717}#
+                  (let ((#{x 6068}#
                           (begin
-                            (if (if (pair? #{e 3166}#) #{s 3169}# #f)
-                              (set-source-properties! #{e 3166}# #{s 3169}#))
-                            #{e 3166}#)))
-                    (if (if (null? (car #{w 3168}#))
-                          (null? (cdr #{w 3168}#))
+                            (if (if (pair? #{e 5712}#) #{s 5715}# #f)
+                              (set-source-properties! #{e 5712}# #{s 5715}#))
+                            #{e 5712}#)))
+                    (if (if (null? (car #{w 5714}#))
+                          (null? (cdr #{w 5714}#))
                           #f)
-                      #{x 5891}#
-                      (if (if (vector? #{x 5891}#)
-                            (if (= (vector-length #{x 5891}#) 4)
-                              (eq? (vector-ref #{x 5891}# 0) 'syntax-object)
+                      #{x 6068}#
+                      (if (if (vector? #{x 6068}#)
+                            (if (= (vector-length #{x 6068}#) 4)
+                              (eq? (vector-ref #{x 6068}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 5903}# (vector-ref #{x 5891}# 1))
-                              (#{wrap 5904}#
-                                (let ((#{w2 5912}# (vector-ref #{x 5891}# 2)))
-                                  (let ((#{m1 5913}# (car #{w 3168}#))
-                                        (#{s1 5914}# (cdr #{w 3168}#)))
-                                    (if (null? #{m1 5913}#)
-                                      (if (null? #{s1 5914}#)
-                                        #{w2 5912}#
-                                        (cons (car #{w2 5912}#)
-                                              (let ((#{m2 5921}#
-                                                      (cdr #{w2 5912}#)))
-                                                (if (null? #{m2 5921}#)
-                                                  #{s1 5914}#
+                        (let ((#{expression 6100}# (vector-ref #{x 6068}# 1))
+                              (#{wrap 6101}#
+                                (let ((#{w2 6109}# (vector-ref #{x 6068}# 2)))
+                                  (let ((#{m1 6110}# (car #{w 5714}#))
+                                        (#{s1 6111}# (cdr #{w 5714}#)))
+                                    (if (null? #{m1 6110}#)
+                                      (if (null? #{s1 6111}#)
+                                        #{w2 6109}#
+                                        (cons (car #{w2 6109}#)
+                                              (let ((#{m2 6126}#
+                                                      (cdr #{w2 6109}#)))
+                                                (if (null? #{m2 6126}#)
+                                                  #{s1 6111}#
                                                   (append
-                                                    #{s1 5914}#
-                                                    #{m2 5921}#)))))
-                                      (cons (let ((#{m2 5925}#
-                                                    (car #{w2 5912}#)))
-                                              (if (null? #{m2 5925}#)
-                                                #{m1 5913}#
+                                                    #{s1 6111}#
+                                                    #{m2 6126}#)))))
+                                      (cons (let ((#{m2 6134}#
+                                                    (car #{w2 6109}#)))
+                                              (if (null? #{m2 6134}#)
+                                                #{m1 6110}#
                                                 (append
-                                                  #{m1 5913}#
-                                                  #{m2 5925}#)))
-                                            (let ((#{m2 5929}#
-                                                    (cdr #{w2 5912}#)))
-                                              (if (null? #{m2 5929}#)
-                                                #{s1 5914}#
+                                                  #{m1 6110}#
+                                                  #{m2 6134}#)))
+                                            (let ((#{m2 6142}#
+                                                    (cdr #{w2 6109}#)))
+                                              (if (null? #{m2 6142}#)
+                                                #{s1 6111}#
                                                 (append
-                                                  #{s1 5914}#
-                                                  #{m2 5929}#))))))))
-                              (#{module 5905}# (vector-ref #{x 5891}# 3)))
+                                                  #{s1 6111}#
+                                                  #{m2 6142}#))))))))
+                              (#{module 6102}# (vector-ref #{x 6068}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 5903}#
-                            #{wrap 5904}#
-                            #{module 5905}#))
-                        (if (null? #{x 5891}#)
-                          #{x 5891}#
+                            #{expression 6100}#
+                            #{wrap 6101}#
+                            #{module 6102}#))
+                        (if (null? #{x 6068}#)
+                          #{x 6068}#
                           (vector
                             'syntax-object
-                            #{x 5891}#
-                            #{w 3168}#
-                            #{mod 3170}#)))))))
-            (let ((#{tmp 3179}# ($sc-dispatch #{e 3177}# '(_ any))))
-              (if #{tmp 3179}#
-                (@apply
-                  (lambda (#{x 3181}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{gen-syntax 2941}#
-                          #{e 3177}#
-                          #{x 3181}#
-                          #{r 3167}#
-                          '()
-                          #{ellipsis? 457}#
-                          #{mod 3170}#))
-                      (lambda (#{e 3182}# #{maps 3183}#)
-                        (#{regen 2955}# #{e 3182}#))))
-                  #{tmp 3179}#)
-                (syntax-violation
-                  'syntax
-                  "bad `syntax' form"
-                  #{e 3177}#)))))))
-    (#{global-extend 349}#
+                            #{x 6068}#
+                            #{w 5714}#
+                            #{mod 5716}#)))))))
+            (let ((#{tmp 5718}# #{e 5717}#))
+              (let ((#{tmp 5719}#
+                      ($sc-dispatch #{tmp 5718}# '(_ any))))
+                (if #{tmp 5719}#
+                  (@apply
+                    (lambda (#{x 5767}#)
+                      (call-with-values
+                        (lambda ()
+                          (#{gen-syntax 5704}#
+                            #{e 5717}#
+                            #{x 5767}#
+                            #{r 5713}#
+                            '()
+                            #{ellipsis? 4383}#
+                            #{mod 5716}#))
+                        (lambda (#{e 5850}# #{maps 5851}#)
+                          (#{regen 5711}# #{e 5850}#))))
+                    #{tmp 5719}#)
+                  (syntax-violation
+                    'syntax
+                    "bad `syntax' form"
+                    #{e 5717}#))))))))
+    (#{global-extend 4341}#
       'core
       'lambda
-      (lambda (#{e 3188}#
-               #{r 3189}#
-               #{w 3190}#
-               #{s 3191}#
-               #{mod 3192}#)
-        (let ((#{tmp 3199}#
-                ($sc-dispatch #{e 3188}# '(_ any any . each-any))))
-          (if #{tmp 3199}#
+      (lambda (#{e 6873}#
+               #{r 6874}#
+               #{w 6875}#
+               #{s 6876}#
+               #{mod 6877}#)
+        (let ((#{tmp 6879}#
+                ($sc-dispatch #{e 6873}# '(_ any any . each-any))))
+          (if #{tmp 6879}#
             (@apply
-              (lambda (#{args 3203}# #{e1 3204}# #{e2 3205}#)
+              (lambda (#{args 6883}# #{e1 6884}# #{e2 6885}#)
                 (call-with-values
                   (lambda ()
-                    (#{lambda-formals 459}# #{args 3203}#))
-                  (lambda (#{req 3206}#
-                           #{opt 3207}#
-                           #{rest 3208}#
-                           #{kw 3209}#)
+                    (#{lambda-formals 4384}# #{args 6883}#))
+                  (lambda (#{req 6888}#
+                           #{opt 6889}#
+                           #{rest 6890}#
+                           #{kw 6891}#)
                     (letrec*
-                      ((#{lp 3217}#
-                         (lambda (#{body 3218}# #{meta 3219}#)
-                           (let ((#{tmp 3222}#
+                      ((#{lp 6892}#
+                         (lambda (#{body 6895}# #{meta 6896}#)
+                           (let ((#{tmp 6898}#
                                    ($sc-dispatch
-                                     #{body 3218}#
+                                     #{body 6895}#
                                      '(any any . each-any))))
-                             (if (if #{tmp 3222}#
+                             (if (if #{tmp 6898}#
                                    (@apply
-                                     (lambda (#{docstring 3226}#
-                                              #{e1 3227}#
-                                              #{e2 3228}#)
+                                     (lambda (#{docstring 6902}#
+                                              #{e1 6903}#
+                                              #{e2 6904}#)
                                        (string?
-                                         (syntax->datum #{docstring 3226}#)))
-                                     #{tmp 3222}#)
+                                         (syntax->datum #{docstring 6902}#)))
+                                     #{tmp 6898}#)
                                    #f)
                                (@apply
-                                 (lambda (#{docstring 3232}#
-                                          #{e1 3233}#
-                                          #{e2 3234}#)
-                                   (#{lp 3217}#
-                                     (cons #{e1 3233}# #{e2 3234}#)
+                                 (lambda (#{docstring 6905}#
+                                          #{e1 6906}#
+                                          #{e2 6907}#)
+                                   (#{lp 6892}#
+                                     (cons #{e1 6906}# #{e2 6907}#)
                                      (append
-                                       #{meta 3219}#
+                                       #{meta 6896}#
                                        (list (cons 'documentation
                                                    (syntax->datum
-                                                     #{docstring 3232}#))))))
-                                 #{tmp 3222}#)
-                               (let ((#{tmp 3237}#
+                                                     #{docstring 6905}#))))))
+                                 #{tmp 6898}#)
+                               (let ((#{tmp 6908}#
                                        ($sc-dispatch
-                                         #{body 3218}#
+                                         #{body 6895}#
                                          '(#(vector #(each (any . any)))
                                            any
                                            .
                                            each-any))))
-                                 (if #{tmp 3237}#
+                                 (if #{tmp 6908}#
                                    (@apply
-                                     (lambda (#{k 3242}#
-                                              #{v 3243}#
-                                              #{e1 3244}#
-                                              #{e2 3245}#)
-                                       (#{lp 3217}#
-                                         (cons #{e1 3244}# #{e2 3245}#)
+                                     (lambda (#{k 6912}#
+                                              #{v 6913}#
+                                              #{e1 6914}#
+                                              #{e2 6915}#)
+                                       (#{lp 6892}#
+                                         (cons #{e1 6914}# #{e2 6915}#)
                                          (append
-                                           #{meta 3219}#
+                                           #{meta 6896}#
                                            (syntax->datum
                                              (map cons
-                                                  #{k 3242}#
-                                                  #{v 3243}#)))))
-                                     #{tmp 3237}#)
-                                   ((lambda (#{e 2300}#
-                                             #{r 2301}#
-                                             #{w 2302}#
-                                             #{s 2303}#
-                                             #{mod 2304}#
-                                             #{req 2305}#
-                                             #{rest 2306}#
-                                             #{meta 2307}#
-                                             #{body 2308}#)
-                                      (let ((#{ids 2320}#
-                                              (if #{rest 2306}#
-                                                (append
-                                                  #{req 2305}#
-                                                  (list #{rest 2306}#))
-                                                #{req 2305}#)))
-                                        (let ((#{vars 2322}#
-                                                (map #{gen-var 469}#
-                                                     #{ids 2320}#)))
-                                          (let ((#{labels 2324}#
-                                                  (#{gen-labels 373}#
-                                                    #{ids 2320}#)))
-                                            (#{build-simple-lambda 291}#
-                                              #{s 2303}#
-                                              (map syntax->datum #{req 2305}#)
-                                              (if #{rest 2306}#
-                                                (syntax->datum #{rest 2306}#)
-                                                #f)
-                                              #{vars 2322}#
-                                              #{meta 2307}#
-                                              (#{chi-body 449}#
-                                                #{body 2308}#
-                                                (#{source-wrap 429}#
-                                                  #{e 2300}#
-                                                  #{w 2302}#
-                                                  #{s 2303}#
-                                                  #{mod 2304}#)
-                                                (#{extend-var-env 343}#
-                                                  #{labels 2324}#
-                                                  #{vars 2322}#
-                                                  #{r 2301}#)
-                                                (#{make-binding-wrap 405}#
-                                                  #{ids 2320}#
-                                                  #{labels 2324}#
-                                                  #{w 2302}#)
-                                                #{mod 2304}#))))))
-                                    #{e 3188}#
-                                    #{r 3189}#
-                                    #{w 3190}#
-                                    #{s 3191}#
-                                    #{mod 3192}#
-                                    #{req 3206}#
-                                    #{rest 3208}#
-                                    #{meta 3219}#
-                                    #{body 3218}#))))))))
-                      (#{lp 3217}# (cons #{e1 3204}# #{e2 3205}#) '())))))
-              #{tmp 3199}#)
+                                                  #{k 6912}#
+                                                  #{v 6913}#)))))
+                                     #{tmp 6908}#)
+                                   (#{chi-simple-lambda 4385}#
+                                     #{e 6873}#
+                                     #{r 6874}#
+                                     #{w 6875}#
+                                     #{s 6876}#
+                                     #{mod 6877}#
+                                     #{req 6888}#
+                                     #{rest 6890}#
+                                     #{meta 6896}#
+                                     #{body 6895}#))))))))
+                      (#{lp 6892}# (cons #{e1 6884}# #{e2 6885}#) '())))))
+              #{tmp 6879}#)
             (syntax-violation
               'lambda
               "bad lambda"
-              #{e 3188}#)))))
-    (module-define!
-      (current-module)
+              #{e 6873}#)))))
+    (#{global-extend 4341}#
+      'core
       'lambda*
-      (make-syntax-transformer
-        'lambda*
-        'core
-        (lambda (#{e 3253}#
-                 #{r 3254}#
-                 #{w 3255}#
-                 #{s 3256}#
-                 #{mod 3257}#)
-          (let ((#{tmp 3264}#
-                  ($sc-dispatch #{e 3253}# '(_ any any . each-any))))
-            (if #{tmp 3264}#
-              (@apply
-                (lambda (#{args 3268}# #{e1 3269}# #{e2 3270}#)
-                  (call-with-values
-                    (lambda ()
-                      (#{chi-lambda-case 465}#
-                        #{e 3253}#
-                        #{r 3254}#
-                        #{w 3255}#
-                        #{s 3256}#
-                        #{mod 3257}#
-                        #{lambda*-formals 463}#
-                        (list (cons #{args 3268}#
-                                    (cons #{e1 3269}# #{e2 3270}#)))))
-                    (lambda (#{meta 3272}# #{lcase 3273}#)
-                      (make-struct/no-tail
-                        (vector-ref %expanded-vtables 14)
-                        #{s 3256}#
-                        #{meta 3272}#
-                        #{lcase 3273}#))))
-                #{tmp 3264}#)
-              (syntax-violation
-                'lambda
-                "bad lambda*"
-                #{e 3253}#))))))
-    (module-define!
-      (current-module)
+      (lambda (#{e 7299}#
+               #{r 7300}#
+               #{w 7301}#
+               #{s 7302}#
+               #{mod 7303}#)
+        (let ((#{tmp 7305}#
+                ($sc-dispatch #{e 7299}# '(_ any any . each-any))))
+          (if #{tmp 7305}#
+            (@apply
+              (lambda (#{args 7309}# #{e1 7310}# #{e2 7311}#)
+                (call-with-values
+                  (lambda ()
+                    (#{chi-lambda-case 4387}#
+                      #{e 7299}#
+                      #{r 7300}#
+                      #{w 7301}#
+                      #{s 7302}#
+                      #{mod 7303}#
+                      #{lambda*-formals 4386}#
+                      (list (cons #{args 7309}#
+                                  (cons #{e1 7310}# #{e2 7311}#)))))
+                  (lambda (#{meta 7314}# #{lcase 7315}#)
+                    (make-struct/no-tail
+                      (vector-ref %expanded-vtables 14)
+                      #{s 7302}#
+                      #{meta 7314}#
+                      #{lcase 7315}#))))
+              #{tmp 7305}#)
+            (syntax-violation
+              'lambda
+              "bad lambda*"
+              #{e 7299}#)))))
+    (#{global-extend 4341}#
+      'core
       'case-lambda
-      (make-syntax-transformer
-        'case-lambda
-        'core
-        (lambda (#{e 3278}#
-                 #{r 3279}#
-                 #{w 3280}#
-                 #{s 3281}#
-                 #{mod 3282}#)
-          (let ((#{tmp 3289}#
-                  ($sc-dispatch
-                    #{e 3278}#
-                    '(_ (any any . each-any)
-                        .
-                        #(each (any any . each-any))))))
-            (if #{tmp 3289}#
-              (@apply
-                (lambda (#{args 3296}#
-                         #{e1 3297}#
-                         #{e2 3298}#
-                         #{args* 3299}#
-                         #{e1* 3300}#
-                         #{e2* 3301}#)
-                  (call-with-values
-                    (lambda ()
-                      (#{chi-lambda-case 465}#
-                        #{e 3278}#
-                        #{r 3279}#
-                        #{w 3280}#
-                        #{s 3281}#
-                        #{mod 3282}#
-                        #{lambda-formals 459}#
-                        (cons (cons #{args 3296}#
-                                    (cons #{e1 3297}# #{e2 3298}#))
-                              (map (lambda (#{tmp 3305}#
-                                            #{tmp 3304}#
-                                            #{tmp 3303}#)
-                                     (cons #{tmp 3303}#
-                                           (cons #{tmp 3304}# #{tmp 3305}#)))
-                                   #{e2* 3301}#
-                                   #{e1* 3300}#
-                                   #{args* 3299}#))))
-                    (lambda (#{meta 3307}# #{lcase 3308}#)
-                      (make-struct/no-tail
-                        (vector-ref %expanded-vtables 14)
-                        #{s 3281}#
-                        #{meta 3307}#
-                        #{lcase 3308}#))))
-                #{tmp 3289}#)
-              (syntax-violation
-                'case-lambda
-                "bad case-lambda"
-                #{e 3278}#))))))
-    (module-define!
-      (current-module)
+      (lambda (#{e 7478}#
+               #{r 7479}#
+               #{w 7480}#
+               #{s 7481}#
+               #{mod 7482}#)
+        (let ((#{tmp 7484}#
+                ($sc-dispatch
+                  #{e 7478}#
+                  '(_ (any any . each-any)
+                      .
+                      #(each (any any . each-any))))))
+          (if #{tmp 7484}#
+            (@apply
+              (lambda (#{args 7488}#
+                       #{e1 7489}#
+                       #{e2 7490}#
+                       #{args* 7491}#
+                       #{e1* 7492}#
+                       #{e2* 7493}#)
+                (call-with-values
+                  (lambda ()
+                    (#{chi-lambda-case 4387}#
+                      #{e 7478}#
+                      #{r 7479}#
+                      #{w 7480}#
+                      #{s 7481}#
+                      #{mod 7482}#
+                      #{lambda-formals 4384}#
+                      (cons (cons #{args 7488}#
+                                  (cons #{e1 7489}# #{e2 7490}#))
+                            (map (lambda (#{tmp 3306 7496}#
+                                          #{tmp 3305 7497}#
+                                          #{tmp 3304 7498}#)
+                                   (cons #{tmp 3304 7498}#
+                                         (cons #{tmp 3305 7497}#
+                                               #{tmp 3306 7496}#)))
+                                 #{e2* 7493}#
+                                 #{e1* 7492}#
+                                 #{args* 7491}#))))
+                  (lambda (#{meta 7499}# #{lcase 7500}#)
+                    (make-struct/no-tail
+                      (vector-ref %expanded-vtables 14)
+                      #{s 7481}#
+                      #{meta 7499}#
+                      #{lcase 7500}#))))
+              #{tmp 7484}#)
+            (syntax-violation
+              'case-lambda
+              "bad case-lambda"
+              #{e 7478}#)))))
+    (#{global-extend 4341}#
+      'core
       'case-lambda*
-      (make-syntax-transformer
-        'case-lambda*
-        'core
-        (lambda (#{e 3313}#
-                 #{r 3314}#
-                 #{w 3315}#
-                 #{s 3316}#
-                 #{mod 3317}#)
-          (let ((#{tmp 3324}#
-                  ($sc-dispatch
-                    #{e 3313}#
-                    '(_ (any any . each-any)
-                        .
-                        #(each (any any . each-any))))))
-            (if #{tmp 3324}#
-              (@apply
-                (lambda (#{args 3331}#
-                         #{e1 3332}#
-                         #{e2 3333}#
-                         #{args* 3334}#
-                         #{e1* 3335}#
-                         #{e2* 3336}#)
-                  (call-with-values
-                    (lambda ()
-                      (#{chi-lambda-case 465}#
-                        #{e 3313}#
-                        #{r 3314}#
-                        #{w 3315}#
-                        #{s 3316}#
-                        #{mod 3317}#
-                        #{lambda*-formals 463}#
-                        (cons (cons #{args 3331}#
-                                    (cons #{e1 3332}# #{e2 3333}#))
-                              (map (lambda (#{tmp 3340}#
-                                            #{tmp 3339}#
-                                            #{tmp 3338}#)
-                                     (cons #{tmp 3338}#
-                                           (cons #{tmp 3339}# #{tmp 3340}#)))
-                                   #{e2* 3336}#
-                                   #{e1* 3335}#
-                                   #{args* 3334}#))))
-                    (lambda (#{meta 3342}# #{lcase 3343}#)
-                      (make-struct/no-tail
-                        (vector-ref %expanded-vtables 14)
-                        #{s 3316}#
-                        #{meta 3342}#
-                        #{lcase 3343}#))))
-                #{tmp 3324}#)
-              (syntax-violation
-                'case-lambda
-                "bad case-lambda*"
-                #{e 3313}#))))))
-    (#{global-extend 349}#
+      (lambda (#{e 7669}#
+               #{r 7670}#
+               #{w 7671}#
+               #{s 7672}#
+               #{mod 7673}#)
+        (let ((#{tmp 7675}#
+                ($sc-dispatch
+                  #{e 7669}#
+                  '(_ (any any . each-any)
+                      .
+                      #(each (any any . each-any))))))
+          (if #{tmp 7675}#
+            (@apply
+              (lambda (#{args 7679}#
+                       #{e1 7680}#
+                       #{e2 7681}#
+                       #{args* 7682}#
+                       #{e1* 7683}#
+                       #{e2* 7684}#)
+                (call-with-values
+                  (lambda ()
+                    (#{chi-lambda-case 4387}#
+                      #{e 7669}#
+                      #{r 7670}#
+                      #{w 7671}#
+                      #{s 7672}#
+                      #{mod 7673}#
+                      #{lambda*-formals 4386}#
+                      (cons (cons #{args 7679}#
+                                  (cons #{e1 7680}# #{e2 7681}#))
+                            (map (lambda (#{tmp 3341 7687}#
+                                          #{tmp 3340 7688}#
+                                          #{tmp 3339 7689}#)
+                                   (cons #{tmp 3339 7689}#
+                                         (cons #{tmp 3340 7688}#
+                                               #{tmp 3341 7687}#)))
+                                 #{e2* 7684}#
+                                 #{e1* 7683}#
+                                 #{args* 7682}#))))
+                  (lambda (#{meta 7690}# #{lcase 7691}#)
+                    (make-struct/no-tail
+                      (vector-ref %expanded-vtables 14)
+                      #{s 7672}#
+                      #{meta 7690}#
+                      #{lcase 7691}#))))
+              #{tmp 7675}#)
+            (syntax-violation
+              'case-lambda
+              "bad case-lambda*"
+              #{e 7669}#)))))
+    (#{global-extend 4341}#
       'core
       'let
       (letrec*
-        ((#{chi-let 3349}#
-           (lambda (#{e 3350}#
-                    #{r 3351}#
-                    #{w 3352}#
-                    #{s 3353}#
-                    #{mod 3354}#
-                    #{constructor 3355}#
-                    #{ids 3356}#
-                    #{vals 3357}#
-                    #{exps 3358}#)
-             (if (not (#{valid-bound-ids? 421}# #{ids 3356}#))
+        ((#{chi-let 7900}#
+           (lambda (#{e 8110}#
+                    #{r 8111}#
+                    #{w 8112}#
+                    #{s 8113}#
+                    #{mod 8114}#
+                    #{constructor 8115}#
+                    #{ids 8116}#
+                    #{vals 8117}#
+                    #{exps 8118}#)
+             (if (not (#{valid-bound-ids? 4365}# #{ids 8116}#))
                (syntax-violation
                  'let
                  "duplicate bound variable"
-                 #{e 3350}#)
-               (let ((#{labels 3370}#
-                       (#{gen-labels 373}# #{ids 3356}#))
-                     (#{new-vars 3371}#
-                       (map #{gen-var 469}# #{ids 3356}#)))
-                 (let ((#{nw 3374}#
-                         (#{make-binding-wrap 405}#
-                           #{ids 3356}#
-                           #{labels 3370}#
-                           #{w 3352}#))
-                       (#{nr 3375}#
-                         (#{extend-var-env 343}#
-                           #{labels 3370}#
-                           #{new-vars 3371}#
-                           #{r 3351}#)))
-                   (#{constructor 3355}#
-                     #{s 3353}#
-                     (map syntax->datum #{ids 3356}#)
-                     #{new-vars 3371}#
-                     (map (lambda (#{x 3376}#)
-                            (#{chi 441}#
-                              #{x 3376}#
-                              #{r 3351}#
-                              #{w 3352}#
-                              #{mod 3354}#))
-                          #{vals 3357}#)
-                     (#{chi-body 449}#
-                       #{exps 3358}#
-                       (let ((#{x 6517}#
-                               (begin
-                                 (if (if (pair? #{e 3350}#) #{s 3353}# #f)
-                                   (set-source-properties!
-                                     #{e 3350}#
-                                     #{s 3353}#))
-                                 #{e 3350}#)))
-                         (if (if (null? (car #{nw 3374}#))
-                               (null? (cdr #{nw 3374}#))
-                               #f)
-                           #{x 6517}#
-                           (if (if (vector? #{x 6517}#)
-                                 (if (= (vector-length #{x 6517}#) 4)
-                                   (eq? (vector-ref #{x 6517}# 0)
-                                        'syntax-object)
-                                   #f)
-                                 #f)
-                             (let ((#{expression 6529}#
-                                     (vector-ref #{x 6517}# 1))
-                                   (#{wrap 6530}#
-                                     (let ((#{w2 6538}#
-                                             (vector-ref #{x 6517}# 2)))
-                                       (let ((#{m1 6539}# (car #{nw 3374}#))
-                                             (#{s1 6540}# (cdr #{nw 3374}#)))
-                                         (if (null? #{m1 6539}#)
-                                           (if (null? #{s1 6540}#)
-                                             #{w2 6538}#
-                                             (cons (car #{w2 6538}#)
-                                                   (let ((#{m2 6547}#
-                                                           (cdr #{w2 6538}#)))
-                                                     (if (null? #{m2 6547}#)
-                                                       #{s1 6540}#
-                                                       (append
-                                                         #{s1 6540}#
-                                                         #{m2 6547}#)))))
-                                           (cons (let ((#{m2 6551}#
-                                                         (car #{w2 6538}#)))
-                                                   (if (null? #{m2 6551}#)
-                                                     #{m1 6539}#
-                                                     (append
-                                                       #{m1 6539}#
-                                                       #{m2 6551}#)))
-                                                 (let ((#{m2 6555}#
-                                                         (cdr #{w2 6538}#)))
-                                                   (if (null? #{m2 6555}#)
-                                                     #{s1 6540}#
-                                                     (append
-                                                       #{s1 6540}#
-                                                       #{m2 6555}#))))))))
-                                   (#{module 6531}# (vector-ref #{x 6517}# 3)))
-                               (vector
-                                 'syntax-object
-                                 #{expression 6529}#
-                                 #{wrap 6530}#
-                                 #{module 6531}#))
-                             (if (null? #{x 6517}#)
-                               #{x 6517}#
-                               (vector
-                                 'syntax-object
-                                 #{x 6517}#
-                                 #{nw 3374}#
-                                 #{mod 3354}#)))))
-                       #{nr 3375}#
-                       #{nw 3374}#
-                       #{mod 3354}#))))))))
-        (lambda (#{e 3378}#
-                 #{r 3379}#
-                 #{w 3380}#
-                 #{s 3381}#
-                 #{mod 3382}#)
-          (let ((#{tmp 3389}#
+                 #{e 8110}#)
+               (let ((#{labels 8201}#
+                       (#{gen-labels 4346}# #{ids 8116}#))
+                     (#{new-vars 8202}#
+                       (map #{gen-var 4389}# #{ids 8116}#)))
+                 (let ((#{nw 8203}#
+                         (#{make-binding-wrap 4357}#
+                           #{ids 8116}#
+                           #{labels 8201}#
+                           #{w 8112}#))
+                       (#{nr 8204}#
+                         (#{extend-var-env 4338}#
+                           #{labels 8201}#
+                           #{new-vars 8202}#
+                           #{r 8111}#)))
+                   (#{constructor 8115}#
+                     #{s 8113}#
+                     (map syntax->datum #{ids 8116}#)
+                     #{new-vars 8202}#
+                     (map (lambda (#{x 8221}#)
+                            (#{chi 4375}#
+                              #{x 8221}#
+                              #{r 8111}#
+                              #{w 8112}#
+                              #{mod 8114}#))
+                          #{vals 8117}#)
+                     (#{chi-body 4379}#
+                       #{exps 8118}#
+                       (#{source-wrap 4369}#
+                         #{e 8110}#
+                         #{nw 8203}#
+                         #{s 8113}#
+                         #{mod 8114}#)
+                       #{nr 8204}#
+                       #{nw 8203}#
+                       #{mod 8114}#))))))))
+        (lambda (#{e 7901}#
+                 #{r 7902}#
+                 #{w 7903}#
+                 #{s 7904}#
+                 #{mod 7905}#)
+          (let ((#{tmp 7907}#
                   ($sc-dispatch
-                    #{e 3378}#
+                    #{e 7901}#
                     '(_ #(each (any any)) any . each-any))))
-            (if (if #{tmp 3389}#
+            (if (if #{tmp 7907}#
                   (@apply
-                    (lambda (#{id 3394}#
-                             #{val 3395}#
-                             #{e1 3396}#
-                             #{e2 3397}#)
-                      (and-map #{id? 353}# #{id 3394}#))
-                    #{tmp 3389}#)
+                    (lambda (#{id 7911}#
+                             #{val 7912}#
+                             #{e1 7913}#
+                             #{e2 7914}#)
+                      (and-map #{id? 4343}# #{id 7911}#))
+                    #{tmp 7907}#)
                   #f)
               (@apply
-                (lambda (#{id 3403}#
-                         #{val 3404}#
-                         #{e1 3405}#
-                         #{e2 3406}#)
-                  (#{chi-let 3349}#
-                    #{e 3378}#
-                    #{r 3379}#
-                    #{w 3380}#
-                    #{s 3381}#
-                    #{mod 3382}#
-                    (lambda (#{src 1122}#
-                             #{ids 1123}#
-                             #{vars 1124}#
-                             #{val-exps 1125}#
-                             #{body-exp 1126}#)
+                (lambda (#{id 7930}#
+                         #{val 7931}#
+                         #{e1 7932}#
+                         #{e2 7933}#)
+                  (#{chi-let 7900}#
+                    #{e 7901}#
+                    #{r 7902}#
+                    #{w 7903}#
+                    #{s 7904}#
+                    #{mod 7905}#
+                    (lambda (#{src 7937}#
+                             #{ids 7938}#
+                             #{vars 7939}#
+                             #{val-exps 7940}#
+                             #{body-exp 7941}#)
                       (begin
                         (for-each
-                          #{maybe-name-value! 269}#
-                          #{ids 1123}#
-                          #{val-exps 1125}#)
-                        (if (null? #{vars 1124}#)
-                          #{body-exp 1126}#
-                          (#{make-let 240}#
-                            #{src 1122}#
-                            #{ids 1123}#
-                            #{vars 1124}#
-                            #{val-exps 1125}#
-                            #{body-exp 1126}#))))
-                    #{id 3403}#
-                    #{val 3404}#
-                    (cons #{e1 3405}# #{e2 3406}#)))
-                #{tmp 3389}#)
-              (let ((#{tmp 3410}#
+                          #{maybe-name-value! 4307}#
+                          #{ids 7938}#
+                          #{val-exps 7940}#)
+                        (if (null? #{vars 7939}#)
+                          #{body-exp 7941}#
+                          (make-struct/no-tail
+                            (vector-ref %expanded-vtables 16)
+                            #{src 7937}#
+                            #{ids 7938}#
+                            #{vars 7939}#
+                            #{val-exps 7940}#
+                            #{body-exp 7941}#))))
+                    #{id 7930}#
+                    #{val 7931}#
+                    (cons #{e1 7932}# #{e2 7933}#)))
+                #{tmp 7907}#)
+              (let ((#{tmp 7948}#
                       ($sc-dispatch
-                        #{e 3378}#
+                        #{e 7901}#
                         '(_ any #(each (any any)) any . each-any))))
-                (if (if #{tmp 3410}#
+                (if (if #{tmp 7948}#
                       (@apply
-                        (lambda (#{f 3416}#
-                                 #{id 3417}#
-                                 #{val 3418}#
-                                 #{e1 3419}#
-                                 #{e2 3420}#)
-                          (if (if (symbol? #{f 3416}#)
+                        (lambda (#{f 7952}#
+                                 #{id 7953}#
+                                 #{val 7954}#
+                                 #{e1 7955}#
+                                 #{e2 7956}#)
+                          (if (if (symbol? #{f 7952}#)
                                 #t
-                                (if (if (vector? #{f 3416}#)
-                                      (if (= (vector-length #{f 3416}#) 4)
-                                        (eq? (vector-ref #{f 3416}# 0)
+                                (if (if (vector? #{f 7952}#)
+                                      (if (= (vector-length #{f 7952}#) 4)
+                                        (eq? (vector-ref #{f 7952}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{f 3416}# 1))
+                                  (symbol? (vector-ref #{f 7952}# 1))
                                   #f))
-                            (and-map #{id? 353}# #{id 3417}#)
+                            (and-map #{id? 4343}# #{id 7953}#)
                             #f))
-                        #{tmp 3410}#)
+                        #{tmp 7948}#)
                       #f)
                   (@apply
-                    (lambda (#{f 3429}#
-                             #{id 3430}#
-                             #{val 3431}#
-                             #{e1 3432}#
-                             #{e2 3433}#)
-                      (#{chi-let 3349}#
-                        #{e 3378}#
-                        #{r 3379}#
-                        #{w 3380}#
-                        #{s 3381}#
-                        #{mod 3382}#
-                        (lambda (#{src 1132}#
-                                 #{ids 1133}#
-                                 #{vars 1134}#
-                                 #{val-exps 1135}#
-                                 #{body-exp 1136}#)
-                          (let ((#{f 1146}# (car #{vars 1134}#))
-                                (#{f-name 1147}# (car #{ids 1133}#))
-                                (#{vars 1148}# (cdr #{vars 1134}#))
-                                (#{ids 1149}# (cdr #{ids 1133}#)))
-                            (let ((#{proc 1151}#
-                                    (#{build-simple-lambda 291}#
-                                      #{src 1132}#
-                                      #{ids 1149}#
-                                      #f
-                                      #{vars 1148}#
-                                      '()
-                                      #{body-exp 1136}#)))
-                              (begin
-                                (#{maybe-name-value! 269}#
-                                  #{f-name 1147}#
-                                  #{proc 1151}#)
-                                (for-each
-                                  #{maybe-name-value! 269}#
-                                  #{ids 1149}#
-                                  #{val-exps 1135}#)
-                                (#{make-letrec 242}#
-                                  #{src 1132}#
-                                  #f
-                                  (list #{f-name 1147}#)
-                                  (list #{f 1146}#)
-                                  (list #{proc 1151}#)
-                                  (#{build-call 273}#
-                                    #{src 1132}#
-                                    (#{build-lexical-reference 279}#
-                                      'fun
-                                      #{src 1132}#
-                                      #{f-name 1147}#
-                                      #{f 1146}#)
-                                    #{val-exps 1135}#))))))
-                        (cons #{f 3429}# #{id 3430}#)
-                        #{val 3431}#
-                        (cons #{e1 3432}# #{e2 3433}#)))
-                    #{tmp 3410}#)
+                    (lambda (#{f 7998}#
+                             #{id 7999}#
+                             #{val 8000}#
+                             #{e1 8001}#
+                             #{e2 8002}#)
+                      (#{chi-let 7900}#
+                        #{e 7901}#
+                        #{r 7902}#
+                        #{w 7903}#
+                        #{s 7904}#
+                        #{mod 7905}#
+                        #{build-named-let 4326}#
+                        (cons #{f 7998}# #{id 7999}#)
+                        #{val 8000}#
+                        (cons #{e1 8001}# #{e2 8002}#)))
+                    #{tmp 7948}#)
                   (syntax-violation
                     'let
                     "bad let"
-                    (let ((#{x 6585}#
+                    (let ((#{x 8015}#
                             (begin
-                              (if (if (pair? #{e 3378}#) #{s 3381}# #f)
-                                (set-source-properties! #{e 3378}# #{s 3381}#))
-                              #{e 3378}#)))
-                      (if (if (null? (car #{w 3380}#))
-                            (null? (cdr #{w 3380}#))
+                              (if (if (pair? #{e 7901}#) #{s 7904}# #f)
+                                (set-source-properties! #{e 7901}# #{s 7904}#))
+                              #{e 7901}#)))
+                      (if (if (null? (car #{w 7903}#))
+                            (null? (cdr #{w 7903}#))
                             #f)
-                        #{x 6585}#
-                        (if (if (vector? #{x 6585}#)
-                              (if (= (vector-length #{x 6585}#) 4)
-                                (eq? (vector-ref #{x 6585}# 0) 'syntax-object)
+                        #{x 8015}#
+                        (if (if (vector? #{x 8015}#)
+                              (if (= (vector-length #{x 8015}#) 4)
+                                (eq? (vector-ref #{x 8015}# 0) 'syntax-object)
                                 #f)
                               #f)
-                          (let ((#{expression 6597}# (vector-ref #{x 6585}# 1))
-                                (#{wrap 6598}#
-                                  (let ((#{w2 6606}#
-                                          (vector-ref #{x 6585}# 2)))
-                                    (let ((#{m1 6607}# (car #{w 3380}#))
-                                          (#{s1 6608}# (cdr #{w 3380}#)))
-                                      (if (null? #{m1 6607}#)
-                                        (if (null? #{s1 6608}#)
-                                          #{w2 6606}#
-                                          (cons (car #{w2 6606}#)
-                                                (let ((#{m2 6615}#
-                                                        (cdr #{w2 6606}#)))
-                                                  (if (null? #{m2 6615}#)
-                                                    #{s1 6608}#
+                          (let ((#{expression 8047}# (vector-ref #{x 8015}# 1))
+                                (#{wrap 8048}#
+                                  (let ((#{w2 8056}#
+                                          (vector-ref #{x 8015}# 2)))
+                                    (let ((#{m1 8057}# (car #{w 7903}#))
+                                          (#{s1 8058}# (cdr #{w 7903}#)))
+                                      (if (null? #{m1 8057}#)
+                                        (if (null? #{s1 8058}#)
+                                          #{w2 8056}#
+                                          (cons (car #{w2 8056}#)
+                                                (let ((#{m2 8073}#
+                                                        (cdr #{w2 8056}#)))
+                                                  (if (null? #{m2 8073}#)
+                                                    #{s1 8058}#
                                                     (append
-                                                      #{s1 6608}#
-                                                      #{m2 6615}#)))))
-                                        (cons (let ((#{m2 6619}#
-                                                      (car #{w2 6606}#)))
-                                                (if (null? #{m2 6619}#)
-                                                  #{m1 6607}#
+                                                      #{s1 8058}#
+                                                      #{m2 8073}#)))))
+                                        (cons (let ((#{m2 8081}#
+                                                      (car #{w2 8056}#)))
+                                                (if (null? #{m2 8081}#)
+                                                  #{m1 8057}#
                                                   (append
-                                                    #{m1 6607}#
-                                                    #{m2 6619}#)))
-                                              (let ((#{m2 6623}#
-                                                      (cdr #{w2 6606}#)))
-                                                (if (null? #{m2 6623}#)
-                                                  #{s1 6608}#
+                                                    #{m1 8057}#
+                                                    #{m2 8081}#)))
+                                              (let ((#{m2 8089}#
+                                                      (cdr #{w2 8056}#)))
+                                                (if (null? #{m2 8089}#)
+                                                  #{s1 8058}#
                                                   (append
-                                                    #{s1 6608}#
-                                                    #{m2 6623}#))))))))
-                                (#{module 6599}# (vector-ref #{x 6585}# 3)))
+                                                    #{s1 8058}#
+                                                    #{m2 8089}#))))))))
+                                (#{module 8049}# (vector-ref #{x 8015}# 3)))
                             (vector
                               'syntax-object
-                              #{expression 6597}#
-                              #{wrap 6598}#
-                              #{module 6599}#))
-                          (if (null? #{x 6585}#)
-                            #{x 6585}#
+                              #{expression 8047}#
+                              #{wrap 8048}#
+                              #{module 8049}#))
+                          (if (null? #{x 8015}#)
+                            #{x 8015}#
                             (vector
                               'syntax-object
-                              #{x 6585}#
-                              #{w 3380}#
-                              #{mod 3382}#)))))))))))))
-    (#{global-extend 349}#
+                              #{x 8015}#
+                              #{w 7903}#
+                              #{mod 7905}#)))))))))))))
+    (#{global-extend 4341}#
       'core
       'letrec
-      (lambda (#{e 3439}#
-               #{r 3440}#
-               #{w 3441}#
-               #{s 3442}#
-               #{mod 3443}#)
-        (let ((#{tmp 3450}#
+      (lambda (#{e 8694}#
+               #{r 8695}#
+               #{w 8696}#
+               #{s 8697}#
+               #{mod 8698}#)
+        (let ((#{tmp 8700}#
                 ($sc-dispatch
-                  #{e 3439}#
+                  #{e 8694}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 3450}#
+          (if (if #{tmp 8700}#
                 (@apply
-                  (lambda (#{id 3455}#
-                           #{val 3456}#
-                           #{e1 3457}#
-                           #{e2 3458}#)
-                    (and-map #{id? 353}# #{id 3455}#))
-                  #{tmp 3450}#)
+                  (lambda (#{id 8704}#
+                           #{val 8705}#
+                           #{e1 8706}#
+                           #{e2 8707}#)
+                    (and-map #{id? 4343}# #{id 8704}#))
+                  #{tmp 8700}#)
                 #f)
             (@apply
-              (lambda (#{id 3464}#
-                       #{val 3465}#
-                       #{e1 3466}#
-                       #{e2 3467}#)
-                (if (not (#{valid-bound-ids? 421}# #{id 3464}#))
+              (lambda (#{id 8723}#
+                       #{val 8724}#
+                       #{e1 8725}#
+                       #{e2 8726}#)
+                (if (not (#{valid-bound-ids? 4365}# #{id 8723}#))
                   (syntax-violation
                     'letrec
                     "duplicate bound variable"
-                    #{e 3439}#)
-                  (let ((#{labels 3473}#
-                          (#{gen-labels 373}# #{id 3464}#))
-                        (#{new-vars 3474}#
-                          (map #{gen-var 469}# #{id 3464}#)))
-                    (let ((#{w 3477}#
-                            (#{make-binding-wrap 405}#
-                              #{id 3464}#
-                              #{labels 3473}#
-                              #{w 3441}#))
-                          (#{r 3478}#
-                            (#{extend-var-env 343}#
-                              #{labels 3473}#
-                              #{new-vars 3474}#
-                              #{r 3440}#)))
-                      (#{build-letrec 309}#
-                        #{s 3442}#
+                    #{e 8694}#)
+                  (let ((#{labels 8821}#
+                          (#{gen-labels 4346}# #{id 8723}#))
+                        (#{new-vars 8822}#
+                          (map #{gen-var 4389}# #{id 8723}#)))
+                    (let ((#{w 8823}#
+                            (#{make-binding-wrap 4357}#
+                              #{id 8723}#
+                              #{labels 8821}#
+                              #{w 8696}#))
+                          (#{r 8824}#
+                            (#{extend-var-env 4338}#
+                              #{labels 8821}#
+                              #{new-vars 8822}#
+                              #{r 8695}#)))
+                      (#{build-letrec 4327}#
+                        #{s 8697}#
                         #f
-                        (map syntax->datum #{id 3464}#)
-                        #{new-vars 3474}#
-                        (map (lambda (#{x 3479}#)
-                               (#{chi 441}#
-                                 #{x 3479}#
-                                 #{r 3478}#
-                                 #{w 3477}#
-                                 #{mod 3443}#))
-                             #{val 3465}#)
-                        (#{chi-body 449}#
-                          (cons #{e1 3466}# #{e2 3467}#)
-                          (let ((#{x 7107}#
+                        (map syntax->datum #{id 8723}#)
+                        #{new-vars 8822}#
+                        (map (lambda (#{x 8903}#)
+                               (#{chi 4375}#
+                                 #{x 8903}#
+                                 #{r 8824}#
+                                 #{w 8823}#
+                                 #{mod 8698}#))
+                             #{val 8724}#)
+                        (#{chi-body 4379}#
+                          (cons #{e1 8725}# #{e2 8726}#)
+                          (let ((#{x 8965}#
                                   (begin
-                                    (if (if (pair? #{e 3439}#) #{s 3442}# #f)
+                                    (if (if (pair? #{e 8694}#) #{s 8697}# #f)
                                       (set-source-properties!
-                                        #{e 3439}#
-                                        #{s 3442}#))
-                                    #{e 3439}#)))
-                            (if (if (null? (car #{w 3477}#))
-                                  (null? (cdr #{w 3477}#))
+                                        #{e 8694}#
+                                        #{s 8697}#))
+                                    #{e 8694}#)))
+                            (if (if (null? (car #{w 8823}#))
+                                  (null? (cdr #{w 8823}#))
                                   #f)
-                              #{x 7107}#
-                              (if (if (vector? #{x 7107}#)
-                                    (if (= (vector-length #{x 7107}#) 4)
-                                      (eq? (vector-ref #{x 7107}# 0)
+                              #{x 8965}#
+                              (if (if (vector? #{x 8965}#)
+                                    (if (= (vector-length #{x 8965}#) 4)
+                                      (eq? (vector-ref #{x 8965}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 7119}#
-                                        (vector-ref #{x 7107}# 1))
-                                      (#{wrap 7120}#
-                                        (let ((#{w2 7128}#
-                                                (vector-ref #{x 7107}# 2)))
-                                          (let ((#{m1 7129}# (car #{w 3477}#))
-                                                (#{s1 7130}# (cdr #{w 3477}#)))
-                                            (if (null? #{m1 7129}#)
-                                              (if (null? #{s1 7130}#)
-                                                #{w2 7128}#
-                                                (cons (car #{w2 7128}#)
-                                                      (let ((#{m2 7137}#
-                                                              (cdr #{w2 
7128}#)))
-                                                        (if (null? #{m2 7137}#)
-                                                          #{s1 7130}#
+                                (let ((#{expression 8997}#
+                                        (vector-ref #{x 8965}# 1))
+                                      (#{wrap 8998}#
+                                        (let ((#{w2 9006}#
+                                                (vector-ref #{x 8965}# 2)))
+                                          (let ((#{m1 9007}# (car #{w 8823}#))
+                                                (#{s1 9008}# (cdr #{w 8823}#)))
+                                            (if (null? #{m1 9007}#)
+                                              (if (null? #{s1 9008}#)
+                                                #{w2 9006}#
+                                                (cons (car #{w2 9006}#)
+                                                      (let ((#{m2 9023}#
+                                                              (cdr #{w2 
9006}#)))
+                                                        (if (null? #{m2 9023}#)
+                                                          #{s1 9008}#
                                                           (append
-                                                            #{s1 7130}#
-                                                            #{m2 7137}#)))))
-                                              (cons (let ((#{m2 7141}#
-                                                            (car #{w2 7128}#)))
-                                                      (if (null? #{m2 7141}#)
-                                                        #{m1 7129}#
+                                                            #{s1 9008}#
+                                                            #{m2 9023}#)))))
+                                              (cons (let ((#{m2 9031}#
+                                                            (car #{w2 9006}#)))
+                                                      (if (null? #{m2 9031}#)
+                                                        #{m1 9007}#
                                                         (append
-                                                          #{m1 7129}#
-                                                          #{m2 7141}#)))
-                                                    (let ((#{m2 7145}#
-                                                            (cdr #{w2 7128}#)))
-                                                      (if (null? #{m2 7145}#)
-                                                        #{s1 7130}#
+                                                          #{m1 9007}#
+                                                          #{m2 9031}#)))
+                                                    (let ((#{m2 9039}#
+                                                            (cdr #{w2 9006}#)))
+                                                      (if (null? #{m2 9039}#)
+                                                        #{s1 9008}#
                                                         (append
-                                                          #{s1 7130}#
-                                                          #{m2 7145}#))))))))
-                                      (#{module 7121}#
-                                        (vector-ref #{x 7107}# 3)))
+                                                          #{s1 9008}#
+                                                          #{m2 9039}#))))))))
+                                      (#{module 8999}#
+                                        (vector-ref #{x 8965}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 7119}#
-                                    #{wrap 7120}#
-                                    #{module 7121}#))
-                                (if (null? #{x 7107}#)
-                                  #{x 7107}#
+                                    #{expression 8997}#
+                                    #{wrap 8998}#
+                                    #{module 8999}#))
+                                (if (null? #{x 8965}#)
+                                  #{x 8965}#
                                   (vector
                                     'syntax-object
-                                    #{x 7107}#
-                                    #{w 3477}#
-                                    #{mod 3443}#)))))
-                          #{r 3478}#
-                          #{w 3477}#
-                          #{mod 3443}#))))))
-              #{tmp 3450}#)
+                                    #{x 8965}#
+                                    #{w 8823}#
+                                    #{mod 8698}#)))))
+                          #{r 8824}#
+                          #{w 8823}#
+                          #{mod 8698}#))))))
+              #{tmp 8700}#)
             (syntax-violation
               'letrec
               "bad letrec"
-              (let ((#{x 7162}#
+              (let ((#{x 9279}#
                       (begin
-                        (if (if (pair? #{e 3439}#) #{s 3442}# #f)
-                          (set-source-properties! #{e 3439}# #{s 3442}#))
-                        #{e 3439}#)))
-                (if (if (null? (car #{w 3441}#))
-                      (null? (cdr #{w 3441}#))
+                        (if (if (pair? #{e 8694}#) #{s 8697}# #f)
+                          (set-source-properties! #{e 8694}# #{s 8697}#))
+                        #{e 8694}#)))
+                (if (if (null? (car #{w 8696}#))
+                      (null? (cdr #{w 8696}#))
                       #f)
-                  #{x 7162}#
-                  (if (if (vector? #{x 7162}#)
-                        (if (= (vector-length #{x 7162}#) 4)
-                          (eq? (vector-ref #{x 7162}# 0) 'syntax-object)
+                  #{x 9279}#
+                  (if (if (vector? #{x 9279}#)
+                        (if (= (vector-length #{x 9279}#) 4)
+                          (eq? (vector-ref #{x 9279}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 7174}# (vector-ref #{x 7162}# 1))
-                          (#{wrap 7175}#
-                            (let ((#{w2 7183}# (vector-ref #{x 7162}# 2)))
-                              (let ((#{m1 7184}# (car #{w 3441}#))
-                                    (#{s1 7185}# (cdr #{w 3441}#)))
-                                (if (null? #{m1 7184}#)
-                                  (if (null? #{s1 7185}#)
-                                    #{w2 7183}#
-                                    (cons (car #{w2 7183}#)
-                                          (let ((#{m2 7192}#
-                                                  (cdr #{w2 7183}#)))
-                                            (if (null? #{m2 7192}#)
-                                              #{s1 7185}#
+                    (let ((#{expression 9311}# (vector-ref #{x 9279}# 1))
+                          (#{wrap 9312}#
+                            (let ((#{w2 9320}# (vector-ref #{x 9279}# 2)))
+                              (let ((#{m1 9321}# (car #{w 8696}#))
+                                    (#{s1 9322}# (cdr #{w 8696}#)))
+                                (if (null? #{m1 9321}#)
+                                  (if (null? #{s1 9322}#)
+                                    #{w2 9320}#
+                                    (cons (car #{w2 9320}#)
+                                          (let ((#{m2 9337}#
+                                                  (cdr #{w2 9320}#)))
+                                            (if (null? #{m2 9337}#)
+                                              #{s1 9322}#
                                               (append
-                                                #{s1 7185}#
-                                                #{m2 7192}#)))))
-                                  (cons (let ((#{m2 7196}# (car #{w2 7183}#)))
-                                          (if (null? #{m2 7196}#)
-                                            #{m1 7184}#
-                                            (append #{m1 7184}# #{m2 7196}#)))
-                                        (let ((#{m2 7200}# (cdr #{w2 7183}#)))
-                                          (if (null? #{m2 7200}#)
-                                            #{s1 7185}#
+                                                #{s1 9322}#
+                                                #{m2 9337}#)))))
+                                  (cons (let ((#{m2 9345}# (car #{w2 9320}#)))
+                                          (if (null? #{m2 9345}#)
+                                            #{m1 9321}#
+                                            (append #{m1 9321}# #{m2 9345}#)))
+                                        (let ((#{m2 9353}# (cdr #{w2 9320}#)))
+                                          (if (null? #{m2 9353}#)
+                                            #{s1 9322}#
                                             (append
-                                              #{s1 7185}#
-                                              #{m2 7200}#))))))))
-                          (#{module 7176}# (vector-ref #{x 7162}# 3)))
+                                              #{s1 9322}#
+                                              #{m2 9353}#))))))))
+                          (#{module 9313}# (vector-ref #{x 9279}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 7174}#
-                        #{wrap 7175}#
-                        #{module 7176}#))
-                    (if (null? #{x 7162}#)
-                      #{x 7162}#
+                        #{expression 9311}#
+                        #{wrap 9312}#
+                        #{module 9313}#))
+                    (if (null? #{x 9279}#)
+                      #{x 9279}#
                       (vector
                         'syntax-object
-                        #{x 7162}#
-                        #{w 3441}#
-                        #{mod 3443}#))))))))))
-    (#{global-extend 349}#
+                        #{x 9279}#
+                        #{w 8696}#
+                        #{mod 8698}#))))))))))
+    (#{global-extend 4341}#
       'core
       'letrec*
-      (lambda (#{e 3485}#
-               #{r 3486}#
-               #{w 3487}#
-               #{s 3488}#
-               #{mod 3489}#)
-        (let ((#{tmp 3496}#
+      (lambda (#{e 9502}#
+               #{r 9503}#
+               #{w 9504}#
+               #{s 9505}#
+               #{mod 9506}#)
+        (let ((#{tmp 9508}#
                 ($sc-dispatch
-                  #{e 3485}#
+                  #{e 9502}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 3496}#
+          (if (if #{tmp 9508}#
                 (@apply
-                  (lambda (#{id 3501}#
-                           #{val 3502}#
-                           #{e1 3503}#
-                           #{e2 3504}#)
-                    (and-map #{id? 353}# #{id 3501}#))
-                  #{tmp 3496}#)
+                  (lambda (#{id 9512}#
+                           #{val 9513}#
+                           #{e1 9514}#
+                           #{e2 9515}#)
+                    (and-map #{id? 4343}# #{id 9512}#))
+                  #{tmp 9508}#)
                 #f)
             (@apply
-              (lambda (#{id 3510}#
-                       #{val 3511}#
-                       #{e1 3512}#
-                       #{e2 3513}#)
-                (if (not (#{valid-bound-ids? 421}# #{id 3510}#))
+              (lambda (#{id 9531}#
+                       #{val 9532}#
+                       #{e1 9533}#
+                       #{e2 9534}#)
+                (if (not (#{valid-bound-ids? 4365}# #{id 9531}#))
                   (syntax-violation
                     'letrec*
                     "duplicate bound variable"
-                    #{e 3485}#)
-                  (let ((#{labels 3519}#
-                          (#{gen-labels 373}# #{id 3510}#))
-                        (#{new-vars 3520}#
-                          (map #{gen-var 469}# #{id 3510}#)))
-                    (let ((#{w 3523}#
-                            (#{make-binding-wrap 405}#
-                              #{id 3510}#
-                              #{labels 3519}#
-                              #{w 3487}#))
-                          (#{r 3524}#
-                            (#{extend-var-env 343}#
-                              #{labels 3519}#
-                              #{new-vars 3520}#
-                              #{r 3486}#)))
-                      (#{build-letrec 309}#
-                        #{s 3488}#
+                    #{e 9502}#)
+                  (let ((#{labels 9629}#
+                          (#{gen-labels 4346}# #{id 9531}#))
+                        (#{new-vars 9630}#
+                          (map #{gen-var 4389}# #{id 9531}#)))
+                    (let ((#{w 9631}#
+                            (#{make-binding-wrap 4357}#
+                              #{id 9531}#
+                              #{labels 9629}#
+                              #{w 9504}#))
+                          (#{r 9632}#
+                            (#{extend-var-env 4338}#
+                              #{labels 9629}#
+                              #{new-vars 9630}#
+                              #{r 9503}#)))
+                      (#{build-letrec 4327}#
+                        #{s 9505}#
                         #t
-                        (map syntax->datum #{id 3510}#)
-                        #{new-vars 3520}#
-                        (map (lambda (#{x 3525}#)
-                               (#{chi 441}#
-                                 #{x 3525}#
-                                 #{r 3524}#
-                                 #{w 3523}#
-                                 #{mod 3489}#))
-                             #{val 3511}#)
-                        (#{chi-body 449}#
-                          (cons #{e1 3512}# #{e2 3513}#)
-                          (let ((#{x 7684}#
+                        (map syntax->datum #{id 9531}#)
+                        #{new-vars 9630}#
+                        (map (lambda (#{x 9711}#)
+                               (#{chi 4375}#
+                                 #{x 9711}#
+                                 #{r 9632}#
+                                 #{w 9631}#
+                                 #{mod 9506}#))
+                             #{val 9532}#)
+                        (#{chi-body 4379}#
+                          (cons #{e1 9533}# #{e2 9534}#)
+                          (let ((#{x 9773}#
                                   (begin
-                                    (if (if (pair? #{e 3485}#) #{s 3488}# #f)
+                                    (if (if (pair? #{e 9502}#) #{s 9505}# #f)
                                       (set-source-properties!
-                                        #{e 3485}#
-                                        #{s 3488}#))
-                                    #{e 3485}#)))
-                            (if (if (null? (car #{w 3523}#))
-                                  (null? (cdr #{w 3523}#))
+                                        #{e 9502}#
+                                        #{s 9505}#))
+                                    #{e 9502}#)))
+                            (if (if (null? (car #{w 9631}#))
+                                  (null? (cdr #{w 9631}#))
                                   #f)
-                              #{x 7684}#
-                              (if (if (vector? #{x 7684}#)
-                                    (if (= (vector-length #{x 7684}#) 4)
-                                      (eq? (vector-ref #{x 7684}# 0)
+                              #{x 9773}#
+                              (if (if (vector? #{x 9773}#)
+                                    (if (= (vector-length #{x 9773}#) 4)
+                                      (eq? (vector-ref #{x 9773}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 7696}#
-                                        (vector-ref #{x 7684}# 1))
-                                      (#{wrap 7697}#
-                                        (let ((#{w2 7705}#
-                                                (vector-ref #{x 7684}# 2)))
-                                          (let ((#{m1 7706}# (car #{w 3523}#))
-                                                (#{s1 7707}# (cdr #{w 3523}#)))
-                                            (if (null? #{m1 7706}#)
-                                              (if (null? #{s1 7707}#)
-                                                #{w2 7705}#
-                                                (cons (car #{w2 7705}#)
-                                                      (let ((#{m2 7714}#
-                                                              (cdr #{w2 
7705}#)))
-                                                        (if (null? #{m2 7714}#)
-                                                          #{s1 7707}#
+                                (let ((#{expression 9805}#
+                                        (vector-ref #{x 9773}# 1))
+                                      (#{wrap 9806}#
+                                        (let ((#{w2 9814}#
+                                                (vector-ref #{x 9773}# 2)))
+                                          (let ((#{m1 9815}# (car #{w 9631}#))
+                                                (#{s1 9816}# (cdr #{w 9631}#)))
+                                            (if (null? #{m1 9815}#)
+                                              (if (null? #{s1 9816}#)
+                                                #{w2 9814}#
+                                                (cons (car #{w2 9814}#)
+                                                      (let ((#{m2 9831}#
+                                                              (cdr #{w2 
9814}#)))
+                                                        (if (null? #{m2 9831}#)
+                                                          #{s1 9816}#
                                                           (append
-                                                            #{s1 7707}#
-                                                            #{m2 7714}#)))))
-                                              (cons (let ((#{m2 7718}#
-                                                            (car #{w2 7705}#)))
-                                                      (if (null? #{m2 7718}#)
-                                                        #{m1 7706}#
+                                                            #{s1 9816}#
+                                                            #{m2 9831}#)))))
+                                              (cons (let ((#{m2 9839}#
+                                                            (car #{w2 9814}#)))
+                                                      (if (null? #{m2 9839}#)
+                                                        #{m1 9815}#
                                                         (append
-                                                          #{m1 7706}#
-                                                          #{m2 7718}#)))
-                                                    (let ((#{m2 7722}#
-                                                            (cdr #{w2 7705}#)))
-                                                      (if (null? #{m2 7722}#)
-                                                        #{s1 7707}#
+                                                          #{m1 9815}#
+                                                          #{m2 9839}#)))
+                                                    (let ((#{m2 9847}#
+                                                            (cdr #{w2 9814}#)))
+                                                      (if (null? #{m2 9847}#)
+                                                        #{s1 9816}#
                                                         (append
-                                                          #{s1 7707}#
-                                                          #{m2 7722}#))))))))
-                                      (#{module 7698}#
-                                        (vector-ref #{x 7684}# 3)))
+                                                          #{s1 9816}#
+                                                          #{m2 9847}#))))))))
+                                      (#{module 9807}#
+                                        (vector-ref #{x 9773}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 7696}#
-                                    #{wrap 7697}#
-                                    #{module 7698}#))
-                                (if (null? #{x 7684}#)
-                                  #{x 7684}#
+                                    #{expression 9805}#
+                                    #{wrap 9806}#
+                                    #{module 9807}#))
+                                (if (null? #{x 9773}#)
+                                  #{x 9773}#
                                   (vector
                                     'syntax-object
-                                    #{x 7684}#
-                                    #{w 3523}#
-                                    #{mod 3489}#)))))
-                          #{r 3524}#
-                          #{w 3523}#
-                          #{mod 3489}#))))))
-              #{tmp 3496}#)
+                                    #{x 9773}#
+                                    #{w 9631}#
+                                    #{mod 9506}#)))))
+                          #{r 9632}#
+                          #{w 9631}#
+                          #{mod 9506}#))))))
+              #{tmp 9508}#)
             (syntax-violation
               'letrec*
               "bad letrec*"
-              (let ((#{x 7739}#
+              (let ((#{x 10087}#
                       (begin
-                        (if (if (pair? #{e 3485}#) #{s 3488}# #f)
-                          (set-source-properties! #{e 3485}# #{s 3488}#))
-                        #{e 3485}#)))
-                (if (if (null? (car #{w 3487}#))
-                      (null? (cdr #{w 3487}#))
+                        (if (if (pair? #{e 9502}#) #{s 9505}# #f)
+                          (set-source-properties! #{e 9502}# #{s 9505}#))
+                        #{e 9502}#)))
+                (if (if (null? (car #{w 9504}#))
+                      (null? (cdr #{w 9504}#))
                       #f)
-                  #{x 7739}#
-                  (if (if (vector? #{x 7739}#)
-                        (if (= (vector-length #{x 7739}#) 4)
-                          (eq? (vector-ref #{x 7739}# 0) 'syntax-object)
+                  #{x 10087}#
+                  (if (if (vector? #{x 10087}#)
+                        (if (= (vector-length #{x 10087}#) 4)
+                          (eq? (vector-ref #{x 10087}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 7751}# (vector-ref #{x 7739}# 1))
-                          (#{wrap 7752}#
-                            (let ((#{w2 7760}# (vector-ref #{x 7739}# 2)))
-                              (let ((#{m1 7761}# (car #{w 3487}#))
-                                    (#{s1 7762}# (cdr #{w 3487}#)))
-                                (if (null? #{m1 7761}#)
-                                  (if (null? #{s1 7762}#)
-                                    #{w2 7760}#
-                                    (cons (car #{w2 7760}#)
-                                          (let ((#{m2 7769}#
-                                                  (cdr #{w2 7760}#)))
-                                            (if (null? #{m2 7769}#)
-                                              #{s1 7762}#
+                    (let ((#{expression 10119}# (vector-ref #{x 10087}# 1))
+                          (#{wrap 10120}#
+                            (let ((#{w2 10128}# (vector-ref #{x 10087}# 2)))
+                              (let ((#{m1 10129}# (car #{w 9504}#))
+                                    (#{s1 10130}# (cdr #{w 9504}#)))
+                                (if (null? #{m1 10129}#)
+                                  (if (null? #{s1 10130}#)
+                                    #{w2 10128}#
+                                    (cons (car #{w2 10128}#)
+                                          (let ((#{m2 10145}#
+                                                  (cdr #{w2 10128}#)))
+                                            (if (null? #{m2 10145}#)
+                                              #{s1 10130}#
                                               (append
-                                                #{s1 7762}#
-                                                #{m2 7769}#)))))
-                                  (cons (let ((#{m2 7773}# (car #{w2 7760}#)))
-                                          (if (null? #{m2 7773}#)
-                                            #{m1 7761}#
-                                            (append #{m1 7761}# #{m2 7773}#)))
-                                        (let ((#{m2 7777}# (cdr #{w2 7760}#)))
-                                          (if (null? #{m2 7777}#)
-                                            #{s1 7762}#
+                                                #{s1 10130}#
+                                                #{m2 10145}#)))))
+                                  (cons (let ((#{m2 10153}#
+                                                (car #{w2 10128}#)))
+                                          (if (null? #{m2 10153}#)
+                                            #{m1 10129}#
                                             (append
-                                              #{s1 7762}#
-                                              #{m2 7777}#))))))))
-                          (#{module 7753}# (vector-ref #{x 7739}# 3)))
+                                              #{m1 10129}#
+                                              #{m2 10153}#)))
+                                        (let ((#{m2 10161}#
+                                                (cdr #{w2 10128}#)))
+                                          (if (null? #{m2 10161}#)
+                                            #{s1 10130}#
+                                            (append
+                                              #{s1 10130}#
+                                              #{m2 10161}#))))))))
+                          (#{module 10121}# (vector-ref #{x 10087}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 7751}#
-                        #{wrap 7752}#
-                        #{module 7753}#))
-                    (if (null? #{x 7739}#)
-                      #{x 7739}#
+                        #{expression 10119}#
+                        #{wrap 10120}#
+                        #{module 10121}#))
+                    (if (null? #{x 10087}#)
+                      #{x 10087}#
                       (vector
                         'syntax-object
-                        #{x 7739}#
-                        #{w 3487}#
-                        #{mod 3489}#))))))))))
-    (#{global-extend 349}#
+                        #{x 10087}#
+                        #{w 9504}#
+                        #{mod 9506}#))))))))))
+    (#{global-extend 4341}#
       'core
       'set!
-      (lambda (#{e 3531}#
-               #{r 3532}#
-               #{w 3533}#
-               #{s 3534}#
-               #{mod 3535}#)
-        (let ((#{tmp 3542}#
-                ($sc-dispatch #{e 3531}# '(_ any any))))
-          (if (if #{tmp 3542}#
+      (lambda (#{e 10378}#
+               #{r 10379}#
+               #{w 10380}#
+               #{s 10381}#
+               #{mod 10382}#)
+        (let ((#{tmp 10384}#
+                ($sc-dispatch #{e 10378}# '(_ any any))))
+          (if (if #{tmp 10384}#
                 (@apply
-                  (lambda (#{id 3545}# #{val 3546}#)
-                    (if (symbol? #{id 3545}#)
+                  (lambda (#{id 10388}# #{val 10389}#)
+                    (if (symbol? #{id 10388}#)
                       #t
-                      (if (if (vector? #{id 3545}#)
-                            (if (= (vector-length #{id 3545}#) 4)
-                              (eq? (vector-ref #{id 3545}# 0) 'syntax-object)
+                      (if (if (vector? #{id 10388}#)
+                            (if (= (vector-length #{id 10388}#) 4)
+                              (eq? (vector-ref #{id 10388}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (symbol? (vector-ref #{id 3545}# 1))
+                        (symbol? (vector-ref #{id 10388}# 1))
                         #f)))
-                  #{tmp 3542}#)
+                  #{tmp 10384}#)
                 #f)
             (@apply
-              (lambda (#{id 3549}# #{val 3550}#)
-                (let ((#{n 3553}#
-                        (#{id-var-name 415}# #{id 3549}# #{w 3533}#))
-                      (#{id-mod 3554}#
-                        (if (if (vector? #{id 3549}#)
-                              (if (= (vector-length #{id 3549}#) 4)
-                                (eq? (vector-ref #{id 3549}# 0) 'syntax-object)
+              (lambda (#{id 10416}# #{val 10417}#)
+                (let ((#{n 10418}#
+                        (#{id-var-name 4362}# #{id 10416}# #{w 10380}#))
+                      (#{id-mod 10419}#
+                        (if (if (vector? #{id 10416}#)
+                              (if (= (vector-length #{id 10416}#) 4)
+                                (eq? (vector-ref #{id 10416}# 0)
+                                     'syntax-object)
                                 #f)
                               #f)
-                          (vector-ref #{id 3549}# 3)
-                          #{mod 3535}#)))
-                  (let ((#{b 3556}#
-                          (let ((#{t 7891}# (assq #{n 3553}# #{r 3532}#)))
-                            (if #{t 7891}#
-                              (cdr #{t 7891}#)
-                              (if (symbol? #{n 3553}#)
-                                (let ((#{t 7892}#
-                                        (#{get-global-definition-hook 265}#
-                                          #{n 3553}#
-                                          #{id-mod 3554}#)))
-                                  (if #{t 7892}# #{t 7892}# '(global)))
+                          (vector-ref #{id 10416}# 3)
+                          #{mod 10382}#)))
+                  (let ((#{b 10420}#
+                          (let ((#{t 11129}# (assq #{n 10418}# #{r 10379}#)))
+                            (if #{t 11129}#
+                              (cdr #{t 11129}#)
+                              (if (symbol? #{n 10418}#)
+                                (let ((#{t 11134}#
+                                        (begin
+                                          (if (if (not #{id-mod 10419}#)
+                                                (current-module)
+                                                #f)
+                                            (warn "module system is booted, we 
should have a module"
+                                                  #{n 10418}#))
+                                          (let ((#{v 11171}#
+                                                  (module-variable
+                                                    (if #{id-mod 10419}#
+                                                      (resolve-module
+                                                        (cdr #{id-mod 10419}#))
+                                                      (current-module))
+                                                    #{n 10418}#)))
+                                            (if #{v 11171}#
+                                              (if (variable-bound? #{v 11171}#)
+                                                (let ((#{val 11180}#
+                                                        (variable-ref
+                                                          #{v 11171}#)))
+                                                  (if (macro? #{val 11180}#)
+                                                    (if (macro-type
+                                                          #{val 11180}#)
+                                                      (cons (macro-type
+                                                              #{val 11180}#)
+                                                            (macro-binding
+                                                              #{val 11180}#))
+                                                      #f)
+                                                    #f))
+                                                #f)
+                                              #f)))))
+                                  (if #{t 11134}# #{t 11134}# '(global)))
                                 '(displaced-lexical))))))
-                    (let ((#{atom-key 3559}# (car #{b 3556}#)))
-                      (if (memv #{atom-key 3559}# '(lexical))
-                        ((lambda (#{source 1005}#
-                                  #{name 1006}#
-                                  #{var 1007}#
-                                  #{exp 1008}#)
-                           (begin
-                             (#{maybe-name-value! 269}#
-                               #{name 1006}#
-                               #{exp 1008}#)
-                             (#{make-lexical-set 216}#
-                               #{source 1005}#
-                               #{name 1006}#
-                               #{var 1007}#
-                               #{exp 1008}#)))
-                         #{s 3534}#
-                         (syntax->datum #{id 3549}#)
-                         (cdr #{b 3556}#)
-                         (#{chi 441}#
-                           #{val 3550}#
-                           #{r 3532}#
-                           #{w 3533}#
-                           #{mod 3535}#))
-                        (if (memv #{atom-key 3559}# '(global))
-                          (#{build-global-assignment 287}#
-                            #{s 3534}#
-                            #{n 3553}#
-                            (#{chi 441}#
-                              #{val 3550}#
-                              #{r 3532}#
-                              #{w 3533}#
-                              #{mod 3535}#)
-                            #{id-mod 3554}#)
-                          (if (memv #{atom-key 3559}# '(macro))
-                            (let ((#{p 3566}# (cdr #{b 3556}#)))
+                    (let ((#{atom-key 10421}# (car #{b 10420}#)))
+                      (if (let ((#{t 10460}# #{atom-key 10421}#))
+                            (eqv? #{t 10460}# 'lexical))
+                        (#{build-lexical-assignment 4313}#
+                          #{s 10381}#
+                          (syntax->datum #{id 10416}#)
+                          (cdr #{b 10420}#)
+                          (#{chi 4375}#
+                            #{val 10417}#
+                            #{r 10379}#
+                            #{w 10380}#
+                            #{mod 10382}#))
+                        (if (let ((#{t 10755}# #{atom-key 10421}#))
+                              (eqv? #{t 10755}# 'global))
+                          (#{build-global-assignment 4316}#
+                            #{s 10381}#
+                            #{n 10418}#
+                            (#{chi 4375}#
+                              #{val 10417}#
+                              #{r 10379}#
+                              #{w 10380}#
+                              #{mod 10382}#)
+                            #{id-mod 10419}#)
+                          (if (let ((#{t 11020}# #{atom-key 10421}#))
+                                (eqv? #{t 11020}# 'macro))
+                            (let ((#{p 11083}# (cdr #{b 10420}#)))
                               (if (procedure-property
-                                    #{p 3566}#
+                                    #{p 11083}#
                                     'variable-transformer)
-                                (#{chi 441}#
-                                  (#{chi-macro 447}#
-                                    #{p 3566}#
-                                    #{e 3531}#
-                                    #{r 3532}#
-                                    #{w 3533}#
-                                    #{s 3534}#
+                                (#{chi 4375}#
+                                  (#{chi-macro 4378}#
+                                    #{p 11083}#
+                                    #{e 10378}#
+                                    #{r 10379}#
+                                    #{w 10380}#
+                                    #{s 10381}#
                                     #f
-                                    #{mod 3535}#)
-                                  #{r 3532}#
+                                    #{mod 10382}#)
+                                  #{r 10379}#
                                   '(())
-                                  #{mod 3535}#)
+                                  #{mod 10382}#)
                                 (syntax-violation
                                   'set!
                                   "not a variable transformer"
-                                  (if (if (null? (car #{w 3533}#))
-                                        (null? (cdr #{w 3533}#))
+                                  (if (if (null? (car #{w 10380}#))
+                                        (null? (cdr #{w 10380}#))
                                         #f)
-                                    #{e 3531}#
-                                    (if (if (vector? #{e 3531}#)
-                                          (if (= (vector-length #{e 3531}#) 4)
-                                            (eq? (vector-ref #{e 3531}# 0)
+                                    #{e 10378}#
+                                    (if (if (vector? #{e 10378}#)
+                                          (if (= (vector-length #{e 10378}#) 4)
+                                            (eq? (vector-ref #{e 10378}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (let ((#{expression 8165}#
-                                              (vector-ref #{e 3531}# 1))
-                                            (#{wrap 8166}#
-                                              (let ((#{w2 8174}#
+                                      (let ((#{expression 11283}#
+                                              (vector-ref #{e 10378}# 1))
+                                            (#{wrap 11284}#
+                                              (let ((#{w2 11294}#
                                                       (vector-ref
-                                                        #{e 3531}#
+                                                        #{e 10378}#
                                                         2)))
-                                                (let ((#{m1 8175}#
-                                                        (car #{w 3533}#))
-                                                      (#{s1 8176}#
-                                                        (cdr #{w 3533}#)))
-                                                  (if (null? #{m1 8175}#)
-                                                    (if (null? #{s1 8176}#)
-                                                      #{w2 8174}#
-                                                      (cons (car #{w2 8174}#)
-                                                            (let ((#{m2 8183}#
-                                                                    (cdr #{w2 
8174}#)))
-                                                              (if (null? #{m2 
8183}#)
-                                                                #{s1 8176}#
+                                                (let ((#{m1 11295}#
+                                                        (car #{w 10380}#))
+                                                      (#{s1 11296}#
+                                                        (cdr #{w 10380}#)))
+                                                  (if (null? #{m1 11295}#)
+                                                    (if (null? #{s1 11296}#)
+                                                      #{w2 11294}#
+                                                      (cons (car #{w2 11294}#)
+                                                            (let ((#{m2 11313}#
+                                                                    (cdr #{w2 
11294}#)))
+                                                              (if (null? #{m2 
11313}#)
+                                                                #{s1 11296}#
                                                                 (append
-                                                                  #{s1 8176}#
-                                                                  #{m2 
8183}#)))))
-                                                    (cons (let ((#{m2 8187}#
-                                                                  (car #{w2 
8174}#)))
-                                                            (if (null? #{m2 
8187}#)
-                                                              #{m1 8175}#
+                                                                  #{s1 11296}#
+                                                                  #{m2 
11313}#)))))
+                                                    (cons (let ((#{m2 11321}#
+                                                                  (car #{w2 
11294}#)))
+                                                            (if (null? #{m2 
11321}#)
+                                                              #{m1 11295}#
                                                               (append
-                                                                #{m1 8175}#
-                                                                #{m2 8187}#)))
-                                                          (let ((#{m2 8191}#
-                                                                  (cdr #{w2 
8174}#)))
-                                                            (if (null? #{m2 
8191}#)
-                                                              #{s1 8176}#
+                                                                #{m1 11295}#
+                                                                #{m2 11321}#)))
+                                                          (let ((#{m2 11329}#
+                                                                  (cdr #{w2 
11294}#)))
+                                                            (if (null? #{m2 
11329}#)
+                                                              #{s1 11296}#
                                                               (append
-                                                                #{s1 8176}#
-                                                                #{m2 
8191}#))))))))
-                                            (#{module 8167}#
-                                              (vector-ref #{e 3531}# 3)))
+                                                                #{s1 11296}#
+                                                                #{m2 
11329}#))))))))
+                                            (#{module 11285}#
+                                              (vector-ref #{e 10378}# 3)))
                                         (vector
                                           'syntax-object
-                                          #{expression 8165}#
-                                          #{wrap 8166}#
-                                          #{module 8167}#))
-                                      (if (null? #{e 3531}#)
-                                        #{e 3531}#
+                                          #{expression 11283}#
+                                          #{wrap 11284}#
+                                          #{module 11285}#))
+                                      (if (null? #{e 10378}#)
+                                        #{e 10378}#
                                         (vector
                                           'syntax-object
-                                          #{e 3531}#
-                                          #{w 3533}#
-                                          #{mod 3535}#))))
-                                  (if (if (null? (car #{w 3533}#))
-                                        (null? (cdr #{w 3533}#))
+                                          #{e 10378}#
+                                          #{w 10380}#
+                                          #{mod 10382}#))))
+                                  (if (if (null? (car #{w 10380}#))
+                                        (null? (cdr #{w 10380}#))
                                         #f)
-                                    #{id 3549}#
-                                    (if (if (vector? #{id 3549}#)
-                                          (if (= (vector-length #{id 3549}#) 4)
-                                            (eq? (vector-ref #{id 3549}# 0)
+                                    #{id 10416}#
+                                    (if (if (vector? #{id 10416}#)
+                                          (if (= (vector-length #{id 10416}#)
+                                                 4)
+                                            (eq? (vector-ref #{id 10416}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (let ((#{expression 8210}#
-                                              (vector-ref #{id 3549}# 1))
-                                            (#{wrap 8211}#
-                                              (let ((#{w2 8219}#
+                                      (let ((#{expression 11381}#
+                                              (vector-ref #{id 10416}# 1))
+                                            (#{wrap 11382}#
+                                              (let ((#{w2 11392}#
                                                       (vector-ref
-                                                        #{id 3549}#
+                                                        #{id 10416}#
                                                         2)))
-                                                (let ((#{m1 8220}#
-                                                        (car #{w 3533}#))
-                                                      (#{s1 8221}#
-                                                        (cdr #{w 3533}#)))
-                                                  (if (null? #{m1 8220}#)
-                                                    (if (null? #{s1 8221}#)
-                                                      #{w2 8219}#
-                                                      (cons (car #{w2 8219}#)
-                                                            (let ((#{m2 8228}#
-                                                                    (cdr #{w2 
8219}#)))
-                                                              (if (null? #{m2 
8228}#)
-                                                                #{s1 8221}#
+                                                (let ((#{m1 11393}#
+                                                        (car #{w 10380}#))
+                                                      (#{s1 11394}#
+                                                        (cdr #{w 10380}#)))
+                                                  (if (null? #{m1 11393}#)
+                                                    (if (null? #{s1 11394}#)
+                                                      #{w2 11392}#
+                                                      (cons (car #{w2 11392}#)
+                                                            (let ((#{m2 11411}#
+                                                                    (cdr #{w2 
11392}#)))
+                                                              (if (null? #{m2 
11411}#)
+                                                                #{s1 11394}#
                                                                 (append
-                                                                  #{s1 8221}#
-                                                                  #{m2 
8228}#)))))
-                                                    (cons (let ((#{m2 8232}#
-                                                                  (car #{w2 
8219}#)))
-                                                            (if (null? #{m2 
8232}#)
-                                                              #{m1 8220}#
+                                                                  #{s1 11394}#
+                                                                  #{m2 
11411}#)))))
+                                                    (cons (let ((#{m2 11419}#
+                                                                  (car #{w2 
11392}#)))
+                                                            (if (null? #{m2 
11419}#)
+                                                              #{m1 11393}#
                                                               (append
-                                                                #{m1 8220}#
-                                                                #{m2 8232}#)))
-                                                          (let ((#{m2 8236}#
-                                                                  (cdr #{w2 
8219}#)))
-                                                            (if (null? #{m2 
8236}#)
-                                                              #{s1 8221}#
+                                                                #{m1 11393}#
+                                                                #{m2 11419}#)))
+                                                          (let ((#{m2 11427}#
+                                                                  (cdr #{w2 
11392}#)))
+                                                            (if (null? #{m2 
11427}#)
+                                                              #{s1 11394}#
                                                               (append
-                                                                #{s1 8221}#
-                                                                #{m2 
8236}#))))))))
-                                            (#{module 8212}#
-                                              (vector-ref #{id 3549}# 3)))
+                                                                #{s1 11394}#
+                                                                #{m2 
11427}#))))))))
+                                            (#{module 11383}#
+                                              (vector-ref #{id 10416}# 3)))
                                         (vector
                                           'syntax-object
-                                          #{expression 8210}#
-                                          #{wrap 8211}#
-                                          #{module 8212}#))
-                                      (if (null? #{id 3549}#)
-                                        #{id 3549}#
+                                          #{expression 11381}#
+                                          #{wrap 11382}#
+                                          #{module 11383}#))
+                                      (if (null? #{id 10416}#)
+                                        #{id 10416}#
                                         (vector
                                           'syntax-object
-                                          #{id 3549}#
-                                          #{w 3533}#
-                                          #{id-mod 3554}#)))))))
-                            (if (memv #{atom-key 3559}# '(displaced-lexical))
+                                          #{id 10416}#
+                                          #{w 10380}#
+                                          #{id-mod 10419}#)))))))
+                            (if (eqv? #{atom-key 10421}# 'displaced-lexical)
                               (syntax-violation
                                 'set!
                                 "identifier out of context"
-                                (if (if (null? (car #{w 3533}#))
-                                      (null? (cdr #{w 3533}#))
+                                (if (if (null? (car #{w 10380}#))
+                                      (null? (cdr #{w 10380}#))
                                       #f)
-                                  #{id 3549}#
-                                  (if (if (vector? #{id 3549}#)
-                                        (if (= (vector-length #{id 3549}#) 4)
-                                          (eq? (vector-ref #{id 3549}# 0)
+                                  #{id 10416}#
+                                  (if (if (vector? #{id 10416}#)
+                                        (if (= (vector-length #{id 10416}#) 4)
+                                          (eq? (vector-ref #{id 10416}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (let ((#{expression 8255}#
-                                            (vector-ref #{id 3549}# 1))
-                                          (#{wrap 8256}#
-                                            (let ((#{w2 8264}#
+                                    (let ((#{expression 11483}#
+                                            (vector-ref #{id 10416}# 1))
+                                          (#{wrap 11484}#
+                                            (let ((#{w2 11494}#
                                                     (vector-ref
-                                                      #{id 3549}#
+                                                      #{id 10416}#
                                                       2)))
-                                              (let ((#{m1 8265}#
-                                                      (car #{w 3533}#))
-                                                    (#{s1 8266}#
-                                                      (cdr #{w 3533}#)))
-                                                (if (null? #{m1 8265}#)
-                                                  (if (null? #{s1 8266}#)
-                                                    #{w2 8264}#
-                                                    (cons (car #{w2 8264}#)
-                                                          (let ((#{m2 8273}#
-                                                                  (cdr #{w2 
8264}#)))
-                                                            (if (null? #{m2 
8273}#)
-                                                              #{s1 8266}#
+                                              (let ((#{m1 11495}#
+                                                      (car #{w 10380}#))
+                                                    (#{s1 11496}#
+                                                      (cdr #{w 10380}#)))
+                                                (if (null? #{m1 11495}#)
+                                                  (if (null? #{s1 11496}#)
+                                                    #{w2 11494}#
+                                                    (cons (car #{w2 11494}#)
+                                                          (let ((#{m2 11513}#
+                                                                  (cdr #{w2 
11494}#)))
+                                                            (if (null? #{m2 
11513}#)
+                                                              #{s1 11496}#
                                                               (append
-                                                                #{s1 8266}#
-                                                                #{m2 
8273}#)))))
-                                                  (cons (let ((#{m2 8277}#
-                                                                (car #{w2 
8264}#)))
-                                                          (if (null? #{m2 
8277}#)
-                                                            #{m1 8265}#
+                                                                #{s1 11496}#
+                                                                #{m2 
11513}#)))))
+                                                  (cons (let ((#{m2 11521}#
+                                                                (car #{w2 
11494}#)))
+                                                          (if (null? #{m2 
11521}#)
+                                                            #{m1 11495}#
                                                             (append
-                                                              #{m1 8265}#
-                                                              #{m2 8277}#)))
-                                                        (let ((#{m2 8281}#
-                                                                (cdr #{w2 
8264}#)))
-                                                          (if (null? #{m2 
8281}#)
-                                                            #{s1 8266}#
+                                                              #{m1 11495}#
+                                                              #{m2 11521}#)))
+                                                        (let ((#{m2 11529}#
+                                                                (cdr #{w2 
11494}#)))
+                                                          (if (null? #{m2 
11529}#)
+                                                            #{s1 11496}#
                                                             (append
-                                                              #{s1 8266}#
-                                                              #{m2 
8281}#))))))))
-                                          (#{module 8257}#
-                                            (vector-ref #{id 3549}# 3)))
+                                                              #{s1 11496}#
+                                                              #{m2 
11529}#))))))))
+                                          (#{module 11485}#
+                                            (vector-ref #{id 10416}# 3)))
                                       (vector
                                         'syntax-object
-                                        #{expression 8255}#
-                                        #{wrap 8256}#
-                                        #{module 8257}#))
-                                    (if (null? #{id 3549}#)
-                                      #{id 3549}#
+                                        #{expression 11483}#
+                                        #{wrap 11484}#
+                                        #{module 11485}#))
+                                    (if (null? #{id 10416}#)
+                                      #{id 10416}#
                                       (vector
                                         'syntax-object
-                                        #{id 3549}#
-                                        #{w 3533}#
-                                        #{mod 3535}#)))))
+                                        #{id 10416}#
+                                        #{w 10380}#
+                                        #{mod 10382}#)))))
                               (syntax-violation
                                 'set!
                                 "bad set!"
-                                (let ((#{x 8298}#
+                                (let ((#{x 11561}#
                                         (begin
-                                          (if (if (pair? #{e 3531}#)
-                                                #{s 3534}#
+                                          (if (if (pair? #{e 10378}#)
+                                                #{s 10381}#
                                                 #f)
                                             (set-source-properties!
-                                              #{e 3531}#
-                                              #{s 3534}#))
-                                          #{e 3531}#)))
-                                  (if (if (null? (car #{w 3533}#))
-                                        (null? (cdr #{w 3533}#))
+                                              #{e 10378}#
+                                              #{s 10381}#))
+                                          #{e 10378}#)))
+                                  (if (if (null? (car #{w 10380}#))
+                                        (null? (cdr #{w 10380}#))
                                         #f)
-                                    #{x 8298}#
-                                    (if (if (vector? #{x 8298}#)
-                                          (if (= (vector-length #{x 8298}#) 4)
-                                            (eq? (vector-ref #{x 8298}# 0)
+                                    #{x 11561}#
+                                    (if (if (vector? #{x 11561}#)
+                                          (if (= (vector-length #{x 11561}#) 4)
+                                            (eq? (vector-ref #{x 11561}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (let ((#{expression 8310}#
-                                              (vector-ref #{x 8298}# 1))
-                                            (#{wrap 8311}#
-                                              (let ((#{w2 8319}#
+                                      (let ((#{expression 11593}#
+                                              (vector-ref #{x 11561}# 1))
+                                            (#{wrap 11594}#
+                                              (let ((#{w2 11602}#
                                                       (vector-ref
-                                                        #{x 8298}#
+                                                        #{x 11561}#
                                                         2)))
-                                                (let ((#{m1 8320}#
-                                                        (car #{w 3533}#))
-                                                      (#{s1 8321}#
-                                                        (cdr #{w 3533}#)))
-                                                  (if (null? #{m1 8320}#)
-                                                    (if (null? #{s1 8321}#)
-                                                      #{w2 8319}#
-                                                      (cons (car #{w2 8319}#)
-                                                            (let ((#{m2 8328}#
-                                                                    (cdr #{w2 
8319}#)))
-                                                              (if (null? #{m2 
8328}#)
-                                                                #{s1 8321}#
+                                                (let ((#{m1 11603}#
+                                                        (car #{w 10380}#))
+                                                      (#{s1 11604}#
+                                                        (cdr #{w 10380}#)))
+                                                  (if (null? #{m1 11603}#)
+                                                    (if (null? #{s1 11604}#)
+                                                      #{w2 11602}#
+                                                      (cons (car #{w2 11602}#)
+                                                            (let ((#{m2 11619}#
+                                                                    (cdr #{w2 
11602}#)))
+                                                              (if (null? #{m2 
11619}#)
+                                                                #{s1 11604}#
                                                                 (append
-                                                                  #{s1 8321}#
-                                                                  #{m2 
8328}#)))))
-                                                    (cons (let ((#{m2 8332}#
-                                                                  (car #{w2 
8319}#)))
-                                                            (if (null? #{m2 
8332}#)
-                                                              #{m1 8320}#
+                                                                  #{s1 11604}#
+                                                                  #{m2 
11619}#)))))
+                                                    (cons (let ((#{m2 11627}#
+                                                                  (car #{w2 
11602}#)))
+                                                            (if (null? #{m2 
11627}#)
+                                                              #{m1 11603}#
                                                               (append
-                                                                #{m1 8320}#
-                                                                #{m2 8332}#)))
-                                                          (let ((#{m2 8336}#
-                                                                  (cdr #{w2 
8319}#)))
-                                                            (if (null? #{m2 
8336}#)
-                                                              #{s1 8321}#
+                                                                #{m1 11603}#
+                                                                #{m2 11627}#)))
+                                                          (let ((#{m2 11635}#
+                                                                  (cdr #{w2 
11602}#)))
+                                                            (if (null? #{m2 
11635}#)
+                                                              #{s1 11604}#
                                                               (append
-                                                                #{s1 8321}#
-                                                                #{m2 
8336}#))))))))
-                                            (#{module 8312}#
-                                              (vector-ref #{x 8298}# 3)))
+                                                                #{s1 11604}#
+                                                                #{m2 
11635}#))))))))
+                                            (#{module 11595}#
+                                              (vector-ref #{x 11561}# 3)))
                                         (vector
                                           'syntax-object
-                                          #{expression 8310}#
-                                          #{wrap 8311}#
-                                          #{module 8312}#))
-                                      (if (null? #{x 8298}#)
-                                        #{x 8298}#
+                                          #{expression 11593}#
+                                          #{wrap 11594}#
+                                          #{module 11595}#))
+                                      (if (null? #{x 11561}#)
+                                        #{x 11561}#
                                         (vector
                                           'syntax-object
-                                          #{x 8298}#
-                                          #{w 3533}#
-                                          #{mod 3535}#))))))))))))))
-              #{tmp 3542}#)
-            (let ((#{tmp 3571}#
+                                          #{x 11561}#
+                                          #{w 10380}#
+                                          #{mod 10382}#))))))))))))))
+              #{tmp 10384}#)
+            (let ((#{tmp 11650}#
                     ($sc-dispatch
-                      #{e 3531}#
+                      #{e 10378}#
                       '(_ (any . each-any) any))))
-              (if #{tmp 3571}#
+              (if #{tmp 11650}#
                 (@apply
-                  (lambda (#{head 3575}# #{tail 3576}# #{val 3577}#)
+                  (lambda (#{head 11654}# #{tail 11655}# #{val 11656}#)
                     (call-with-values
                       (lambda ()
-                        (#{syntax-type 439}#
-                          #{head 3575}#
-                          #{r 3532}#
+                        (#{syntax-type 4374}#
+                          #{head 11654}#
+                          #{r 10379}#
                           '(())
                           #f
                           #f
-                          #{mod 3535}#
+                          #{mod 10382}#
                           #t))
-                      (lambda (#{type 3580}#
-                               #{value 3581}#
-                               #{ee 3582}#
-                               #{ww 3583}#
-                               #{ss 3584}#
-                               #{modmod 3585}#)
-                        (if (memv #{type 3580}# '(module-ref))
-                          (let ((#{val 3594}#
-                                  (#{chi 441}#
-                                    #{val 3577}#
-                                    #{r 3532}#
-                                    #{w 3533}#
-                                    #{mod 3535}#)))
+                      (lambda (#{type 11659}#
+                               #{value 11660}#
+                               #{ee 11661}#
+                               #{ww 11662}#
+                               #{ss 11663}#
+                               #{modmod 11664}#)
+                        (if (eqv? #{type 11659}# 'module-ref)
+                          (let ((#{val 11668}#
+                                  (#{chi 4375}#
+                                    #{val 11656}#
+                                    #{r 10379}#
+                                    #{w 10380}#
+                                    #{mod 10382}#)))
                             (call-with-values
                               (lambda ()
-                                (#{value 3581}#
-                                  (cons #{head 3575}# #{tail 3576}#)
-                                  #{r 3532}#
-                                  #{w 3533}#))
-                              (lambda (#{e 3596}#
-                                       #{r 3597}#
-                                       #{w 3598}#
-                                       #{s* 3599}#
-                                       #{mod 3600}#)
-                                (let ((#{tmp 3607}# (list #{e 3596}#)))
-                                  (if (if #{tmp 3607}#
-                                        (@apply
-                                          (lambda (#{e 3609}#)
-                                            (if (symbol? #{e 3609}#)
-                                              #t
-                                              (if (if (vector? #{e 3609}#)
-                                                    (if (= (vector-length
-                                                             #{e 3609}#)
-                                                           4)
-                                                      (eq? (vector-ref
-                                                             #{e 3609}#
-                                                             0)
-                                                           'syntax-object)
-                                                      #f)
+                                (#{value 11660}#
+                                  (cons #{head 11654}# #{tail 11655}#)
+                                  #{r 10379}#
+                                  #{w 10380}#))
+                              (lambda (#{e 11669}#
+                                       #{r 11670}#
+                                       #{w 11671}#
+                                       #{s* 11672}#
+                                       #{mod 11673}#)
+                                (let ((#{tmp 11675}# (list #{e 11669}#)))
+                                  (if (@apply
+                                        (lambda (#{e 11677}#)
+                                          (if (symbol? #{e 11677}#)
+                                            #t
+                                            (if (if (vector? #{e 11677}#)
+                                                  (if (= (vector-length
+                                                           #{e 11677}#)
+                                                         4)
+                                                    (eq? (vector-ref
+                                                           #{e 11677}#
+                                                           0)
+                                                         'syntax-object)
                                                     #f)
-                                                (symbol?
-                                                  (vector-ref #{e 3609}# 1))
-                                                #f)))
-                                          #{tmp 3607}#)
-                                        #f)
-                                    (@apply
-                                      (lambda (#{e 3611}#)
-                                        (let ((#{var 8407}#
-                                                (syntax->datum #{e 3611}#)))
-                                          (begin
-                                            (if (if (struct? #{val 3594}#)
-                                                  (eq? (struct-vtable
-                                                         #{val 3594}#)
-                                                       (vector-ref
-                                                         %expanded-vtables
-                                                         14))
                                                   #f)
-                                              (let ((#{meta 8418}#
-                                                      (struct-ref
-                                                        #{val 3594}#
-                                                        1)))
-                                                (if (not (assq 'name
-                                                               #{meta 8418}#))
-                                                  (let ((#{v 8428}#
-                                                          (cons (cons 'name
-                                                                      #{var 
8407}#)
-                                                                #{meta 
8418}#)))
-                                                    (struct-set!
-                                                      #{val 3594}#
-                                                      1
-                                                      #{v 8428}#)))))
-                                            (#{analyze-variable 283}#
-                                              #{mod 3600}#
-                                              #{var 8407}#
-                                              (lambda (#{mod 8410}#
-                                                       #{var 8411}#
-                                                       #{public? 8412}#)
-                                                (make-struct/no-tail
-                                                  (vector-ref
-                                                    %expanded-vtables
-                                                    6)
-                                                  #{s 3534}#
-                                                  #{mod 8410}#
-                                                  #{var 8411}#
-                                                  #{public? 8412}#
-                                                  #{val 3594}#))
-                                              (lambda (#{var 8413}#)
-                                                (make-struct/no-tail
-                                                  (vector-ref
-                                                    %expanded-vtables
-                                                    8)
-                                                  #{s 3534}#
-                                                  #{var 8413}#
-                                                  #{val 3594}#))))))
-                                      #{tmp 3607}#)
+                                              (symbol?
+                                                (vector-ref #{e 11677}# 1))
+                                              #f)))
+                                        #{tmp 11675}#)
+                                    (@apply
+                                      (lambda (#{e 11707}#)
+                                        (#{build-global-assignment 4316}#
+                                          #{s 10381}#
+                                          (syntax->datum #{e 11707}#)
+                                          #{val 11668}#
+                                          #{mod 11673}#))
+                                      #{tmp 11675}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{e 3596}#))))))
-                          (#{build-call 273}#
-                            #{s 3534}#
-                            (#{chi 441}#
+                                      #{e 11669}#))))))
+                          (#{build-call 4309}#
+                            #{s 10381}#
+                            (#{chi 4375}#
                               (list '#(syntax-object
                                        setter
                                        ((top)
@@ -8893,25 +11028,25 @@
                                             (top)
                                             (top)
                                             (top))
-                                          #("i3586"
-                                            "i3587"
+                                          #("i3587"
                                             "i3588"
                                             "i3589"
                                             "i3590"
-                                            "i3591"))
+                                            "i3591"
+                                            "i3592"))
                                         #(ribcage
                                           #(head tail val)
                                           #((top) (top) (top))
-                                          #("i3572" "i3573" "i3574"))
+                                          #("i3573" "i3574" "i3575"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(e r w s mod)
                                           #((top) (top) (top) (top) (top))
-                                          #("i3536"
-                                            "i3537"
+                                          #("i3537"
                                             "i3538"
                                             "i3539"
-                                            "i3540"))
+                                            "i3540"
+                                            "i3541"))
                                         #(ribcage
                                           (lambda-var-list
                                             gen-var
@@ -9189,257 +11324,258 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i470"
-                                           "i468"
-                                           "i466"
-                                           "i464"
-                                           "i462"
-                                           "i460"
-                                           "i458"
-                                           "i456"
-                                           "i454"
-                                           "i452"
-                                           "i450"
-                                           "i448"
-                                           "i446"
-                                           "i444"
-                                           "i442"
-                                           "i440"
-                                           "i438"
-                                           "i436"
-                                           "i434"
-                                           "i432"
-                                           "i430"
-                                           "i428"
-                                           "i426"
-                                           "i424"
-                                           "i422"
-                                           "i420"
-                                           "i418"
-                                           "i416"
-                                           "i414"
-                                           "i412"
-                                           "i410"
-                                           "i408"
-                                           "i406"
-                                           "i404"
+                                          ("i471"
+                                           "i469"
+                                           "i467"
+                                           "i465"
+                                           "i463"
+                                           "i461"
+                                           "i459"
+                                           "i457"
+                                           "i455"
+                                           "i453"
+                                           "i451"
+                                           "i449"
+                                           "i447"
+                                           "i445"
+                                           "i443"
+                                           "i441"
+                                           "i439"
+                                           "i437"
+                                           "i435"
+                                           "i433"
+                                           "i431"
+                                           "i429"
+                                           "i427"
+                                           "i425"
+                                           "i423"
+                                           "i421"
+                                           "i419"
+                                           "i417"
+                                           "i415"
+                                           "i413"
+                                           "i411"
+                                           "i409"
+                                           "i407"
+                                           "i405"
+                                           "i403"
                                            "i402"
-                                           "i401"
-                                           "i399"
+                                           "i400"
+                                           "i397"
                                            "i396"
                                            "i395"
-                                           "i394"
+                                           "i393"
                                            "i392"
-                                           "i391"
-                                           "i389"
-                                           "i387"
-                                           "i385"
-                                           "i383"
-                                           "i381"
-                                           "i379"
-                                           "i377"
-                                           "i375"
-                                           "i372"
+                                           "i390"
+                                           "i388"
+                                           "i386"
+                                           "i384"
+                                           "i382"
+                                           "i380"
+                                           "i378"
+                                           "i376"
+                                           "i373"
+                                           "i371"
                                            "i370"
-                                           "i369"
-                                           "i367"
-                                           "i365"
-                                           "i363"
+                                           "i368"
+                                           "i366"
+                                           "i364"
+                                           "i362"
                                            "i361"
                                            "i360"
                                            "i359"
-                                           "i358"
+                                           "i357"
                                            "i356"
-                                           "i355"
-                                           "i352"
-                                           "i350"
-                                           "i348"
-                                           "i346"
-                                           "i344"
-                                           "i342"
+                                           "i353"
+                                           "i351"
+                                           "i349"
+                                           "i347"
+                                           "i345"
+                                           "i343"
+                                           "i341"
                                            "i340"
                                            "i339"
-                                           "i338"
-                                           "i336"
+                                           "i337"
+                                           "i335"
                                            "i334"
-                                           "i333"
+                                           "i331"
                                            "i330"
-                                           "i329"
-                                           "i327"
-                                           "i325"
-                                           "i323"
-                                           "i321"
-                                           "i319"
-                                           "i317"
-                                           "i315"
-                                           "i313"
-                                           "i311"
-                                           "i308"
-                                           "i306"
-                                           "i304"
-                                           "i302"
-                                           "i300"
-                                           "i298"
-                                           "i296"
-                                           "i294"
-                                           "i292"
-                                           "i290"
-                                           "i288"
-                                           "i286"
-                                           "i284"
-                                           "i282"
-                                           "i280"
-                                           "i278"
-                                           "i276"
-                                           "i274"
-                                           "i272"
-                                           "i270"
-                                           "i268"
-                                           "i266"
-                                           "i264"
+                                           "i328"
+                                           "i326"
+                                           "i324"
+                                           "i322"
+                                           "i320"
+                                           "i318"
+                                           "i316"
+                                           "i314"
+                                           "i312"
+                                           "i309"
+                                           "i307"
+                                           "i305"
+                                           "i303"
+                                           "i301"
+                                           "i299"
+                                           "i297"
+                                           "i295"
+                                           "i293"
+                                           "i291"
+                                           "i289"
+                                           "i287"
+                                           "i285"
+                                           "i283"
+                                           "i281"
+                                           "i279"
+                                           "i277"
+                                           "i275"
+                                           "i273"
+                                           "i271"
+                                           "i269"
+                                           "i267"
+                                           "i265"
+                                           "i263"
                                            "i262"
-                                           "i261"
-                                           "i258"
+                                           "i259"
+                                           "i257"
                                            "i256"
                                            "i255"
                                            "i254"
                                            "i253"
-                                           "i252"
-                                           "i250"
-                                           "i248"
-                                           "i246"
-                                           "i243"
-                                           "i241"
-                                           "i239"
-                                           "i237"
-                                           "i235"
-                                           "i233"
-                                           "i231"
-                                           "i229"
-                                           "i227"
-                                           "i225"
-                                           "i223"
-                                           "i221"
-                                           "i219"
-                                           "i217"
-                                           "i215"
-                                           "i213"
-                                           "i211"
-                                           "i209"
-                                           "i207"))
+                                           "i251"
+                                           "i249"
+                                           "i247"
+                                           "i244"
+                                           "i242"
+                                           "i240"
+                                           "i238"
+                                           "i236"
+                                           "i234"
+                                           "i232"
+                                           "i230"
+                                           "i228"
+                                           "i226"
+                                           "i224"
+                                           "i222"
+                                           "i220"
+                                           "i218"
+                                           "i216"
+                                           "i214"
+                                           "i212"
+                                           "i210"
+                                           "i208"))
                                         #(ribcage
                                           (define-structure
                                             define-expansion-accessors
                                             define-expansion-constructors)
                                           ((top) (top) (top))
-                                          ("i45" "i44" "i43")))
+                                          ("i46" "i45" "i44")))
                                        (hygiene guile))
-                                    #{head 3575}#)
-                              #{r 3532}#
-                              #{w 3533}#
-                              #{mod 3535}#)
-                            (map (lambda (#{e 3613}#)
-                                   (#{chi 441}#
-                                     #{e 3613}#
-                                     #{r 3532}#
-                                     #{w 3533}#
-                                     #{mod 3535}#))
+                                    #{head 11654}#)
+                              #{r 10379}#
+                              #{w 10380}#
+                              #{mod 10382}#)
+                            (map (lambda (#{e 12028}#)
+                                   (#{chi 4375}#
+                                     #{e 12028}#
+                                     #{r 10379}#
+                                     #{w 10380}#
+                                     #{mod 10382}#))
                                  (append
-                                   #{tail 3576}#
-                                   (list #{val 3577}#))))))))
-                  #{tmp 3571}#)
+                                   #{tail 11655}#
+                                   (list #{val 11656}#))))))))
+                  #{tmp 11650}#)
                 (syntax-violation
                   'set!
                   "bad set!"
-                  (let ((#{x 8603}#
+                  (let ((#{x 12118}#
                           (begin
-                            (if (if (pair? #{e 3531}#) #{s 3534}# #f)
-                              (set-source-properties! #{e 3531}# #{s 3534}#))
-                            #{e 3531}#)))
-                    (if (if (null? (car #{w 3533}#))
-                          (null? (cdr #{w 3533}#))
+                            (if (if (pair? #{e 10378}#) #{s 10381}# #f)
+                              (set-source-properties! #{e 10378}# #{s 10381}#))
+                            #{e 10378}#)))
+                    (if (if (null? (car #{w 10380}#))
+                          (null? (cdr #{w 10380}#))
                           #f)
-                      #{x 8603}#
-                      (if (if (vector? #{x 8603}#)
-                            (if (= (vector-length #{x 8603}#) 4)
-                              (eq? (vector-ref #{x 8603}# 0) 'syntax-object)
+                      #{x 12118}#
+                      (if (if (vector? #{x 12118}#)
+                            (if (= (vector-length #{x 12118}#) 4)
+                              (eq? (vector-ref #{x 12118}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 8615}# (vector-ref #{x 8603}# 1))
-                              (#{wrap 8616}#
-                                (let ((#{w2 8624}# (vector-ref #{x 8603}# 2)))
-                                  (let ((#{m1 8625}# (car #{w 3533}#))
-                                        (#{s1 8626}# (cdr #{w 3533}#)))
-                                    (if (null? #{m1 8625}#)
-                                      (if (null? #{s1 8626}#)
-                                        #{w2 8624}#
-                                        (cons (car #{w2 8624}#)
-                                              (let ((#{m2 8633}#
-                                                      (cdr #{w2 8624}#)))
-                                                (if (null? #{m2 8633}#)
-                                                  #{s1 8626}#
+                        (let ((#{expression 12150}# (vector-ref #{x 12118}# 1))
+                              (#{wrap 12151}#
+                                (let ((#{w2 12159}#
+                                        (vector-ref #{x 12118}# 2)))
+                                  (let ((#{m1 12160}# (car #{w 10380}#))
+                                        (#{s1 12161}# (cdr #{w 10380}#)))
+                                    (if (null? #{m1 12160}#)
+                                      (if (null? #{s1 12161}#)
+                                        #{w2 12159}#
+                                        (cons (car #{w2 12159}#)
+                                              (let ((#{m2 12176}#
+                                                      (cdr #{w2 12159}#)))
+                                                (if (null? #{m2 12176}#)
+                                                  #{s1 12161}#
                                                   (append
-                                                    #{s1 8626}#
-                                                    #{m2 8633}#)))))
-                                      (cons (let ((#{m2 8637}#
-                                                    (car #{w2 8624}#)))
-                                              (if (null? #{m2 8637}#)
-                                                #{m1 8625}#
+                                                    #{s1 12161}#
+                                                    #{m2 12176}#)))))
+                                      (cons (let ((#{m2 12184}#
+                                                    (car #{w2 12159}#)))
+                                              (if (null? #{m2 12184}#)
+                                                #{m1 12160}#
                                                 (append
-                                                  #{m1 8625}#
-                                                  #{m2 8637}#)))
-                                            (let ((#{m2 8641}#
-                                                    (cdr #{w2 8624}#)))
-                                              (if (null? #{m2 8641}#)
-                                                #{s1 8626}#
+                                                  #{m1 12160}#
+                                                  #{m2 12184}#)))
+                                            (let ((#{m2 12192}#
+                                                    (cdr #{w2 12159}#)))
+                                              (if (null? #{m2 12192}#)
+                                                #{s1 12161}#
                                                 (append
-                                                  #{s1 8626}#
-                                                  #{m2 8641}#))))))))
-                              (#{module 8617}# (vector-ref #{x 8603}# 3)))
+                                                  #{s1 12161}#
+                                                  #{m2 12192}#))))))))
+                              (#{module 12152}# (vector-ref #{x 12118}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 8615}#
-                            #{wrap 8616}#
-                            #{module 8617}#))
-                        (if (null? #{x 8603}#)
-                          #{x 8603}#
+                            #{expression 12150}#
+                            #{wrap 12151}#
+                            #{module 12152}#))
+                        (if (null? #{x 12118}#)
+                          #{x 12118}#
                           (vector
                             'syntax-object
-                            #{x 8603}#
-                            #{w 3533}#
-                            #{mod 3535}#))))))))))))
+                            #{x 12118}#
+                            #{w 10380}#
+                            #{mod 10382}#))))))))))))
     (module-define!
       (current-module)
       '@
       (make-syntax-transformer
         '@
         'module-ref
-        (lambda (#{e 3618}# #{r 3619}# #{w 3620}#)
-          (let ((#{tmp 3625}#
-                  ($sc-dispatch #{e 3618}# '(_ each-any any))))
-            (if (if #{tmp 3625}#
+        (lambda (#{e 12223}# #{r 12224}# #{w 12225}#)
+          (let ((#{tmp 12227}#
+                  ($sc-dispatch #{e 12223}# '(_ each-any any))))
+            (if (if #{tmp 12227}#
                   (@apply
-                    (lambda (#{mod 3628}# #{id 3629}#)
-                      (if (and-map #{id? 353}# #{mod 3628}#)
-                        (if (symbol? #{id 3629}#)
+                    (lambda (#{mod 12230}# #{id 12231}#)
+                      (if (and-map #{id? 4343}# #{mod 12230}#)
+                        (if (symbol? #{id 12231}#)
                           #t
-                          (if (if (vector? #{id 3629}#)
-                                (if (= (vector-length #{id 3629}#) 4)
-                                  (eq? (vector-ref #{id 3629}# 0)
+                          (if (if (vector? #{id 12231}#)
+                                (if (= (vector-length #{id 12231}#) 4)
+                                  (eq? (vector-ref #{id 12231}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{id 3629}# 1))
+                            (symbol? (vector-ref #{id 12231}# 1))
                             #f))
                         #f))
-                    #{tmp 3625}#)
+                    #{tmp 12227}#)
                   #f)
               (@apply
-                (lambda (#{mod 3635}# #{id 3636}#)
+                (lambda (#{mod 12271}# #{id 12272}#)
                   (values
-                    (syntax->datum #{id 3636}#)
-                    #{r 3619}#
-                    #{w 3620}#
+                    (syntax->datum #{id 12272}#)
+                    #{r 12224}#
+                    #{w 12225}#
                     #f
                     (syntax->datum
                       (cons '#(syntax-object
@@ -9448,12 +11584,12 @@
                                 #(ribcage
                                   #(mod id)
                                   #((top) (top))
-                                  #("i3633" "i3634"))
+                                  #("i3634" "i3635"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(e r w)
                                   #((top) (top) (top))
-                                  #("i3621" "i3622" "i3623"))
+                                  #("i3622" "i3623" "i3624"))
                                 #(ribcage
                                   (lambda-var-list
                                     gen-var
@@ -9731,215 +11867,215 @@
                                    (top)
                                    (top)
                                    (top))
-                                  ("i470"
-                                   "i468"
-                                   "i466"
-                                   "i464"
-                                   "i462"
-                                   "i460"
-                                   "i458"
-                                   "i456"
-                                   "i454"
-                                   "i452"
-                                   "i450"
-                                   "i448"
-                                   "i446"
-                                   "i444"
-                                   "i442"
-                                   "i440"
-                                   "i438"
-                                   "i436"
-                                   "i434"
-                                   "i432"
-                                   "i430"
-                                   "i428"
-                                   "i426"
-                                   "i424"
-                                   "i422"
-                                   "i420"
-                                   "i418"
-                                   "i416"
-                                   "i414"
-                                   "i412"
-                                   "i410"
-                                   "i408"
-                                   "i406"
-                                   "i404"
+                                  ("i471"
+                                   "i469"
+                                   "i467"
+                                   "i465"
+                                   "i463"
+                                   "i461"
+                                   "i459"
+                                   "i457"
+                                   "i455"
+                                   "i453"
+                                   "i451"
+                                   "i449"
+                                   "i447"
+                                   "i445"
+                                   "i443"
+                                   "i441"
+                                   "i439"
+                                   "i437"
+                                   "i435"
+                                   "i433"
+                                   "i431"
+                                   "i429"
+                                   "i427"
+                                   "i425"
+                                   "i423"
+                                   "i421"
+                                   "i419"
+                                   "i417"
+                                   "i415"
+                                   "i413"
+                                   "i411"
+                                   "i409"
+                                   "i407"
+                                   "i405"
+                                   "i403"
                                    "i402"
-                                   "i401"
-                                   "i399"
+                                   "i400"
+                                   "i397"
                                    "i396"
                                    "i395"
-                                   "i394"
+                                   "i393"
                                    "i392"
-                                   "i391"
-                                   "i389"
-                                   "i387"
-                                   "i385"
-                                   "i383"
-                                   "i381"
-                                   "i379"
-                                   "i377"
-                                   "i375"
-                                   "i372"
+                                   "i390"
+                                   "i388"
+                                   "i386"
+                                   "i384"
+                                   "i382"
+                                   "i380"
+                                   "i378"
+                                   "i376"
+                                   "i373"
+                                   "i371"
                                    "i370"
-                                   "i369"
-                                   "i367"
-                                   "i365"
-                                   "i363"
+                                   "i368"
+                                   "i366"
+                                   "i364"
+                                   "i362"
                                    "i361"
                                    "i360"
                                    "i359"
-                                   "i358"
+                                   "i357"
                                    "i356"
-                                   "i355"
-                                   "i352"
-                                   "i350"
-                                   "i348"
-                                   "i346"
-                                   "i344"
-                                   "i342"
+                                   "i353"
+                                   "i351"
+                                   "i349"
+                                   "i347"
+                                   "i345"
+                                   "i343"
+                                   "i341"
                                    "i340"
                                    "i339"
-                                   "i338"
-                                   "i336"
+                                   "i337"
+                                   "i335"
                                    "i334"
-                                   "i333"
+                                   "i331"
                                    "i330"
-                                   "i329"
-                                   "i327"
-                                   "i325"
-                                   "i323"
-                                   "i321"
-                                   "i319"
-                                   "i317"
-                                   "i315"
-                                   "i313"
-                                   "i311"
-                                   "i308"
-                                   "i306"
-                                   "i304"
-                                   "i302"
-                                   "i300"
-                                   "i298"
-                                   "i296"
-                                   "i294"
-                                   "i292"
-                                   "i290"
-                                   "i288"
-                                   "i286"
-                                   "i284"
-                                   "i282"
-                                   "i280"
-                                   "i278"
-                                   "i276"
-                                   "i274"
-                                   "i272"
-                                   "i270"
-                                   "i268"
-                                   "i266"
-                                   "i264"
+                                   "i328"
+                                   "i326"
+                                   "i324"
+                                   "i322"
+                                   "i320"
+                                   "i318"
+                                   "i316"
+                                   "i314"
+                                   "i312"
+                                   "i309"
+                                   "i307"
+                                   "i305"
+                                   "i303"
+                                   "i301"
+                                   "i299"
+                                   "i297"
+                                   "i295"
+                                   "i293"
+                                   "i291"
+                                   "i289"
+                                   "i287"
+                                   "i285"
+                                   "i283"
+                                   "i281"
+                                   "i279"
+                                   "i277"
+                                   "i275"
+                                   "i273"
+                                   "i271"
+                                   "i269"
+                                   "i267"
+                                   "i265"
+                                   "i263"
                                    "i262"
-                                   "i261"
-                                   "i258"
+                                   "i259"
+                                   "i257"
                                    "i256"
                                    "i255"
                                    "i254"
                                    "i253"
-                                   "i252"
-                                   "i250"
-                                   "i248"
-                                   "i246"
-                                   "i243"
-                                   "i241"
-                                   "i239"
-                                   "i237"
-                                   "i235"
-                                   "i233"
-                                   "i231"
-                                   "i229"
-                                   "i227"
-                                   "i225"
-                                   "i223"
-                                   "i221"
-                                   "i219"
-                                   "i217"
-                                   "i215"
-                                   "i213"
-                                   "i211"
-                                   "i209"
-                                   "i207"))
+                                   "i251"
+                                   "i249"
+                                   "i247"
+                                   "i244"
+                                   "i242"
+                                   "i240"
+                                   "i238"
+                                   "i236"
+                                   "i234"
+                                   "i232"
+                                   "i230"
+                                   "i228"
+                                   "i226"
+                                   "i224"
+                                   "i222"
+                                   "i220"
+                                   "i218"
+                                   "i216"
+                                   "i214"
+                                   "i212"
+                                   "i210"
+                                   "i208"))
                                 #(ribcage
                                   (define-structure
                                     define-expansion-accessors
                                     define-expansion-constructors)
                                   ((top) (top) (top))
-                                  ("i45" "i44" "i43")))
+                                  ("i46" "i45" "i44")))
                                (hygiene guile))
-                            #{mod 3635}#))))
-                #{tmp 3625}#)
+                            #{mod 12271}#))))
+                #{tmp 12227}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{e 3618}#))))))
-    (#{global-extend 349}#
+                #{e 12223}#))))))
+    (#{global-extend 4341}#
       'module-ref
       '@@
-      (lambda (#{e 3638}# #{r 3639}# #{w 3640}#)
+      (lambda (#{e 12374}# #{r 12375}# #{w 12376}#)
         (letrec*
-          ((#{remodulate 3645}#
-             (lambda (#{x 3646}# #{mod 3647}#)
-               (if (pair? #{x 3646}#)
-                 (cons (#{remodulate 3645}#
-                         (car #{x 3646}#)
-                         #{mod 3647}#)
-                       (#{remodulate 3645}#
-                         (cdr #{x 3646}#)
-                         #{mod 3647}#))
-                 (if (if (vector? #{x 3646}#)
-                       (if (= (vector-length #{x 3646}#) 4)
-                         (eq? (vector-ref #{x 3646}# 0) 'syntax-object)
+          ((#{remodulate 12377}#
+             (lambda (#{x 12601}# #{mod 12602}#)
+               (if (pair? #{x 12601}#)
+                 (cons (#{remodulate 12377}#
+                         (car #{x 12601}#)
+                         #{mod 12602}#)
+                       (#{remodulate 12377}#
+                         (cdr #{x 12601}#)
+                         #{mod 12602}#))
+                 (if (if (vector? #{x 12601}#)
+                       (if (= (vector-length #{x 12601}#) 4)
+                         (eq? (vector-ref #{x 12601}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (let ((#{expression 8715}#
-                           (#{remodulate 3645}#
-                             (vector-ref #{x 3646}# 1)
-                             #{mod 3647}#))
-                         (#{wrap 8716}# (vector-ref #{x 3646}# 2)))
+                   (let ((#{expression 12616}#
+                           (#{remodulate 12377}#
+                             (vector-ref #{x 12601}# 1)
+                             #{mod 12602}#))
+                         (#{wrap 12617}# (vector-ref #{x 12601}# 2)))
                      (vector
                        'syntax-object
-                       #{expression 8715}#
-                       #{wrap 8716}#
-                       #{mod 3647}#))
-                   (if (vector? #{x 3646}#)
-                     (let ((#{n 3658}# (vector-length #{x 3646}#)))
-                       (let ((#{v 3660}# (make-vector #{n 3658}#)))
+                       #{expression 12616}#
+                       #{wrap 12617}#
+                       #{mod 12602}#))
+                   (if (vector? #{x 12601}#)
+                     (let ((#{n 12625}# (vector-length #{x 12601}#)))
+                       (let ((#{v 12626}# (make-vector #{n 12625}#)))
                          (letrec*
-                           ((#{loop 3663}#
-                              (lambda (#{i 3664}#)
-                                (if (= #{i 3664}# #{n 3658}#)
-                                  #{v 3660}#
+                           ((#{loop 12627}#
+                              (lambda (#{i 12682}#)
+                                (if (= #{i 12682}# #{n 12625}#)
+                                  #{v 12626}#
                                   (begin
                                     (vector-set!
-                                      #{v 3660}#
-                                      #{i 3664}#
-                                      (#{remodulate 3645}#
-                                        (vector-ref #{x 3646}# #{i 3664}#)
-                                        #{mod 3647}#))
-                                    (#{loop 3663}# (#{1+}# #{i 3664}#)))))))
-                           (#{loop 3663}# 0))))
-                     #{x 3646}#))))))
-          (let ((#{tmp 3671}#
-                  ($sc-dispatch #{e 3638}# '(_ each-any any))))
-            (if (if #{tmp 3671}#
+                                      #{v 12626}#
+                                      #{i 12682}#
+                                      (#{remodulate 12377}#
+                                        (vector-ref #{x 12601}# #{i 12682}#)
+                                        #{mod 12602}#))
+                                    (#{loop 12627}# (#{1+}# #{i 12682}#)))))))
+                           (#{loop 12627}# 0))))
+                     #{x 12601}#))))))
+          (let ((#{tmp 12379}#
+                  ($sc-dispatch #{e 12374}# '(_ each-any any))))
+            (if (if #{tmp 12379}#
                   (@apply
-                    (lambda (#{mod 3674}# #{exp 3675}#)
-                      (and-map #{id? 353}# #{mod 3674}#))
-                    #{tmp 3671}#)
+                    (lambda (#{mod 12383}# #{exp 12384}#)
+                      (and-map #{id? 4343}# #{mod 12383}#))
+                    #{tmp 12379}#)
                   #f)
               (@apply
-                (lambda (#{mod 3679}# #{exp 3680}#)
-                  (let ((#{mod 3682}#
+                (lambda (#{mod 12400}# #{exp 12401}#)
+                  (let ((#{mod 12402}#
                           (syntax->datum
                             (cons '#(syntax-object
                                      private
@@ -9947,12 +12083,12 @@
                                       #(ribcage
                                         #(mod exp)
                                         #((top) (top))
-                                        #("i3677" "i3678"))
-                                      #(ribcage (remodulate) ((top)) ("i3644"))
+                                        #("i3678" "i3679"))
+                                      #(ribcage (remodulate) ((top)) ("i3645"))
                                       #(ribcage
                                         #(e r w)
                                         #((top) (top) (top))
-                                        #("i3641" "i3642" "i3643"))
+                                        #("i3642" "i3643" "i3644"))
                                       #(ribcage
                                         (lambda-var-list
                                           gen-var
@@ -10230,328 +12366,326 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i470"
-                                         "i468"
-                                         "i466"
-                                         "i464"
-                                         "i462"
-                                         "i460"
-                                         "i458"
-                                         "i456"
-                                         "i454"
-                                         "i452"
-                                         "i450"
-                                         "i448"
-                                         "i446"
-                                         "i444"
-                                         "i442"
-                                         "i440"
-                                         "i438"
-                                         "i436"
-                                         "i434"
-                                         "i432"
-                                         "i430"
-                                         "i428"
-                                         "i426"
-                                         "i424"
-                                         "i422"
-                                         "i420"
-                                         "i418"
-                                         "i416"
-                                         "i414"
-                                         "i412"
-                                         "i410"
-                                         "i408"
-                                         "i406"
-                                         "i404"
+                                        ("i471"
+                                         "i469"
+                                         "i467"
+                                         "i465"
+                                         "i463"
+                                         "i461"
+                                         "i459"
+                                         "i457"
+                                         "i455"
+                                         "i453"
+                                         "i451"
+                                         "i449"
+                                         "i447"
+                                         "i445"
+                                         "i443"
+                                         "i441"
+                                         "i439"
+                                         "i437"
+                                         "i435"
+                                         "i433"
+                                         "i431"
+                                         "i429"
+                                         "i427"
+                                         "i425"
+                                         "i423"
+                                         "i421"
+                                         "i419"
+                                         "i417"
+                                         "i415"
+                                         "i413"
+                                         "i411"
+                                         "i409"
+                                         "i407"
+                                         "i405"
+                                         "i403"
                                          "i402"
-                                         "i401"
-                                         "i399"
+                                         "i400"
+                                         "i397"
                                          "i396"
                                          "i395"
-                                         "i394"
+                                         "i393"
                                          "i392"
-                                         "i391"
-                                         "i389"
-                                         "i387"
-                                         "i385"
-                                         "i383"
-                                         "i381"
-                                         "i379"
-                                         "i377"
-                                         "i375"
-                                         "i372"
+                                         "i390"
+                                         "i388"
+                                         "i386"
+                                         "i384"
+                                         "i382"
+                                         "i380"
+                                         "i378"
+                                         "i376"
+                                         "i373"
+                                         "i371"
                                          "i370"
-                                         "i369"
-                                         "i367"
-                                         "i365"
-                                         "i363"
+                                         "i368"
+                                         "i366"
+                                         "i364"
+                                         "i362"
                                          "i361"
                                          "i360"
                                          "i359"
-                                         "i358"
+                                         "i357"
                                          "i356"
-                                         "i355"
-                                         "i352"
-                                         "i350"
-                                         "i348"
-                                         "i346"
-                                         "i344"
-                                         "i342"
+                                         "i353"
+                                         "i351"
+                                         "i349"
+                                         "i347"
+                                         "i345"
+                                         "i343"
+                                         "i341"
                                          "i340"
                                          "i339"
-                                         "i338"
-                                         "i336"
+                                         "i337"
+                                         "i335"
                                          "i334"
-                                         "i333"
+                                         "i331"
                                          "i330"
-                                         "i329"
-                                         "i327"
-                                         "i325"
-                                         "i323"
-                                         "i321"
-                                         "i319"
-                                         "i317"
-                                         "i315"
-                                         "i313"
-                                         "i311"
-                                         "i308"
-                                         "i306"
-                                         "i304"
-                                         "i302"
-                                         "i300"
-                                         "i298"
-                                         "i296"
-                                         "i294"
-                                         "i292"
-                                         "i290"
-                                         "i288"
-                                         "i286"
-                                         "i284"
-                                         "i282"
-                                         "i280"
-                                         "i278"
-                                         "i276"
-                                         "i274"
-                                         "i272"
-                                         "i270"
-                                         "i268"
-                                         "i266"
-                                         "i264"
+                                         "i328"
+                                         "i326"
+                                         "i324"
+                                         "i322"
+                                         "i320"
+                                         "i318"
+                                         "i316"
+                                         "i314"
+                                         "i312"
+                                         "i309"
+                                         "i307"
+                                         "i305"
+                                         "i303"
+                                         "i301"
+                                         "i299"
+                                         "i297"
+                                         "i295"
+                                         "i293"
+                                         "i291"
+                                         "i289"
+                                         "i287"
+                                         "i285"
+                                         "i283"
+                                         "i281"
+                                         "i279"
+                                         "i277"
+                                         "i275"
+                                         "i273"
+                                         "i271"
+                                         "i269"
+                                         "i267"
+                                         "i265"
+                                         "i263"
                                          "i262"
-                                         "i261"
-                                         "i258"
+                                         "i259"
+                                         "i257"
                                          "i256"
                                          "i255"
                                          "i254"
                                          "i253"
-                                         "i252"
-                                         "i250"
-                                         "i248"
-                                         "i246"
-                                         "i243"
-                                         "i241"
-                                         "i239"
-                                         "i237"
-                                         "i235"
-                                         "i233"
-                                         "i231"
-                                         "i229"
-                                         "i227"
-                                         "i225"
-                                         "i223"
-                                         "i221"
-                                         "i219"
-                                         "i217"
-                                         "i215"
-                                         "i213"
-                                         "i211"
-                                         "i209"
-                                         "i207"))
+                                         "i251"
+                                         "i249"
+                                         "i247"
+                                         "i244"
+                                         "i242"
+                                         "i240"
+                                         "i238"
+                                         "i236"
+                                         "i234"
+                                         "i232"
+                                         "i230"
+                                         "i228"
+                                         "i226"
+                                         "i224"
+                                         "i222"
+                                         "i220"
+                                         "i218"
+                                         "i216"
+                                         "i214"
+                                         "i212"
+                                         "i210"
+                                         "i208"))
                                       #(ribcage
                                         (define-structure
                                           define-expansion-accessors
                                           define-expansion-constructors)
                                         ((top) (top) (top))
-                                        ("i45" "i44" "i43")))
+                                        ("i46" "i45" "i44")))
                                      (hygiene guile))
-                                  #{mod 3679}#))))
+                                  #{mod 12400}#))))
                     (values
-                      (#{remodulate 3645}# #{exp 3680}# #{mod 3682}#)
-                      #{r 3639}#
-                      #{w 3640}#
-                      (#{source-annotation 331}# #{exp 3680}#)
-                      #{mod 3682}#)))
-                #{tmp 3671}#)
+                      (#{remodulate 12377}#
+                        #{exp 12401}#
+                        #{mod 12402}#)
+                      #{r 12375}#
+                      #{w 12376}#
+                      (#{source-annotation 4336}# #{exp 12401}#)
+                      #{mod 12402}#)))
+                #{tmp 12379}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{e 3638}#))))))
-    (#{global-extend 349}#
+                #{e 12374}#))))))
+    (#{global-extend 4341}#
       'core
       'if
-      (lambda (#{e 3684}#
-               #{r 3685}#
-               #{w 3686}#
-               #{s 3687}#
-               #{mod 3688}#)
-        (let ((#{tmp 3695}#
-                ($sc-dispatch #{e 3684}# '(_ any any))))
-          (if #{tmp 3695}#
+      (lambda (#{e 12793}#
+               #{r 12794}#
+               #{w 12795}#
+               #{s 12796}#
+               #{mod 12797}#)
+        (let ((#{tmp 12799}#
+                ($sc-dispatch #{e 12793}# '(_ any any))))
+          (if #{tmp 12799}#
             (@apply
-              (lambda (#{test 3698}# #{then 3699}#)
-                (#{build-conditional 275}#
-                  #{s 3687}#
-                  (#{chi 441}#
-                    #{test 3698}#
-                    #{r 3685}#
-                    #{w 3686}#
-                    #{mod 3688}#)
-                  (#{chi 441}#
-                    #{then 3699}#
-                    #{r 3685}#
-                    #{w 3686}#
-                    #{mod 3688}#)
+              (lambda (#{test 12803}# #{then 12804}#)
+                (#{build-conditional 4310}#
+                  #{s 12796}#
+                  (#{chi 4375}#
+                    #{test 12803}#
+                    #{r 12794}#
+                    #{w 12795}#
+                    #{mod 12797}#)
+                  (#{chi 4375}#
+                    #{then 12804}#
+                    #{r 12794}#
+                    #{w 12795}#
+                    #{mod 12797}#)
                   (make-struct/no-tail
                     (vector-ref %expanded-vtables 0)
                     #f)))
-              #{tmp 3695}#)
-            (let ((#{tmp 3701}#
-                    ($sc-dispatch #{e 3684}# '(_ any any any))))
-              (if #{tmp 3701}#
+              #{tmp 12799}#)
+            (let ((#{tmp 13059}#
+                    ($sc-dispatch #{e 12793}# '(_ any any any))))
+              (if #{tmp 13059}#
                 (@apply
-                  (lambda (#{test 3705}# #{then 3706}# #{else 3707}#)
-                    (#{build-conditional 275}#
-                      #{s 3687}#
-                      (#{chi 441}#
-                        #{test 3705}#
-                        #{r 3685}#
-                        #{w 3686}#
-                        #{mod 3688}#)
-                      (#{chi 441}#
-                        #{then 3706}#
-                        #{r 3685}#
-                        #{w 3686}#
-                        #{mod 3688}#)
-                      (#{chi 441}#
-                        #{else 3707}#
-                        #{r 3685}#
-                        #{w 3686}#
-                        #{mod 3688}#)))
-                  #{tmp 3701}#)
+                  (lambda (#{test 13063}# #{then 13064}# #{else 13065}#)
+                    (#{build-conditional 4310}#
+                      #{s 12796}#
+                      (#{chi 4375}#
+                        #{test 13063}#
+                        #{r 12794}#
+                        #{w 12795}#
+                        #{mod 12797}#)
+                      (#{chi 4375}#
+                        #{then 13064}#
+                        #{r 12794}#
+                        #{w 12795}#
+                        #{mod 12797}#)
+                      (#{chi 4375}#
+                        #{else 13065}#
+                        #{r 12794}#
+                        #{w 12795}#
+                        #{mod 12797}#)))
+                  #{tmp 13059}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{e 3684}#)))))))
-    (#{global-extend 349}#
+                  #{e 12793}#)))))))
+    (#{global-extend 4341}#
       'core
       'with-fluids
-      (lambda (#{e 3708}#
-               #{r 3709}#
-               #{w 3710}#
-               #{s 3711}#
-               #{mod 3712}#)
-        (let ((#{tmp 3719}#
+      (lambda (#{e 13514}#
+               #{r 13515}#
+               #{w 13516}#
+               #{s 13517}#
+               #{mod 13518}#)
+        (let ((#{tmp 13520}#
                 ($sc-dispatch
-                  #{e 3708}#
+                  #{e 13514}#
                   '(_ #(each (any any)) any . each-any))))
-          (if #{tmp 3719}#
+          (if #{tmp 13520}#
             (@apply
-              (lambda (#{fluid 3724}#
-                       #{val 3725}#
-                       #{b 3726}#
-                       #{b* 3727}#)
-                ((lambda (#{source 989}#
-                          #{fluids 990}#
-                          #{vals 991}#
-                          #{body 992}#)
-                   (#{make-dynlet 244}#
-                     #{source 989}#
-                     #{fluids 990}#
-                     #{vals 991}#
-                     #{body 992}#))
-                 #{s 3711}#
-                 (map (lambda (#{x 3728}#)
-                        (#{chi 441}#
-                          #{x 3728}#
-                          #{r 3709}#
-                          #{w 3710}#
-                          #{mod 3712}#))
-                      #{fluid 3724}#)
-                 (map (lambda (#{x 3731}#)
-                        (#{chi 441}#
-                          #{x 3731}#
-                          #{r 3709}#
-                          #{w 3710}#
-                          #{mod 3712}#))
-                      #{val 3725}#)
-                 (#{chi-body 449}#
-                   (cons #{b 3726}# #{b* 3727}#)
-                   (let ((#{x 9559}#
-                           (begin
-                             (if (if (pair? #{e 3708}#) #{s 3711}# #f)
-                               (set-source-properties! #{e 3708}# #{s 3711}#))
-                             #{e 3708}#)))
-                     (if (if (null? (car #{w 3710}#))
-                           (null? (cdr #{w 3710}#))
-                           #f)
-                       #{x 9559}#
-                       (if (if (vector? #{x 9559}#)
-                             (if (= (vector-length #{x 9559}#) 4)
-                               (eq? (vector-ref #{x 9559}# 0) 'syntax-object)
-                               #f)
-                             #f)
-                         (let ((#{expression 9571}# (vector-ref #{x 9559}# 1))
-                               (#{wrap 9572}#
-                                 (let ((#{w2 9580}# (vector-ref #{x 9559}# 2)))
-                                   (let ((#{m1 9581}# (car #{w 3710}#))
-                                         (#{s1 9582}# (cdr #{w 3710}#)))
-                                     (if (null? #{m1 9581}#)
-                                       (if (null? #{s1 9582}#)
-                                         #{w2 9580}#
-                                         (cons (car #{w2 9580}#)
-                                               (let ((#{m2 9589}#
-                                                       (cdr #{w2 9580}#)))
-                                                 (if (null? #{m2 9589}#)
-                                                   #{s1 9582}#
-                                                   (append
-                                                     #{s1 9582}#
-                                                     #{m2 9589}#)))))
-                                       (cons (let ((#{m2 9593}#
-                                                     (car #{w2 9580}#)))
-                                               (if (null? #{m2 9593}#)
-                                                 #{m1 9581}#
-                                                 (append
-                                                   #{m1 9581}#
-                                                   #{m2 9593}#)))
-                                             (let ((#{m2 9597}#
-                                                     (cdr #{w2 9580}#)))
-                                               (if (null? #{m2 9597}#)
-                                                 #{s1 9582}#
-                                                 (append
-                                                   #{s1 9582}#
-                                                   #{m2 9597}#))))))))
-                               (#{module 9573}# (vector-ref #{x 9559}# 3)))
-                           (vector
-                             'syntax-object
-                             #{expression 9571}#
-                             #{wrap 9572}#
-                             #{module 9573}#))
-                         (if (null? #{x 9559}#)
-                           #{x 9559}#
-                           (vector
-                             'syntax-object
-                             #{x 9559}#
-                             #{w 3710}#
-                             #{mod 3712}#)))))
-                   #{r 3709}#
-                   #{w 3710}#
-                   #{mod 3712}#)))
-              #{tmp 3719}#)
+              (lambda (#{fluid 13524}#
+                       #{val 13525}#
+                       #{b 13526}#
+                       #{b* 13527}#)
+                (#{build-dynlet 4311}#
+                  #{s 13517}#
+                  (map (lambda (#{x 13618}#)
+                         (#{chi 4375}#
+                           #{x 13618}#
+                           #{r 13515}#
+                           #{w 13516}#
+                           #{mod 13518}#))
+                       #{fluid 13524}#)
+                  (map (lambda (#{x 13698}#)
+                         (#{chi 4375}#
+                           #{x 13698}#
+                           #{r 13515}#
+                           #{w 13516}#
+                           #{mod 13518}#))
+                       #{val 13525}#)
+                  (#{chi-body 4379}#
+                    (cons #{b 13526}# #{b* 13527}#)
+                    (let ((#{x 13789}#
+                            (begin
+                              (if (if (pair? #{e 13514}#) #{s 13517}# #f)
+                                (set-source-properties!
+                                  #{e 13514}#
+                                  #{s 13517}#))
+                              #{e 13514}#)))
+                      (if (if (null? (car #{w 13516}#))
+                            (null? (cdr #{w 13516}#))
+                            #f)
+                        #{x 13789}#
+                        (if (if (vector? #{x 13789}#)
+                              (if (= (vector-length #{x 13789}#) 4)
+                                (eq? (vector-ref #{x 13789}# 0) 'syntax-object)
+                                #f)
+                              #f)
+                          (let ((#{expression 13821}#
+                                  (vector-ref #{x 13789}# 1))
+                                (#{wrap 13822}#
+                                  (let ((#{w2 13830}#
+                                          (vector-ref #{x 13789}# 2)))
+                                    (let ((#{m1 13831}# (car #{w 13516}#))
+                                          (#{s1 13832}# (cdr #{w 13516}#)))
+                                      (if (null? #{m1 13831}#)
+                                        (if (null? #{s1 13832}#)
+                                          #{w2 13830}#
+                                          (cons (car #{w2 13830}#)
+                                                (let ((#{m2 13847}#
+                                                        (cdr #{w2 13830}#)))
+                                                  (if (null? #{m2 13847}#)
+                                                    #{s1 13832}#
+                                                    (append
+                                                      #{s1 13832}#
+                                                      #{m2 13847}#)))))
+                                        (cons (let ((#{m2 13855}#
+                                                      (car #{w2 13830}#)))
+                                                (if (null? #{m2 13855}#)
+                                                  #{m1 13831}#
+                                                  (append
+                                                    #{m1 13831}#
+                                                    #{m2 13855}#)))
+                                              (let ((#{m2 13863}#
+                                                      (cdr #{w2 13830}#)))
+                                                (if (null? #{m2 13863}#)
+                                                  #{s1 13832}#
+                                                  (append
+                                                    #{s1 13832}#
+                                                    #{m2 13863}#))))))))
+                                (#{module 13823}# (vector-ref #{x 13789}# 3)))
+                            (vector
+                              'syntax-object
+                              #{expression 13821}#
+                              #{wrap 13822}#
+                              #{module 13823}#))
+                          (if (null? #{x 13789}#)
+                            #{x 13789}#
+                            (vector
+                              'syntax-object
+                              #{x 13789}#
+                              #{w 13516}#
+                              #{mod 13518}#)))))
+                    #{r 13515}#
+                    #{w 13516}#
+                    #{mod 13518}#)))
+              #{tmp 13520}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{e 3708}#)))))
+              #{e 13514}#)))))
     (module-define!
       (current-module)
       'begin
@@ -10574,68 +12708,68 @@
         'eval-when
         'eval-when
         '()))
-    (#{global-extend 349}#
+    (#{global-extend 4341}#
       'core
       'syntax-case
       (letrec*
-        ((#{convert-pattern 3736}#
-           (lambda (#{pattern 3743}# #{keys 3744}#)
+        ((#{convert-pattern 14157}#
+           (lambda (#{pattern 15795}# #{keys 15796}#)
              (letrec*
-               ((#{cvt* 3748}#
-                  (lambda (#{p* 3753}# #{n 3754}# #{ids 3755}#)
-                    (if (not (pair? #{p* 3753}#))
-                      (#{cvt 3752}#
-                        #{p* 3753}#
-                        #{n 3754}#
-                        #{ids 3755}#)
+               ((#{cvt* 15797}#
+                  (lambda (#{p* 16596}# #{n 16597}# #{ids 16598}#)
+                    (if (not (pair? #{p* 16596}#))
+                      (#{cvt 15799}#
+                        #{p* 16596}#
+                        #{n 16597}#
+                        #{ids 16598}#)
                       (call-with-values
                         (lambda ()
-                          (#{cvt* 3748}#
-                            (cdr #{p* 3753}#)
-                            #{n 3754}#
-                            #{ids 3755}#))
-                        (lambda (#{y 3759}# #{ids 3760}#)
+                          (#{cvt* 15797}#
+                            (cdr #{p* 16596}#)
+                            #{n 16597}#
+                            #{ids 16598}#))
+                        (lambda (#{y 16601}# #{ids 16602}#)
                           (call-with-values
                             (lambda ()
-                              (#{cvt 3752}#
-                                (car #{p* 3753}#)
-                                #{n 3754}#
-                                #{ids 3760}#))
-                            (lambda (#{x 3763}# #{ids 3764}#)
+                              (#{cvt 15799}#
+                                (car #{p* 16596}#)
+                                #{n 16597}#
+                                #{ids 16602}#))
+                            (lambda (#{x 16605}# #{ids 16606}#)
                               (values
-                                (cons #{x 3763}# #{y 3759}#)
-                                #{ids 3764}#))))))))
-                (#{v-reverse 3750}#
-                  (lambda (#{x 3767}#)
+                                (cons #{x 16605}# #{y 16601}#)
+                                #{ids 16606}#))))))))
+                (#{v-reverse 15798}#
+                  (lambda (#{x 16607}#)
                     (letrec*
-                      ((#{loop 3772}#
-                         (lambda (#{r 3773}# #{x 3774}#)
-                           (if (not (pair? #{x 3774}#))
-                             (values #{r 3773}# #{x 3774}#)
-                             (#{loop 3772}#
-                               (cons (car #{x 3774}#) #{r 3773}#)
-                               (cdr #{x 3774}#))))))
-                      (#{loop 3772}# '() #{x 3767}#))))
-                (#{cvt 3752}#
-                  (lambda (#{p 3775}# #{n 3776}# #{ids 3777}#)
-                    (if (if (symbol? #{p 3775}#)
+                      ((#{loop 16608}#
+                         (lambda (#{r 16709}# #{x 16710}#)
+                           (if (not (pair? #{x 16710}#))
+                             (values #{r 16709}# #{x 16710}#)
+                             (#{loop 16608}#
+                               (cons (car #{x 16710}#) #{r 16709}#)
+                               (cdr #{x 16710}#))))))
+                      (#{loop 16608}# '() #{x 16607}#))))
+                (#{cvt 15799}#
+                  (lambda (#{p 15802}# #{n 15803}# #{ids 15804}#)
+                    (if (if (symbol? #{p 15802}#)
                           #t
-                          (if (if (vector? #{p 3775}#)
-                                (if (= (vector-length #{p 3775}#) 4)
-                                  (eq? (vector-ref #{p 3775}# 0)
+                          (if (if (vector? #{p 15802}#)
+                                (if (= (vector-length #{p 15802}#) 4)
+                                  (eq? (vector-ref #{p 15802}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{p 3775}# 1))
+                            (symbol? (vector-ref #{p 15802}# 1))
                             #f))
-                      (if (#{bound-id-member? 425}#
-                            #{p 3775}#
-                            #{keys 3744}#)
+                      (if (#{bound-id-member? 4367}#
+                            #{p 15802}#
+                            #{keys 15796}#)
                         (values
-                          (vector 'free-id #{p 3775}#)
-                          #{ids 3777}#)
-                        (if (#{free-id=? 417}#
-                              #{p 3775}#
+                          (vector 'free-id #{p 15802}#)
+                          #{ids 15804}#)
+                        (if (#{free-id=? 4363}#
+                              #{p 15802}#
                               '#(syntax-object
                                  _
                                  ((top)
@@ -10643,22 +12777,22 @@
                                   #(ribcage
                                     #(p n ids)
                                     #((top) (top) (top))
-                                    #("i3778" "i3779" "i3780"))
+                                    #("i3779" "i3780" "i3781"))
                                   #(ribcage
                                     (cvt v-reverse cvt*)
                                     ((top) (top) (top))
-                                    ("i3751" "i3749" "i3747"))
+                                    ("i3752" "i3750" "i3748"))
                                   #(ribcage
                                     #(pattern keys)
                                     #((top) (top))
-                                    #("i3745" "i3746"))
+                                    #("i3746" "i3747"))
                                   #(ribcage
                                     (gen-syntax-case
                                       gen-clause
                                       build-dispatch-call
                                       convert-pattern)
                                     ((top) (top) (top) (top))
-                                    ("i3741" "i3739" "i3737" "i3735"))
+                                    ("i3742" "i3740" "i3738" "i3736"))
                                   #(ribcage
                                     (lambda-var-list
                                       gen-var
@@ -10936,178 +13070,181 @@
                                      (top)
                                      (top)
                                      (top))
-                                    ("i470"
-                                     "i468"
-                                     "i466"
-                                     "i464"
-                                     "i462"
-                                     "i460"
-                                     "i458"
-                                     "i456"
-                                     "i454"
-                                     "i452"
-                                     "i450"
-                                     "i448"
-                                     "i446"
-                                     "i444"
-                                     "i442"
-                                     "i440"
-                                     "i438"
-                                     "i436"
-                                     "i434"
-                                     "i432"
-                                     "i430"
-                                     "i428"
-                                     "i426"
-                                     "i424"
-                                     "i422"
-                                     "i420"
-                                     "i418"
-                                     "i416"
-                                     "i414"
-                                     "i412"
-                                     "i410"
-                                     "i408"
-                                     "i406"
-                                     "i404"
+                                    ("i471"
+                                     "i469"
+                                     "i467"
+                                     "i465"
+                                     "i463"
+                                     "i461"
+                                     "i459"
+                                     "i457"
+                                     "i455"
+                                     "i453"
+                                     "i451"
+                                     "i449"
+                                     "i447"
+                                     "i445"
+                                     "i443"
+                                     "i441"
+                                     "i439"
+                                     "i437"
+                                     "i435"
+                                     "i433"
+                                     "i431"
+                                     "i429"
+                                     "i427"
+                                     "i425"
+                                     "i423"
+                                     "i421"
+                                     "i419"
+                                     "i417"
+                                     "i415"
+                                     "i413"
+                                     "i411"
+                                     "i409"
+                                     "i407"
+                                     "i405"
+                                     "i403"
                                      "i402"
-                                     "i401"
-                                     "i399"
+                                     "i400"
+                                     "i397"
                                      "i396"
                                      "i395"
-                                     "i394"
+                                     "i393"
                                      "i392"
-                                     "i391"
-                                     "i389"
-                                     "i387"
-                                     "i385"
-                                     "i383"
-                                     "i381"
-                                     "i379"
-                                     "i377"
-                                     "i375"
-                                     "i372"
+                                     "i390"
+                                     "i388"
+                                     "i386"
+                                     "i384"
+                                     "i382"
+                                     "i380"
+                                     "i378"
+                                     "i376"
+                                     "i373"
+                                     "i371"
                                      "i370"
-                                     "i369"
-                                     "i367"
-                                     "i365"
-                                     "i363"
+                                     "i368"
+                                     "i366"
+                                     "i364"
+                                     "i362"
                                      "i361"
                                      "i360"
                                      "i359"
-                                     "i358"
+                                     "i357"
                                      "i356"
-                                     "i355"
-                                     "i352"
-                                     "i350"
-                                     "i348"
-                                     "i346"
-                                     "i344"
-                                     "i342"
+                                     "i353"
+                                     "i351"
+                                     "i349"
+                                     "i347"
+                                     "i345"
+                                     "i343"
+                                     "i341"
                                      "i340"
                                      "i339"
-                                     "i338"
-                                     "i336"
+                                     "i337"
+                                     "i335"
                                      "i334"
-                                     "i333"
+                                     "i331"
                                      "i330"
-                                     "i329"
-                                     "i327"
-                                     "i325"
-                                     "i323"
-                                     "i321"
-                                     "i319"
-                                     "i317"
-                                     "i315"
-                                     "i313"
-                                     "i311"
-                                     "i308"
-                                     "i306"
-                                     "i304"
-                                     "i302"
-                                     "i300"
-                                     "i298"
-                                     "i296"
-                                     "i294"
-                                     "i292"
-                                     "i290"
-                                     "i288"
-                                     "i286"
-                                     "i284"
-                                     "i282"
-                                     "i280"
-                                     "i278"
-                                     "i276"
-                                     "i274"
-                                     "i272"
-                                     "i270"
-                                     "i268"
-                                     "i266"
-                                     "i264"
+                                     "i328"
+                                     "i326"
+                                     "i324"
+                                     "i322"
+                                     "i320"
+                                     "i318"
+                                     "i316"
+                                     "i314"
+                                     "i312"
+                                     "i309"
+                                     "i307"
+                                     "i305"
+                                     "i303"
+                                     "i301"
+                                     "i299"
+                                     "i297"
+                                     "i295"
+                                     "i293"
+                                     "i291"
+                                     "i289"
+                                     "i287"
+                                     "i285"
+                                     "i283"
+                                     "i281"
+                                     "i279"
+                                     "i277"
+                                     "i275"
+                                     "i273"
+                                     "i271"
+                                     "i269"
+                                     "i267"
+                                     "i265"
+                                     "i263"
                                      "i262"
-                                     "i261"
-                                     "i258"
+                                     "i259"
+                                     "i257"
                                      "i256"
                                      "i255"
                                      "i254"
                                      "i253"
-                                     "i252"
-                                     "i250"
-                                     "i248"
-                                     "i246"
-                                     "i243"
-                                     "i241"
-                                     "i239"
-                                     "i237"
-                                     "i235"
-                                     "i233"
-                                     "i231"
-                                     "i229"
-                                     "i227"
-                                     "i225"
-                                     "i223"
-                                     "i221"
-                                     "i219"
-                                     "i217"
-                                     "i215"
-                                     "i213"
-                                     "i211"
-                                     "i209"
-                                     "i207"))
+                                     "i251"
+                                     "i249"
+                                     "i247"
+                                     "i244"
+                                     "i242"
+                                     "i240"
+                                     "i238"
+                                     "i236"
+                                     "i234"
+                                     "i232"
+                                     "i230"
+                                     "i228"
+                                     "i226"
+                                     "i224"
+                                     "i222"
+                                     "i220"
+                                     "i218"
+                                     "i216"
+                                     "i214"
+                                     "i212"
+                                     "i210"
+                                     "i208"))
                                   #(ribcage
                                     (define-structure
                                       define-expansion-accessors
                                       define-expansion-constructors)
                                     ((top) (top) (top))
-                                    ("i45" "i44" "i43")))
+                                    ("i46" "i45" "i44")))
                                  (hygiene guile)))
-                          (values '_ #{ids 3777}#)
+                          (values '_ #{ids 15804}#)
                           (values
                             'any
-                            (cons (cons #{p 3775}# #{n 3776}#) #{ids 3777}#))))
-                      (let ((#{tmp 3787}#
-                              ($sc-dispatch #{p 3775}# '(any any))))
-                        (if (if #{tmp 3787}#
+                            (cons (cons #{p 15802}# #{n 15803}#)
+                                  #{ids 15804}#))))
+                      (let ((#{tmp 15936}#
+                              ($sc-dispatch #{p 15802}# '(any any))))
+                        (if (if #{tmp 15936}#
                               (@apply
-                                (lambda (#{x 3790}# #{dots 3791}#)
-                                  (if (if (if (vector? #{dots 3791}#)
+                                (lambda (#{x 15940}# #{dots 15941}#)
+                                  (if (if (if (vector? #{dots 15941}#)
                                             (if (= (vector-length
-                                                     #{dots 3791}#)
+                                                     #{dots 15941}#)
                                                    4)
-                                              (eq? (vector-ref #{dots 3791}# 0)
+                                              (eq? (vector-ref
+                                                     #{dots 15941}#
+                                                     0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (symbol? (vector-ref #{dots 3791}# 1))
+                                        (symbol? (vector-ref #{dots 15941}# 1))
                                         #f)
-                                    (#{free-id=? 417}#
-                                      #{dots 3791}#
+                                    (#{free-id=? 4363}#
+                                      #{dots 15941}#
                                       '#(syntax-object
                                          ...
                                          ((top)
                                           #(ribcage () () ())
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i2262"))
+                                          #(ribcage #(x) #((top)) #("i2263"))
                                           #(ribcage
                                             (lambda-var-list
                                               gen-var
@@ -11385,191 +13522,191 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i470"
-                                             "i468"
-                                             "i466"
-                                             "i464"
-                                             "i462"
-                                             "i460"
-                                             "i458"
-                                             "i456"
-                                             "i454"
-                                             "i452"
-                                             "i450"
-                                             "i448"
-                                             "i446"
-                                             "i444"
-                                             "i442"
-                                             "i440"
-                                             "i438"
-                                             "i436"
-                                             "i434"
-                                             "i432"
-                                             "i430"
-                                             "i428"
-                                             "i426"
-                                             "i424"
-                                             "i422"
-                                             "i420"
-                                             "i418"
-                                             "i416"
-                                             "i414"
-                                             "i412"
-                                             "i410"
-                                             "i408"
-                                             "i406"
-                                             "i404"
+                                            ("i471"
+                                             "i469"
+                                             "i467"
+                                             "i465"
+                                             "i463"
+                                             "i461"
+                                             "i459"
+                                             "i457"
+                                             "i455"
+                                             "i453"
+                                             "i451"
+                                             "i449"
+                                             "i447"
+                                             "i445"
+                                             "i443"
+                                             "i441"
+                                             "i439"
+                                             "i437"
+                                             "i435"
+                                             "i433"
+                                             "i431"
+                                             "i429"
+                                             "i427"
+                                             "i425"
+                                             "i423"
+                                             "i421"
+                                             "i419"
+                                             "i417"
+                                             "i415"
+                                             "i413"
+                                             "i411"
+                                             "i409"
+                                             "i407"
+                                             "i405"
+                                             "i403"
                                              "i402"
-                                             "i401"
-                                             "i399"
+                                             "i400"
+                                             "i397"
                                              "i396"
                                              "i395"
-                                             "i394"
+                                             "i393"
                                              "i392"
-                                             "i391"
-                                             "i389"
-                                             "i387"
-                                             "i385"
-                                             "i383"
-                                             "i381"
-                                             "i379"
-                                             "i377"
-                                             "i375"
-                                             "i372"
+                                             "i390"
+                                             "i388"
+                                             "i386"
+                                             "i384"
+                                             "i382"
+                                             "i380"
+                                             "i378"
+                                             "i376"
+                                             "i373"
+                                             "i371"
                                              "i370"
-                                             "i369"
-                                             "i367"
-                                             "i365"
-                                             "i363"
+                                             "i368"
+                                             "i366"
+                                             "i364"
+                                             "i362"
                                              "i361"
                                              "i360"
                                              "i359"
-                                             "i358"
+                                             "i357"
                                              "i356"
-                                             "i355"
-                                             "i352"
-                                             "i350"
-                                             "i348"
-                                             "i346"
-                                             "i344"
-                                             "i342"
+                                             "i353"
+                                             "i351"
+                                             "i349"
+                                             "i347"
+                                             "i345"
+                                             "i343"
+                                             "i341"
                                              "i340"
                                              "i339"
-                                             "i338"
-                                             "i336"
+                                             "i337"
+                                             "i335"
                                              "i334"
-                                             "i333"
+                                             "i331"
                                              "i330"
-                                             "i329"
-                                             "i327"
-                                             "i325"
-                                             "i323"
-                                             "i321"
-                                             "i319"
-                                             "i317"
-                                             "i315"
-                                             "i313"
-                                             "i311"
-                                             "i308"
-                                             "i306"
-                                             "i304"
-                                             "i302"
-                                             "i300"
-                                             "i298"
-                                             "i296"
-                                             "i294"
-                                             "i292"
-                                             "i290"
-                                             "i288"
-                                             "i286"
-                                             "i284"
-                                             "i282"
-                                             "i280"
-                                             "i278"
-                                             "i276"
-                                             "i274"
-                                             "i272"
-                                             "i270"
-                                             "i268"
-                                             "i266"
-                                             "i264"
+                                             "i328"
+                                             "i326"
+                                             "i324"
+                                             "i322"
+                                             "i320"
+                                             "i318"
+                                             "i316"
+                                             "i314"
+                                             "i312"
+                                             "i309"
+                                             "i307"
+                                             "i305"
+                                             "i303"
+                                             "i301"
+                                             "i299"
+                                             "i297"
+                                             "i295"
+                                             "i293"
+                                             "i291"
+                                             "i289"
+                                             "i287"
+                                             "i285"
+                                             "i283"
+                                             "i281"
+                                             "i279"
+                                             "i277"
+                                             "i275"
+                                             "i273"
+                                             "i271"
+                                             "i269"
+                                             "i267"
+                                             "i265"
+                                             "i263"
                                              "i262"
-                                             "i261"
-                                             "i258"
+                                             "i259"
+                                             "i257"
                                              "i256"
                                              "i255"
                                              "i254"
                                              "i253"
-                                             "i252"
-                                             "i250"
-                                             "i248"
-                                             "i246"
-                                             "i243"
-                                             "i241"
-                                             "i239"
-                                             "i237"
-                                             "i235"
-                                             "i233"
-                                             "i231"
-                                             "i229"
-                                             "i227"
-                                             "i225"
-                                             "i223"
-                                             "i221"
-                                             "i219"
-                                             "i217"
-                                             "i215"
-                                             "i213"
-                                             "i211"
-                                             "i209"
-                                             "i207"))
+                                             "i251"
+                                             "i249"
+                                             "i247"
+                                             "i244"
+                                             "i242"
+                                             "i240"
+                                             "i238"
+                                             "i236"
+                                             "i234"
+                                             "i232"
+                                             "i230"
+                                             "i228"
+                                             "i226"
+                                             "i224"
+                                             "i222"
+                                             "i220"
+                                             "i218"
+                                             "i216"
+                                             "i214"
+                                             "i212"
+                                             "i210"
+                                             "i208"))
                                           #(ribcage
                                             (define-structure
                                               define-expansion-accessors
                                               define-expansion-constructors)
                                             ((top) (top) (top))
-                                            ("i45" "i44" "i43")))
+                                            ("i46" "i45" "i44")))
                                          (hygiene guile)))
                                     #f))
-                                #{tmp 3787}#)
+                                #{tmp 15936}#)
                               #f)
                           (@apply
-                            (lambda (#{x 3794}# #{dots 3795}#)
+                            (lambda (#{x 15980}# #{dots 15981}#)
                               (call-with-values
                                 (lambda ()
-                                  (#{cvt 3752}#
-                                    #{x 3794}#
-                                    (#{1+}# #{n 3776}#)
-                                    #{ids 3777}#))
-                                (lambda (#{p 3797}# #{ids 3798}#)
+                                  (#{cvt 15799}#
+                                    #{x 15980}#
+                                    (#{1+}# #{n 15803}#)
+                                    #{ids 15804}#))
+                                (lambda (#{p 15982}# #{ids 15983}#)
                                   (values
-                                    (if (eq? #{p 3797}# 'any)
+                                    (if (eq? #{p 15982}# 'any)
                                       'each-any
-                                      (vector 'each #{p 3797}#))
-                                    #{ids 3798}#))))
-                            #{tmp 3787}#)
-                          (let ((#{tmp 3801}#
-                                  ($sc-dispatch #{p 3775}# '(any any . any))))
-                            (if (if #{tmp 3801}#
+                                      (vector 'each #{p 15982}#))
+                                    #{ids 15983}#))))
+                            #{tmp 15936}#)
+                          (let ((#{tmp 15984}#
+                                  ($sc-dispatch #{p 15802}# '(any any . any))))
+                            (if (if #{tmp 15984}#
                                   (@apply
-                                    (lambda (#{x 3805}#
-                                             #{dots 3806}#
-                                             #{ys 3807}#)
-                                      (if (if (if (vector? #{dots 3806}#)
+                                    (lambda (#{x 15988}#
+                                             #{dots 15989}#
+                                             #{ys 15990}#)
+                                      (if (if (if (vector? #{dots 15989}#)
                                                 (if (= (vector-length
-                                                         #{dots 3806}#)
+                                                         #{dots 15989}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{dots 3806}#
+                                                         #{dots 15989}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
                                             (symbol?
-                                              (vector-ref #{dots 3806}# 1))
+                                              (vector-ref #{dots 15989}# 1))
                                             #f)
-                                        (#{free-id=? 417}#
-                                          #{dots 3806}#
+                                        (#{free-id=? 4363}#
+                                          #{dots 15989}#
                                           '#(syntax-object
                                              ...
                                              ((top)
@@ -11578,7 +13715,7 @@
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i2262"))
+                                                #("i2263"))
                                               #(ribcage
                                                 (lambda-var-list
                                                   gen-var
@@ -11856,314 +13993,321 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i470"
-                                                 "i468"
-                                                 "i466"
-                                                 "i464"
-                                                 "i462"
-                                                 "i460"
-                                                 "i458"
-                                                 "i456"
-                                                 "i454"
-                                                 "i452"
-                                                 "i450"
-                                                 "i448"
-                                                 "i446"
-                                                 "i444"
-                                                 "i442"
-                                                 "i440"
-                                                 "i438"
-                                                 "i436"
-                                                 "i434"
-                                                 "i432"
-                                                 "i430"
-                                                 "i428"
-                                                 "i426"
-                                                 "i424"
-                                                 "i422"
-                                                 "i420"
-                                                 "i418"
-                                                 "i416"
-                                                 "i414"
-                                                 "i412"
-                                                 "i410"
-                                                 "i408"
-                                                 "i406"
-                                                 "i404"
+                                                ("i471"
+                                                 "i469"
+                                                 "i467"
+                                                 "i465"
+                                                 "i463"
+                                                 "i461"
+                                                 "i459"
+                                                 "i457"
+                                                 "i455"
+                                                 "i453"
+                                                 "i451"
+                                                 "i449"
+                                                 "i447"
+                                                 "i445"
+                                                 "i443"
+                                                 "i441"
+                                                 "i439"
+                                                 "i437"
+                                                 "i435"
+                                                 "i433"
+                                                 "i431"
+                                                 "i429"
+                                                 "i427"
+                                                 "i425"
+                                                 "i423"
+                                                 "i421"
+                                                 "i419"
+                                                 "i417"
+                                                 "i415"
+                                                 "i413"
+                                                 "i411"
+                                                 "i409"
+                                                 "i407"
+                                                 "i405"
+                                                 "i403"
                                                  "i402"
-                                                 "i401"
-                                                 "i399"
+                                                 "i400"
+                                                 "i397"
                                                  "i396"
                                                  "i395"
-                                                 "i394"
+                                                 "i393"
                                                  "i392"
-                                                 "i391"
-                                                 "i389"
-                                                 "i387"
-                                                 "i385"
-                                                 "i383"
-                                                 "i381"
-                                                 "i379"
-                                                 "i377"
-                                                 "i375"
-                                                 "i372"
+                                                 "i390"
+                                                 "i388"
+                                                 "i386"
+                                                 "i384"
+                                                 "i382"
+                                                 "i380"
+                                                 "i378"
+                                                 "i376"
+                                                 "i373"
+                                                 "i371"
                                                  "i370"
-                                                 "i369"
-                                                 "i367"
-                                                 "i365"
-                                                 "i363"
+                                                 "i368"
+                                                 "i366"
+                                                 "i364"
+                                                 "i362"
                                                  "i361"
                                                  "i360"
                                                  "i359"
-                                                 "i358"
+                                                 "i357"
                                                  "i356"
-                                                 "i355"
-                                                 "i352"
-                                                 "i350"
-                                                 "i348"
-                                                 "i346"
-                                                 "i344"
-                                                 "i342"
+                                                 "i353"
+                                                 "i351"
+                                                 "i349"
+                                                 "i347"
+                                                 "i345"
+                                                 "i343"
+                                                 "i341"
                                                  "i340"
                                                  "i339"
-                                                 "i338"
-                                                 "i336"
+                                                 "i337"
+                                                 "i335"
                                                  "i334"
-                                                 "i333"
+                                                 "i331"
                                                  "i330"
-                                                 "i329"
-                                                 "i327"
-                                                 "i325"
-                                                 "i323"
-                                                 "i321"
-                                                 "i319"
-                                                 "i317"
-                                                 "i315"
-                                                 "i313"
-                                                 "i311"
-                                                 "i308"
-                                                 "i306"
-                                                 "i304"
-                                                 "i302"
-                                                 "i300"
-                                                 "i298"
-                                                 "i296"
-                                                 "i294"
-                                                 "i292"
-                                                 "i290"
-                                                 "i288"
-                                                 "i286"
-                                                 "i284"
-                                                 "i282"
-                                                 "i280"
-                                                 "i278"
-                                                 "i276"
-                                                 "i274"
-                                                 "i272"
-                                                 "i270"
-                                                 "i268"
-                                                 "i266"
-                                                 "i264"
+                                                 "i328"
+                                                 "i326"
+                                                 "i324"
+                                                 "i322"
+                                                 "i320"
+                                                 "i318"
+                                                 "i316"
+                                                 "i314"
+                                                 "i312"
+                                                 "i309"
+                                                 "i307"
+                                                 "i305"
+                                                 "i303"
+                                                 "i301"
+                                                 "i299"
+                                                 "i297"
+                                                 "i295"
+                                                 "i293"
+                                                 "i291"
+                                                 "i289"
+                                                 "i287"
+                                                 "i285"
+                                                 "i283"
+                                                 "i281"
+                                                 "i279"
+                                                 "i277"
+                                                 "i275"
+                                                 "i273"
+                                                 "i271"
+                                                 "i269"
+                                                 "i267"
+                                                 "i265"
+                                                 "i263"
                                                  "i262"
-                                                 "i261"
-                                                 "i258"
+                                                 "i259"
+                                                 "i257"
                                                  "i256"
                                                  "i255"
                                                  "i254"
                                                  "i253"
-                                                 "i252"
-                                                 "i250"
-                                                 "i248"
-                                                 "i246"
-                                                 "i243"
-                                                 "i241"
-                                                 "i239"
-                                                 "i237"
-                                                 "i235"
-                                                 "i233"
-                                                 "i231"
-                                                 "i229"
-                                                 "i227"
-                                                 "i225"
-                                                 "i223"
-                                                 "i221"
-                                                 "i219"
-                                                 "i217"
-                                                 "i215"
-                                                 "i213"
-                                                 "i211"
-                                                 "i209"
-                                                 "i207"))
+                                                 "i251"
+                                                 "i249"
+                                                 "i247"
+                                                 "i244"
+                                                 "i242"
+                                                 "i240"
+                                                 "i238"
+                                                 "i236"
+                                                 "i234"
+                                                 "i232"
+                                                 "i230"
+                                                 "i228"
+                                                 "i226"
+                                                 "i224"
+                                                 "i222"
+                                                 "i220"
+                                                 "i218"
+                                                 "i216"
+                                                 "i214"
+                                                 "i212"
+                                                 "i210"
+                                                 "i208"))
                                               #(ribcage
                                                 (define-structure
                                                   define-expansion-accessors
                                                   
define-expansion-constructors)
                                                 ((top) (top) (top))
-                                                ("i45" "i44" "i43")))
+                                                ("i46" "i45" "i44")))
                                              (hygiene guile)))
                                         #f))
-                                    #{tmp 3801}#)
+                                    #{tmp 15984}#)
                                   #f)
                               (@apply
-                                (lambda (#{x 3811}# #{dots 3812}# #{ys 3813}#)
+                                (lambda (#{x 16029}#
+                                         #{dots 16030}#
+                                         #{ys 16031}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{cvt* 3748}#
-                                        #{ys 3813}#
-                                        #{n 3776}#
-                                        #{ids 3777}#))
-                                    (lambda (#{ys 3814}# #{ids 3815}#)
+                                      (#{cvt* 15797}#
+                                        #{ys 16031}#
+                                        #{n 15803}#
+                                        #{ids 15804}#))
+                                    (lambda (#{ys 16516}# #{ids 16517}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt 3752}#
-                                            #{x 3811}#
-                                            (#{1+}# #{n 3776}#)
-                                            #{ids 3815}#))
-                                        (lambda (#{x 3818}# #{ids 3819}#)
+                                          (#{cvt 15799}#
+                                            #{x 16029}#
+                                            (#{1+}# #{n 15803}#)
+                                            #{ids 16517}#))
+                                        (lambda (#{x 16518}# #{ids 16519}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{v-reverse 3750}# #{ys 3814}#))
-                                            (lambda (#{ys 3822}# #{e 3823}#)
+                                              (#{v-reverse 15798}#
+                                                #{ys 16516}#))
+                                            (lambda (#{ys 16555}# #{e 16556}#)
                                               (values
                                                 (vector
                                                   'each+
-                                                  #{x 3818}#
-                                                  #{ys 3822}#
-                                                  #{e 3823}#)
-                                                #{ids 3819}#))))))))
-                                #{tmp 3801}#)
-                              (let ((#{tmp 3827}#
-                                      ($sc-dispatch #{p 3775}# '(any . any))))
-                                (if #{tmp 3827}#
+                                                  #{x 16518}#
+                                                  #{ys 16555}#
+                                                  #{e 16556}#)
+                                                #{ids 16519}#))))))))
+                                #{tmp 15984}#)
+                              (let ((#{tmp 16557}#
+                                      ($sc-dispatch #{p 15802}# '(any . any))))
+                                (if #{tmp 16557}#
                                   (@apply
-                                    (lambda (#{x 3830}# #{y 3831}#)
+                                    (lambda (#{x 16561}# #{y 16562}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt 3752}#
-                                            #{y 3831}#
-                                            #{n 3776}#
-                                            #{ids 3777}#))
-                                        (lambda (#{y 3832}# #{ids 3833}#)
+                                          (#{cvt 15799}#
+                                            #{y 16562}#
+                                            #{n 15803}#
+                                            #{ids 15804}#))
+                                        (lambda (#{y 16563}# #{ids 16564}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{cvt 3752}#
-                                                #{x 3830}#
-                                                #{n 3776}#
-                                                #{ids 3833}#))
-                                            (lambda (#{x 3836}# #{ids 3837}#)
+                                              (#{cvt 15799}#
+                                                #{x 16561}#
+                                                #{n 15803}#
+                                                #{ids 16564}#))
+                                            (lambda (#{x 16565}# #{ids 16566}#)
                                               (values
-                                                (cons #{x 3836}# #{y 3832}#)
-                                                #{ids 3837}#))))))
-                                    #{tmp 3827}#)
-                                  (let ((#{tmp 3840}#
-                                          ($sc-dispatch #{p 3775}# '())))
-                                    (if #{tmp 3840}#
+                                                (cons #{x 16565}# #{y 16563}#)
+                                                #{ids 16566}#))))))
+                                    #{tmp 16557}#)
+                                  (let ((#{tmp 16567}#
+                                          ($sc-dispatch #{p 15802}# '())))
+                                    (if #{tmp 16567}#
                                       (@apply
-                                        (lambda () (values '() #{ids 3777}#))
-                                        #{tmp 3840}#)
-                                      (let ((#{tmp 3841}#
+                                        (lambda () (values '() #{ids 15804}#))
+                                        #{tmp 16567}#)
+                                      (let ((#{tmp 16571}#
                                               ($sc-dispatch
-                                                #{p 3775}#
+                                                #{p 15802}#
                                                 '#(vector each-any))))
-                                        (if #{tmp 3841}#
+                                        (if #{tmp 16571}#
                                           (@apply
-                                            (lambda (#{x 3843}#)
+                                            (lambda (#{x 16575}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{cvt 3752}#
-                                                    #{x 3843}#
-                                                    #{n 3776}#
-                                                    #{ids 3777}#))
-                                                (lambda (#{p 3845}#
-                                                         #{ids 3846}#)
+                                                  (#{cvt 15799}#
+                                                    #{x 16575}#
+                                                    #{n 15803}#
+                                                    #{ids 15804}#))
+                                                (lambda (#{p 16576}#
+                                                         #{ids 16577}#)
                                                   (values
-                                                    (vector 'vector #{p 3845}#)
-                                                    #{ids 3846}#))))
-                                            #{tmp 3841}#)
+                                                    (vector
+                                                      'vector
+                                                      #{p 16576}#)
+                                                    #{ids 16577}#))))
+                                            #{tmp 16571}#)
                                           (values
                                             (vector
                                               'atom
-                                              (#{strip 467}# #{p 3775}# '(())))
-                                            #{ids 3777}#)))))))))))))))
-               (#{cvt 3752}# #{pattern 3743}# 0 '()))))
-         (#{build-dispatch-call 3738}#
-           (lambda (#{pvars 3852}#
-                    #{exp 3853}#
-                    #{y 3854}#
-                    #{r 3855}#
-                    #{mod 3856}#)
-             (let ((#{ids 3864}# (map car #{pvars 3852}#)))
+                                              (#{strip 4388}#
+                                                #{p 15802}#
+                                                '(())))
+                                            #{ids 15804}#)))))))))))))))
+               (#{cvt 15799}# #{pattern 15795}# 0 '()))))
+         (#{build-dispatch-call 14158}#
+           (lambda (#{pvars 16711}#
+                    #{exp 16712}#
+                    #{y 16713}#
+                    #{r 16714}#
+                    #{mod 16715}#)
+             (let ((#{ids 16716}# (map car #{pvars 16711}#)))
                (begin
-                 (map cdr #{pvars 3852}#)
-                 (let ((#{labels 3868}#
-                         (#{gen-labels 373}# #{ids 3864}#))
-                       (#{new-vars 3869}#
-                         (map #{gen-var 469}# #{ids 3864}#)))
-                   (#{build-primcall 297}#
+                 (map cdr #{pvars 16711}#)
+                 (let ((#{labels 16718}#
+                         (#{gen-labels 4346}# #{ids 16716}#))
+                       (#{new-vars 16719}#
+                         (map #{gen-var 4389}# #{ids 16716}#)))
+                   (#{build-primcall 4321}#
                      #f
                      'apply
-                     (list (#{build-simple-lambda 291}#
+                     (list (#{build-simple-lambda 4318}#
                              #f
-                             (map syntax->datum #{ids 3864}#)
+                             (map syntax->datum #{ids 16716}#)
                              #f
-                             #{new-vars 3869}#
+                             #{new-vars 16719}#
                              '()
-                             (#{chi 441}#
-                               #{exp 3853}#
-                               (#{extend-env 341}#
-                                 #{labels 3868}#
-                                 (map (lambda (#{var 3872}# #{level 3873}#)
+                             (#{chi 4375}#
+                               #{exp 16712}#
+                               (#{extend-env 4337}#
+                                 #{labels 16718}#
+                                 (map (lambda (#{var 17051}# #{level 17052}#)
                                         (cons 'syntax
-                                              (cons #{var 3872}#
-                                                    #{level 3873}#)))
-                                      #{new-vars 3869}#
-                                      (map cdr #{pvars 3852}#))
-                                 #{r 3855}#)
-                               (#{make-binding-wrap 405}#
-                                 #{ids 3864}#
-                                 #{labels 3868}#
+                                              (cons #{var 17051}#
+                                                    #{level 17052}#)))
+                                      #{new-vars 16719}#
+                                      (map cdr #{pvars 16711}#))
+                                 #{r 16714}#)
+                               (#{make-binding-wrap 4357}#
+                                 #{ids 16716}#
+                                 #{labels 16718}#
                                  '(()))
-                               #{mod 3856}#))
-                           #{y 3854}#)))))))
-         (#{gen-clause 3740}#
-           (lambda (#{x 3879}#
-                    #{keys 3880}#
-                    #{clauses 3881}#
-                    #{r 3882}#
-                    #{pat 3883}#
-                    #{fender 3884}#
-                    #{exp 3885}#
-                    #{mod 3886}#)
+                               #{mod 16715}#))
+                           #{y 16713}#)))))))
+         (#{gen-clause 14159}#
+           (lambda (#{x 15389}#
+                    #{keys 15390}#
+                    #{clauses 15391}#
+                    #{r 15392}#
+                    #{pat 15393}#
+                    #{fender 15394}#
+                    #{exp 15395}#
+                    #{mod 15396}#)
              (call-with-values
                (lambda ()
-                 (#{convert-pattern 3736}#
-                   #{pat 3883}#
-                   #{keys 3880}#))
-               (lambda (#{p 3895}# #{pvars 3896}#)
-                 (if (not (#{distinct-bound-ids? 423}#
-                            (map car #{pvars 3896}#)))
+                 (#{convert-pattern 14157}#
+                   #{pat 15393}#
+                   #{keys 15390}#))
+               (lambda (#{p 15534}# #{pvars 15535}#)
+                 (if (not (#{distinct-bound-ids? 4366}#
+                            (map car #{pvars 15535}#)))
                    (syntax-violation
                      'syntax-case
                      "duplicate pattern variable"
-                     #{pat 3883}#)
+                     #{pat 15393}#)
                    (if (not (and-map
-                              (lambda (#{x 3903}#)
-                                (not (let ((#{x 10293}# (car #{x 3903}#)))
-                                       (if (if (if (vector? #{x 10293}#)
+                              (lambda (#{x 15644}#)
+                                (not (let ((#{x 15648}# (car #{x 15644}#)))
+                                       (if (if (if (vector? #{x 15648}#)
                                                  (if (= (vector-length
-                                                          #{x 10293}#)
+                                                          #{x 15648}#)
                                                         4)
                                                    (eq? (vector-ref
-                                                          #{x 10293}#
+                                                          #{x 15648}#
                                                           0)
                                                         'syntax-object)
                                                    #f)
                                                  #f)
                                              (symbol?
-                                               (vector-ref #{x 10293}# 1))
+                                               (vector-ref #{x 15648}# 1))
                                              #f)
-                                         (#{free-id=? 417}#
-                                           #{x 10293}#
+                                         (#{free-id=? 4363}#
+                                           #{x 15648}#
                                            '#(syntax-object
                                               ...
                                               ((top)
@@ -12172,7 +14316,7 @@
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i2262"))
+                                                 #("i2263"))
                                                #(ribcage
                                                  (lambda-var-list
                                                    gen-var
@@ -12450,189 +14594,189 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i470"
-                                                  "i468"
-                                                  "i466"
-                                                  "i464"
-                                                  "i462"
-                                                  "i460"
-                                                  "i458"
-                                                  "i456"
-                                                  "i454"
-                                                  "i452"
-                                                  "i450"
-                                                  "i448"
-                                                  "i446"
-                                                  "i444"
-                                                  "i442"
-                                                  "i440"
-                                                  "i438"
-                                                  "i436"
-                                                  "i434"
-                                                  "i432"
-                                                  "i430"
-                                                  "i428"
-                                                  "i426"
-                                                  "i424"
-                                                  "i422"
-                                                  "i420"
-                                                  "i418"
-                                                  "i416"
-                                                  "i414"
-                                                  "i412"
-                                                  "i410"
-                                                  "i408"
-                                                  "i406"
-                                                  "i404"
+                                                 ("i471"
+                                                  "i469"
+                                                  "i467"
+                                                  "i465"
+                                                  "i463"
+                                                  "i461"
+                                                  "i459"
+                                                  "i457"
+                                                  "i455"
+                                                  "i453"
+                                                  "i451"
+                                                  "i449"
+                                                  "i447"
+                                                  "i445"
+                                                  "i443"
+                                                  "i441"
+                                                  "i439"
+                                                  "i437"
+                                                  "i435"
+                                                  "i433"
+                                                  "i431"
+                                                  "i429"
+                                                  "i427"
+                                                  "i425"
+                                                  "i423"
+                                                  "i421"
+                                                  "i419"
+                                                  "i417"
+                                                  "i415"
+                                                  "i413"
+                                                  "i411"
+                                                  "i409"
+                                                  "i407"
+                                                  "i405"
+                                                  "i403"
                                                   "i402"
-                                                  "i401"
-                                                  "i399"
+                                                  "i400"
+                                                  "i397"
                                                   "i396"
                                                   "i395"
-                                                  "i394"
+                                                  "i393"
                                                   "i392"
-                                                  "i391"
-                                                  "i389"
-                                                  "i387"
-                                                  "i385"
-                                                  "i383"
-                                                  "i381"
-                                                  "i379"
-                                                  "i377"
-                                                  "i375"
-                                                  "i372"
+                                                  "i390"
+                                                  "i388"
+                                                  "i386"
+                                                  "i384"
+                                                  "i382"
+                                                  "i380"
+                                                  "i378"
+                                                  "i376"
+                                                  "i373"
+                                                  "i371"
                                                   "i370"
-                                                  "i369"
-                                                  "i367"
-                                                  "i365"
-                                                  "i363"
+                                                  "i368"
+                                                  "i366"
+                                                  "i364"
+                                                  "i362"
                                                   "i361"
                                                   "i360"
                                                   "i359"
-                                                  "i358"
+                                                  "i357"
                                                   "i356"
-                                                  "i355"
-                                                  "i352"
-                                                  "i350"
-                                                  "i348"
-                                                  "i346"
-                                                  "i344"
-                                                  "i342"
+                                                  "i353"
+                                                  "i351"
+                                                  "i349"
+                                                  "i347"
+                                                  "i345"
+                                                  "i343"
+                                                  "i341"
                                                   "i340"
                                                   "i339"
-                                                  "i338"
-                                                  "i336"
+                                                  "i337"
+                                                  "i335"
                                                   "i334"
-                                                  "i333"
+                                                  "i331"
                                                   "i330"
-                                                  "i329"
-                                                  "i327"
-                                                  "i325"
-                                                  "i323"
-                                                  "i321"
-                                                  "i319"
-                                                  "i317"
-                                                  "i315"
-                                                  "i313"
-                                                  "i311"
-                                                  "i308"
-                                                  "i306"
-                                                  "i304"
-                                                  "i302"
-                                                  "i300"
-                                                  "i298"
-                                                  "i296"
-                                                  "i294"
-                                                  "i292"
-                                                  "i290"
-                                                  "i288"
-                                                  "i286"
-                                                  "i284"
-                                                  "i282"
-                                                  "i280"
-                                                  "i278"
-                                                  "i276"
-                                                  "i274"
-                                                  "i272"
-                                                  "i270"
-                                                  "i268"
-                                                  "i266"
-                                                  "i264"
+                                                  "i328"
+                                                  "i326"
+                                                  "i324"
+                                                  "i322"
+                                                  "i320"
+                                                  "i318"
+                                                  "i316"
+                                                  "i314"
+                                                  "i312"
+                                                  "i309"
+                                                  "i307"
+                                                  "i305"
+                                                  "i303"
+                                                  "i301"
+                                                  "i299"
+                                                  "i297"
+                                                  "i295"
+                                                  "i293"
+                                                  "i291"
+                                                  "i289"
+                                                  "i287"
+                                                  "i285"
+                                                  "i283"
+                                                  "i281"
+                                                  "i279"
+                                                  "i277"
+                                                  "i275"
+                                                  "i273"
+                                                  "i271"
+                                                  "i269"
+                                                  "i267"
+                                                  "i265"
+                                                  "i263"
                                                   "i262"
-                                                  "i261"
-                                                  "i258"
+                                                  "i259"
+                                                  "i257"
                                                   "i256"
                                                   "i255"
                                                   "i254"
                                                   "i253"
-                                                  "i252"
-                                                  "i250"
-                                                  "i248"
-                                                  "i246"
-                                                  "i243"
-                                                  "i241"
-                                                  "i239"
-                                                  "i237"
-                                                  "i235"
-                                                  "i233"
-                                                  "i231"
-                                                  "i229"
-                                                  "i227"
-                                                  "i225"
-                                                  "i223"
-                                                  "i221"
-                                                  "i219"
-                                                  "i217"
-                                                  "i215"
-                                                  "i213"
-                                                  "i211"
-                                                  "i209"
-                                                  "i207"))
+                                                  "i251"
+                                                  "i249"
+                                                  "i247"
+                                                  "i244"
+                                                  "i242"
+                                                  "i240"
+                                                  "i238"
+                                                  "i236"
+                                                  "i234"
+                                                  "i232"
+                                                  "i230"
+                                                  "i228"
+                                                  "i226"
+                                                  "i224"
+                                                  "i222"
+                                                  "i220"
+                                                  "i218"
+                                                  "i216"
+                                                  "i214"
+                                                  "i212"
+                                                  "i210"
+                                                  "i208"))
                                                #(ribcage
                                                  (define-structure
                                                    define-expansion-accessors
                                                    
define-expansion-constructors)
                                                  ((top) (top) (top))
-                                                 ("i45" "i44" "i43")))
+                                                 ("i46" "i45" "i44")))
                                               (hygiene guile)))
                                          #f))))
-                              #{pvars 3896}#))
+                              #{pvars 15535}#))
                      (syntax-violation
                        'syntax-case
                        "misplaced ellipsis"
-                       #{pat 3883}#)
-                     (let ((#{y 3907}#
+                       #{pat 15393}#)
+                     (let ((#{y 15673}#
                              (gensym
                                (string-append (symbol->string 'tmp) " "))))
-                       (let ((#{fun-exp 10315}#
-                               (let ((#{req 10320}# (list 'tmp))
-                                     (#{vars 10322}# (list #{y 3907}#))
-                                     (#{exp 10324}#
-                                       (let ((#{y 3911}#
+                       (let ((#{fun-exp 15678}#
+                               (let ((#{req 15687}# (list 'tmp))
+                                     (#{vars 15689}# (list #{y 15673}#))
+                                     (#{exp 15691}#
+                                       (let ((#{y 15720}#
                                                (make-struct/no-tail
                                                  (vector-ref
                                                    %expanded-vtables
                                                    3)
                                                  #f
                                                  'tmp
-                                                 #{y 3907}#)))
-                                         (let ((#{test-exp 10339}#
-                                                 (let ((#{tmp 3915}#
+                                                 #{y 15673}#)))
+                                         (let ((#{test-exp 15724}#
+                                                 (let ((#{tmp 15733}#
                                                          ($sc-dispatch
-                                                           #{fender 3884}#
+                                                           #{fender 15394}#
                                                            '#(atom #t))))
-                                                   (if #{tmp 3915}#
+                                                   (if #{tmp 15733}#
                                                      (@apply
-                                                       (lambda () #{y 3911}#)
-                                                       #{tmp 3915}#)
-                                                     (let ((#{then-exp 10346}#
-                                                             
(#{build-dispatch-call 3738}#
-                                                               #{pvars 3896}#
-                                                               #{fender 3884}#
-                                                               #{y 3911}#
-                                                               #{r 3882}#
-                                                               #{mod 3886}#))
-                                                           (#{else-exp 10347}#
+                                                       (lambda () #{y 15720}#)
+                                                       #{tmp 15733}#)
+                                                     (let ((#{then-exp 15751}#
+                                                             
(#{build-dispatch-call 14158}#
+                                                               #{pvars 15535}#
+                                                               #{fender 15394}#
+                                                               #{y 15720}#
+                                                               #{r 15392}#
+                                                               #{mod 15396}#))
+                                                           (#{else-exp 15752}#
                                                              
(make-struct/no-tail
                                                                (vector-ref
                                                                  
%expanded-vtables
@@ -12644,81 +14788,81 @@
                                                            %expanded-vtables
                                                            10)
                                                          #f
-                                                         #{y 3911}#
-                                                         #{then-exp 10346}#
-                                                         #{else-exp 
10347}#)))))
-                                               (#{then-exp 10340}#
-                                                 (#{build-dispatch-call 3738}#
-                                                   #{pvars 3896}#
-                                                   #{exp 3885}#
-                                                   #{y 3911}#
-                                                   #{r 3882}#
-                                                   #{mod 3886}#))
-                                               (#{else-exp 10341}#
-                                                 (#{gen-syntax-case 3742}#
-                                                   #{x 3879}#
-                                                   #{keys 3880}#
-                                                   #{clauses 3881}#
-                                                   #{r 3882}#
-                                                   #{mod 3886}#)))
+                                                         #{y 15720}#
+                                                         #{then-exp 15751}#
+                                                         #{else-exp 
15752}#)))))
+                                               (#{then-exp 15725}#
+                                                 (#{build-dispatch-call 14158}#
+                                                   #{pvars 15535}#
+                                                   #{exp 15395}#
+                                                   #{y 15720}#
+                                                   #{r 15392}#
+                                                   #{mod 15396}#))
+                                               (#{else-exp 15726}#
+                                                 (#{gen-syntax-case 14160}#
+                                                   #{x 15389}#
+                                                   #{keys 15390}#
+                                                   #{clauses 15391}#
+                                                   #{r 15392}#
+                                                   #{mod 15396}#)))
                                            (make-struct/no-tail
                                              (vector-ref %expanded-vtables 10)
                                              #f
-                                             #{test-exp 10339}#
-                                             #{then-exp 10340}#
-                                             #{else-exp 10341}#)))))
-                                 (let ((#{body 10372}#
+                                             #{test-exp 15724}#
+                                             #{then-exp 15725}#
+                                             #{else-exp 15726}#)))))
+                                 (let ((#{body 15696}#
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 15)
                                            #f
-                                           #{req 10320}#
+                                           #{req 15687}#
                                            #f
                                            #f
                                            #f
                                            '()
-                                           #{vars 10322}#
-                                           #{exp 10324}#
+                                           #{vars 15689}#
+                                           #{exp 15691}#
                                            #f)))
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 14)
                                      #f
                                      '()
-                                     #{body 10372}#))))
-                             (#{arg-exps 10316}#
-                               (list (if (eq? #{p 3895}# 'any)
-                                       (let ((#{args 10388}#
-                                               (list #{x 3879}#)))
+                                     #{body 15696}#))))
+                             (#{arg-exps 15679}#
+                               (list (if (eq? #{p 15534}# 'any)
+                                       (let ((#{args 15774}#
+                                               (list #{x 15389}#)))
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 12)
                                            #f
                                            'list
-                                           #{args 10388}#))
-                                       (let ((#{args 10398}#
-                                               (list #{x 3879}#
+                                           #{args 15774}#))
+                                       (let ((#{args 15783}#
+                                               (list #{x 15389}#
                                                      (make-struct/no-tail
                                                        (vector-ref
                                                          %expanded-vtables
                                                          1)
                                                        #f
-                                                       #{p 3895}#))))
+                                                       #{p 15534}#))))
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 12)
                                            #f
                                            '$sc-dispatch
-                                           #{args 10398}#))))))
+                                           #{args 15783}#))))))
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 11)
                            #f
-                           #{fun-exp 10315}#
-                           #{arg-exps 10316}#)))))))))
-         (#{gen-syntax-case 3742}#
-           (lambda (#{x 3923}#
-                    #{keys 3924}#
-                    #{clauses 3925}#
-                    #{r 3926}#
-                    #{mod 3927}#)
-             (if (null? #{clauses 3925}#)
-               (let ((#{args 10421}#
+                           #{fun-exp 15678}#
+                           #{arg-exps 15679}#)))))))))
+         (#{gen-syntax-case 14160}#
+           (lambda (#{x 14888}#
+                    #{keys 14889}#
+                    #{clauses 14890}#
+                    #{r 14891}#
+                    #{mod 14892}#)
+             (if (null? #{clauses 14890}#)
+               (let ((#{args 14898}#
                        (list (make-struct/no-tail
                                (vector-ref %expanded-vtables 1)
                                #f
@@ -12727,56 +14871,57 @@
                                (vector-ref %expanded-vtables 1)
                                #f
                                "source expression failed to match any pattern")
-                             #{x 3923}#)))
+                             #{x 14888}#)))
                  (make-struct/no-tail
                    (vector-ref %expanded-vtables 12)
                    #f
                    'syntax-violation
-                   #{args 10421}#))
-               (let ((#{tmp 3936}# (car #{clauses 3925}#)))
-                 (let ((#{tmp 3937}#
-                         ($sc-dispatch #{tmp 3936}# '(any any))))
-                   (if #{tmp 3937}#
+                   #{args 14898}#))
+               (let ((#{tmp 14917}# (car #{clauses 14890}#)))
+                 (let ((#{tmp 14918}#
+                         ($sc-dispatch #{tmp 14917}# '(any any))))
+                   (if #{tmp 14918}#
                      (@apply
-                       (lambda (#{pat 3940}# #{exp 3941}#)
-                         (if (if (if (symbol? #{pat 3940}#)
+                       (lambda (#{pat 14920}# #{exp 14921}#)
+                         (if (if (if (symbol? #{pat 14920}#)
                                    #t
-                                   (if (if (vector? #{pat 3940}#)
-                                         (if (= (vector-length #{pat 3940}#) 4)
-                                           (eq? (vector-ref #{pat 3940}# 0)
+                                   (if (if (vector? #{pat 14920}#)
+                                         (if (= (vector-length #{pat 14920}#)
+                                                4)
+                                           (eq? (vector-ref #{pat 14920}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (symbol? (vector-ref #{pat 3940}# 1))
+                                     (symbol? (vector-ref #{pat 14920}# 1))
                                      #f))
                                (and-map
-                                 (lambda (#{x 3944}#)
-                                   (not (#{free-id=? 417}#
-                                          #{pat 3940}#
-                                          #{x 3944}#)))
+                                 (lambda (#{x 14948}#)
+                                   (not (#{free-id=? 4363}#
+                                          #{pat 14920}#
+                                          #{x 14948}#)))
                                  (cons '#(syntax-object
                                           ...
                                           ((top)
                                            #(ribcage
                                              #(pat exp)
                                              #((top) (top))
-                                             #("i3938" "i3939"))
+                                             #("i3939" "i3940"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x keys clauses r mod)
                                              #((top) (top) (top) (top) (top))
-                                             #("i3928"
-                                               "i3929"
+                                             #("i3929"
                                                "i3930"
                                                "i3931"
-                                               "i3932"))
+                                               "i3932"
+                                               "i3933"))
                                            #(ribcage
                                              (gen-syntax-case
                                                gen-clause
                                                build-dispatch-call
                                                convert-pattern)
                                              ((top) (top) (top) (top))
-                                             ("i3741" "i3739" "i3737" "i3735"))
+                                             ("i3742" "i3740" "i3738" "i3736"))
                                            #(ribcage
                                              (lambda-var-list
                                                gen-var
@@ -13054,177 +15199,177 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i470"
-                                              "i468"
-                                              "i466"
-                                              "i464"
-                                              "i462"
-                                              "i460"
-                                              "i458"
-                                              "i456"
-                                              "i454"
-                                              "i452"
-                                              "i450"
-                                              "i448"
-                                              "i446"
-                                              "i444"
-                                              "i442"
-                                              "i440"
-                                              "i438"
-                                              "i436"
-                                              "i434"
-                                              "i432"
-                                              "i430"
-                                              "i428"
-                                              "i426"
-                                              "i424"
-                                              "i422"
-                                              "i420"
-                                              "i418"
-                                              "i416"
-                                              "i414"
-                                              "i412"
-                                              "i410"
-                                              "i408"
-                                              "i406"
-                                              "i404"
+                                             ("i471"
+                                              "i469"
+                                              "i467"
+                                              "i465"
+                                              "i463"
+                                              "i461"
+                                              "i459"
+                                              "i457"
+                                              "i455"
+                                              "i453"
+                                              "i451"
+                                              "i449"
+                                              "i447"
+                                              "i445"
+                                              "i443"
+                                              "i441"
+                                              "i439"
+                                              "i437"
+                                              "i435"
+                                              "i433"
+                                              "i431"
+                                              "i429"
+                                              "i427"
+                                              "i425"
+                                              "i423"
+                                              "i421"
+                                              "i419"
+                                              "i417"
+                                              "i415"
+                                              "i413"
+                                              "i411"
+                                              "i409"
+                                              "i407"
+                                              "i405"
+                                              "i403"
                                               "i402"
-                                              "i401"
-                                              "i399"
+                                              "i400"
+                                              "i397"
                                               "i396"
                                               "i395"
-                                              "i394"
+                                              "i393"
                                               "i392"
-                                              "i391"
-                                              "i389"
-                                              "i387"
-                                              "i385"
-                                              "i383"
-                                              "i381"
-                                              "i379"
-                                              "i377"
-                                              "i375"
-                                              "i372"
+                                              "i390"
+                                              "i388"
+                                              "i386"
+                                              "i384"
+                                              "i382"
+                                              "i380"
+                                              "i378"
+                                              "i376"
+                                              "i373"
+                                              "i371"
                                               "i370"
-                                              "i369"
-                                              "i367"
-                                              "i365"
-                                              "i363"
+                                              "i368"
+                                              "i366"
+                                              "i364"
+                                              "i362"
                                               "i361"
                                               "i360"
                                               "i359"
-                                              "i358"
+                                              "i357"
                                               "i356"
-                                              "i355"
-                                              "i352"
-                                              "i350"
-                                              "i348"
-                                              "i346"
-                                              "i344"
-                                              "i342"
+                                              "i353"
+                                              "i351"
+                                              "i349"
+                                              "i347"
+                                              "i345"
+                                              "i343"
+                                              "i341"
                                               "i340"
                                               "i339"
-                                              "i338"
-                                              "i336"
+                                              "i337"
+                                              "i335"
                                               "i334"
-                                              "i333"
+                                              "i331"
                                               "i330"
-                                              "i329"
-                                              "i327"
-                                              "i325"
-                                              "i323"
-                                              "i321"
-                                              "i319"
-                                              "i317"
-                                              "i315"
-                                              "i313"
-                                              "i311"
-                                              "i308"
-                                              "i306"
-                                              "i304"
-                                              "i302"
-                                              "i300"
-                                              "i298"
-                                              "i296"
-                                              "i294"
-                                              "i292"
-                                              "i290"
-                                              "i288"
-                                              "i286"
-                                              "i284"
-                                              "i282"
-                                              "i280"
-                                              "i278"
-                                              "i276"
-                                              "i274"
-                                              "i272"
-                                              "i270"
-                                              "i268"
-                                              "i266"
-                                              "i264"
+                                              "i328"
+                                              "i326"
+                                              "i324"
+                                              "i322"
+                                              "i320"
+                                              "i318"
+                                              "i316"
+                                              "i314"
+                                              "i312"
+                                              "i309"
+                                              "i307"
+                                              "i305"
+                                              "i303"
+                                              "i301"
+                                              "i299"
+                                              "i297"
+                                              "i295"
+                                              "i293"
+                                              "i291"
+                                              "i289"
+                                              "i287"
+                                              "i285"
+                                              "i283"
+                                              "i281"
+                                              "i279"
+                                              "i277"
+                                              "i275"
+                                              "i273"
+                                              "i271"
+                                              "i269"
+                                              "i267"
+                                              "i265"
+                                              "i263"
                                               "i262"
-                                              "i261"
-                                              "i258"
+                                              "i259"
+                                              "i257"
                                               "i256"
                                               "i255"
                                               "i254"
                                               "i253"
-                                              "i252"
-                                              "i250"
-                                              "i248"
-                                              "i246"
-                                              "i243"
-                                              "i241"
-                                              "i239"
-                                              "i237"
-                                              "i235"
-                                              "i233"
-                                              "i231"
-                                              "i229"
-                                              "i227"
-                                              "i225"
-                                              "i223"
-                                              "i221"
-                                              "i219"
-                                              "i217"
-                                              "i215"
-                                              "i213"
-                                              "i211"
-                                              "i209"
-                                              "i207"))
+                                              "i251"
+                                              "i249"
+                                              "i247"
+                                              "i244"
+                                              "i242"
+                                              "i240"
+                                              "i238"
+                                              "i236"
+                                              "i234"
+                                              "i232"
+                                              "i230"
+                                              "i228"
+                                              "i226"
+                                              "i224"
+                                              "i222"
+                                              "i220"
+                                              "i218"
+                                              "i216"
+                                              "i214"
+                                              "i212"
+                                              "i210"
+                                              "i208"))
                                            #(ribcage
                                              (define-structure
                                                define-expansion-accessors
                                                define-expansion-constructors)
                                              ((top) (top) (top))
-                                             ("i45" "i44" "i43")))
+                                             ("i46" "i45" "i44")))
                                           (hygiene guile))
-                                       #{keys 3924}#))
+                                       #{keys 14889}#))
                                #f)
-                           (if (#{free-id=? 417}#
+                           (if (#{free-id=? 4363}#
                                  '#(syntax-object
                                     pad
                                     ((top)
                                      #(ribcage
                                        #(pat exp)
                                        #((top) (top))
-                                       #("i3938" "i3939"))
+                                       #("i3939" "i3940"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x keys clauses r mod)
                                        #((top) (top) (top) (top) (top))
-                                       #("i3928"
-                                         "i3929"
+                                       #("i3929"
                                          "i3930"
                                          "i3931"
-                                         "i3932"))
+                                         "i3932"
+                                         "i3933"))
                                      #(ribcage
                                        (gen-syntax-case
                                          gen-clause
                                          build-dispatch-call
                                          convert-pattern)
                                        ((top) (top) (top) (top))
-                                       ("i3741" "i3739" "i3737" "i3735"))
+                                       ("i3742" "i3740" "i3738" "i3736"))
                                      #(ribcage
                                        (lambda-var-list
                                          gen-var
@@ -13502,150 +15647,150 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i470"
-                                        "i468"
-                                        "i466"
-                                        "i464"
-                                        "i462"
-                                        "i460"
-                                        "i458"
-                                        "i456"
-                                        "i454"
-                                        "i452"
-                                        "i450"
-                                        "i448"
-                                        "i446"
-                                        "i444"
-                                        "i442"
-                                        "i440"
-                                        "i438"
-                                        "i436"
-                                        "i434"
-                                        "i432"
-                                        "i430"
-                                        "i428"
-                                        "i426"
-                                        "i424"
-                                        "i422"
-                                        "i420"
-                                        "i418"
-                                        "i416"
-                                        "i414"
-                                        "i412"
-                                        "i410"
-                                        "i408"
-                                        "i406"
-                                        "i404"
+                                       ("i471"
+                                        "i469"
+                                        "i467"
+                                        "i465"
+                                        "i463"
+                                        "i461"
+                                        "i459"
+                                        "i457"
+                                        "i455"
+                                        "i453"
+                                        "i451"
+                                        "i449"
+                                        "i447"
+                                        "i445"
+                                        "i443"
+                                        "i441"
+                                        "i439"
+                                        "i437"
+                                        "i435"
+                                        "i433"
+                                        "i431"
+                                        "i429"
+                                        "i427"
+                                        "i425"
+                                        "i423"
+                                        "i421"
+                                        "i419"
+                                        "i417"
+                                        "i415"
+                                        "i413"
+                                        "i411"
+                                        "i409"
+                                        "i407"
+                                        "i405"
+                                        "i403"
                                         "i402"
-                                        "i401"
-                                        "i399"
+                                        "i400"
+                                        "i397"
                                         "i396"
                                         "i395"
-                                        "i394"
+                                        "i393"
                                         "i392"
-                                        "i391"
-                                        "i389"
-                                        "i387"
-                                        "i385"
-                                        "i383"
-                                        "i381"
-                                        "i379"
-                                        "i377"
-                                        "i375"
-                                        "i372"
+                                        "i390"
+                                        "i388"
+                                        "i386"
+                                        "i384"
+                                        "i382"
+                                        "i380"
+                                        "i378"
+                                        "i376"
+                                        "i373"
+                                        "i371"
                                         "i370"
-                                        "i369"
-                                        "i367"
-                                        "i365"
-                                        "i363"
+                                        "i368"
+                                        "i366"
+                                        "i364"
+                                        "i362"
                                         "i361"
                                         "i360"
                                         "i359"
-                                        "i358"
+                                        "i357"
                                         "i356"
-                                        "i355"
-                                        "i352"
-                                        "i350"
-                                        "i348"
-                                        "i346"
-                                        "i344"
-                                        "i342"
+                                        "i353"
+                                        "i351"
+                                        "i349"
+                                        "i347"
+                                        "i345"
+                                        "i343"
+                                        "i341"
                                         "i340"
                                         "i339"
-                                        "i338"
-                                        "i336"
+                                        "i337"
+                                        "i335"
                                         "i334"
-                                        "i333"
+                                        "i331"
                                         "i330"
-                                        "i329"
-                                        "i327"
-                                        "i325"
-                                        "i323"
-                                        "i321"
-                                        "i319"
-                                        "i317"
-                                        "i315"
-                                        "i313"
-                                        "i311"
-                                        "i308"
-                                        "i306"
-                                        "i304"
-                                        "i302"
-                                        "i300"
-                                        "i298"
-                                        "i296"
-                                        "i294"
-                                        "i292"
-                                        "i290"
-                                        "i288"
-                                        "i286"
-                                        "i284"
-                                        "i282"
-                                        "i280"
-                                        "i278"
-                                        "i276"
-                                        "i274"
-                                        "i272"
-                                        "i270"
-                                        "i268"
-                                        "i266"
-                                        "i264"
+                                        "i328"
+                                        "i326"
+                                        "i324"
+                                        "i322"
+                                        "i320"
+                                        "i318"
+                                        "i316"
+                                        "i314"
+                                        "i312"
+                                        "i309"
+                                        "i307"
+                                        "i305"
+                                        "i303"
+                                        "i301"
+                                        "i299"
+                                        "i297"
+                                        "i295"
+                                        "i293"
+                                        "i291"
+                                        "i289"
+                                        "i287"
+                                        "i285"
+                                        "i283"
+                                        "i281"
+                                        "i279"
+                                        "i277"
+                                        "i275"
+                                        "i273"
+                                        "i271"
+                                        "i269"
+                                        "i267"
+                                        "i265"
+                                        "i263"
                                         "i262"
-                                        "i261"
-                                        "i258"
+                                        "i259"
+                                        "i257"
                                         "i256"
                                         "i255"
                                         "i254"
                                         "i253"
-                                        "i252"
-                                        "i250"
-                                        "i248"
-                                        "i246"
-                                        "i243"
-                                        "i241"
-                                        "i239"
-                                        "i237"
-                                        "i235"
-                                        "i233"
-                                        "i231"
-                                        "i229"
-                                        "i227"
-                                        "i225"
-                                        "i223"
-                                        "i221"
-                                        "i219"
-                                        "i217"
-                                        "i215"
-                                        "i213"
-                                        "i211"
-                                        "i209"
-                                        "i207"))
+                                        "i251"
+                                        "i249"
+                                        "i247"
+                                        "i244"
+                                        "i242"
+                                        "i240"
+                                        "i238"
+                                        "i236"
+                                        "i234"
+                                        "i232"
+                                        "i230"
+                                        "i228"
+                                        "i226"
+                                        "i224"
+                                        "i222"
+                                        "i220"
+                                        "i218"
+                                        "i216"
+                                        "i214"
+                                        "i212"
+                                        "i210"
+                                        "i208"))
                                      #(ribcage
                                        (define-structure
                                          define-expansion-accessors
                                          define-expansion-constructors)
                                        ((top) (top) (top))
-                                       ("i45" "i44" "i43")))
+                                       ("i46" "i45" "i44")))
                                     (hygiene guile))
                                  '#(syntax-object
                                     _
@@ -13653,23 +15798,23 @@
                                      #(ribcage
                                        #(pat exp)
                                        #((top) (top))
-                                       #("i3938" "i3939"))
+                                       #("i3939" "i3940"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x keys clauses r mod)
                                        #((top) (top) (top) (top) (top))
-                                       #("i3928"
-                                         "i3929"
+                                       #("i3929"
                                          "i3930"
                                          "i3931"
-                                         "i3932"))
+                                         "i3932"
+                                         "i3933"))
                                      #(ribcage
                                        (gen-syntax-case
                                          gen-clause
                                          build-dispatch-call
                                          convert-pattern)
                                        ((top) (top) (top) (top))
-                                       ("i3741" "i3739" "i3737" "i3735"))
+                                       ("i3742" "i3740" "i3738" "i3736"))
                                      #(ribcage
                                        (lambda-var-list
                                          gen-var
@@ -13947,1517 +16092,1543 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i470"
-                                        "i468"
-                                        "i466"
-                                        "i464"
-                                        "i462"
-                                        "i460"
-                                        "i458"
-                                        "i456"
-                                        "i454"
-                                        "i452"
-                                        "i450"
-                                        "i448"
-                                        "i446"
-                                        "i444"
-                                        "i442"
-                                        "i440"
-                                        "i438"
-                                        "i436"
-                                        "i434"
-                                        "i432"
-                                        "i430"
-                                        "i428"
-                                        "i426"
-                                        "i424"
-                                        "i422"
-                                        "i420"
-                                        "i418"
-                                        "i416"
-                                        "i414"
-                                        "i412"
-                                        "i410"
-                                        "i408"
-                                        "i406"
-                                        "i404"
+                                       ("i471"
+                                        "i469"
+                                        "i467"
+                                        "i465"
+                                        "i463"
+                                        "i461"
+                                        "i459"
+                                        "i457"
+                                        "i455"
+                                        "i453"
+                                        "i451"
+                                        "i449"
+                                        "i447"
+                                        "i445"
+                                        "i443"
+                                        "i441"
+                                        "i439"
+                                        "i437"
+                                        "i435"
+                                        "i433"
+                                        "i431"
+                                        "i429"
+                                        "i427"
+                                        "i425"
+                                        "i423"
+                                        "i421"
+                                        "i419"
+                                        "i417"
+                                        "i415"
+                                        "i413"
+                                        "i411"
+                                        "i409"
+                                        "i407"
+                                        "i405"
+                                        "i403"
                                         "i402"
-                                        "i401"
-                                        "i399"
+                                        "i400"
+                                        "i397"
                                         "i396"
                                         "i395"
-                                        "i394"
+                                        "i393"
                                         "i392"
-                                        "i391"
-                                        "i389"
-                                        "i387"
-                                        "i385"
-                                        "i383"
-                                        "i381"
-                                        "i379"
-                                        "i377"
-                                        "i375"
-                                        "i372"
+                                        "i390"
+                                        "i388"
+                                        "i386"
+                                        "i384"
+                                        "i382"
+                                        "i380"
+                                        "i378"
+                                        "i376"
+                                        "i373"
+                                        "i371"
                                         "i370"
-                                        "i369"
-                                        "i367"
-                                        "i365"
-                                        "i363"
+                                        "i368"
+                                        "i366"
+                                        "i364"
+                                        "i362"
                                         "i361"
                                         "i360"
                                         "i359"
-                                        "i358"
+                                        "i357"
                                         "i356"
-                                        "i355"
-                                        "i352"
-                                        "i350"
-                                        "i348"
-                                        "i346"
-                                        "i344"
-                                        "i342"
+                                        "i353"
+                                        "i351"
+                                        "i349"
+                                        "i347"
+                                        "i345"
+                                        "i343"
+                                        "i341"
                                         "i340"
                                         "i339"
-                                        "i338"
-                                        "i336"
+                                        "i337"
+                                        "i335"
                                         "i334"
-                                        "i333"
+                                        "i331"
                                         "i330"
-                                        "i329"
-                                        "i327"
-                                        "i325"
-                                        "i323"
-                                        "i321"
-                                        "i319"
-                                        "i317"
-                                        "i315"
-                                        "i313"
-                                        "i311"
-                                        "i308"
-                                        "i306"
-                                        "i304"
-                                        "i302"
-                                        "i300"
-                                        "i298"
-                                        "i296"
-                                        "i294"
-                                        "i292"
-                                        "i290"
-                                        "i288"
-                                        "i286"
-                                        "i284"
-                                        "i282"
-                                        "i280"
-                                        "i278"
-                                        "i276"
-                                        "i274"
-                                        "i272"
-                                        "i270"
-                                        "i268"
-                                        "i266"
-                                        "i264"
+                                        "i328"
+                                        "i326"
+                                        "i324"
+                                        "i322"
+                                        "i320"
+                                        "i318"
+                                        "i316"
+                                        "i314"
+                                        "i312"
+                                        "i309"
+                                        "i307"
+                                        "i305"
+                                        "i303"
+                                        "i301"
+                                        "i299"
+                                        "i297"
+                                        "i295"
+                                        "i293"
+                                        "i291"
+                                        "i289"
+                                        "i287"
+                                        "i285"
+                                        "i283"
+                                        "i281"
+                                        "i279"
+                                        "i277"
+                                        "i275"
+                                        "i273"
+                                        "i271"
+                                        "i269"
+                                        "i267"
+                                        "i265"
+                                        "i263"
                                         "i262"
-                                        "i261"
-                                        "i258"
+                                        "i259"
+                                        "i257"
                                         "i256"
                                         "i255"
                                         "i254"
                                         "i253"
-                                        "i252"
-                                        "i250"
-                                        "i248"
-                                        "i246"
-                                        "i243"
-                                        "i241"
-                                        "i239"
-                                        "i237"
-                                        "i235"
-                                        "i233"
-                                        "i231"
-                                        "i229"
-                                        "i227"
-                                        "i225"
-                                        "i223"
-                                        "i221"
-                                        "i219"
-                                        "i217"
-                                        "i215"
-                                        "i213"
-                                        "i211"
-                                        "i209"
-                                        "i207"))
+                                        "i251"
+                                        "i249"
+                                        "i247"
+                                        "i244"
+                                        "i242"
+                                        "i240"
+                                        "i238"
+                                        "i236"
+                                        "i234"
+                                        "i232"
+                                        "i230"
+                                        "i228"
+                                        "i226"
+                                        "i224"
+                                        "i222"
+                                        "i220"
+                                        "i218"
+                                        "i216"
+                                        "i214"
+                                        "i212"
+                                        "i210"
+                                        "i208"))
                                      #(ribcage
                                        (define-structure
                                          define-expansion-accessors
                                          define-expansion-constructors)
                                        ((top) (top) (top))
-                                       ("i45" "i44" "i43")))
+                                       ("i46" "i45" "i44")))
                                     (hygiene guile)))
-                             (#{chi 441}#
-                               #{exp 3941}#
-                               #{r 3926}#
+                             (#{chi 4375}#
+                               #{exp 14921}#
+                               #{r 14891}#
                                '(())
-                               #{mod 3927}#)
-                             (let ((#{labels 3949}#
+                               #{mod 14892}#)
+                             (let ((#{labels 15032}#
                                      (list (symbol->string (gensym "i"))))
-                                   (#{var 3950}#
-                                     (let ((#{id 10508}#
-                                             (if (if (vector? #{pat 3940}#)
+                                   (#{var 15033}#
+                                     (let ((#{id 15071}#
+                                             (if (if (vector? #{pat 14920}#)
                                                    (if (= (vector-length
-                                                            #{pat 3940}#)
+                                                            #{pat 14920}#)
                                                           4)
                                                      (eq? (vector-ref
-                                                            #{pat 3940}#
+                                                            #{pat 14920}#
                                                             0)
                                                           'syntax-object)
                                                      #f)
                                                    #f)
-                                               (vector-ref #{pat 3940}# 1)
-                                               #{pat 3940}#)))
+                                               (vector-ref #{pat 14920}# 1)
+                                               #{pat 14920}#)))
                                        (gensym
                                          (string-append
-                                           (symbol->string #{id 10508}#)
+                                           (symbol->string #{id 15071}#)
                                            " ")))))
-                               (#{build-call 273}#
+                               (#{build-call 4309}#
                                  #f
-                                 (#{build-simple-lambda 291}#
+                                 (#{build-simple-lambda 4318}#
                                    #f
-                                   (list (syntax->datum #{pat 3940}#))
+                                   (list (syntax->datum #{pat 14920}#))
                                    #f
-                                   (list #{var 3950}#)
+                                   (list #{var 15033}#)
                                    '()
-                                   (#{chi 441}#
-                                     #{exp 3941}#
-                                     (#{extend-env 341}#
-                                       #{labels 3949}#
+                                   (#{chi 4375}#
+                                     #{exp 14921}#
+                                     (#{extend-env 4337}#
+                                       #{labels 15032}#
                                        (list (cons 'syntax
-                                                   (cons #{var 3950}# 0)))
-                                       #{r 3926}#)
-                                     (#{make-binding-wrap 405}#
-                                       (list #{pat 3940}#)
-                                       #{labels 3949}#
+                                                   (cons #{var 15033}# 0)))
+                                       #{r 14891}#)
+                                     (#{make-binding-wrap 4357}#
+                                       (list #{pat 14920}#)
+                                       #{labels 15032}#
                                        '(()))
-                                     #{mod 3927}#))
-                                 (list #{x 3923}#))))
-                           (#{gen-clause 3740}#
-                             #{x 3923}#
-                             #{keys 3924}#
-                             (cdr #{clauses 3925}#)
-                             #{r 3926}#
-                             #{pat 3940}#
+                                     #{mod 14892}#))
+                                 (list #{x 14888}#))))
+                           (#{gen-clause 14159}#
+                             #{x 14888}#
+                             #{keys 14889}#
+                             (cdr #{clauses 14890}#)
+                             #{r 14891}#
+                             #{pat 14920}#
                              #t
-                             #{exp 3941}#
-                             #{mod 3927}#)))
-                       #{tmp 3937}#)
-                     (let ((#{tmp 3956}#
-                             ($sc-dispatch #{tmp 3936}# '(any any any))))
-                       (if #{tmp 3956}#
+                             #{exp 14921}#
+                             #{mod 14892}#)))
+                       #{tmp 14918}#)
+                     (let ((#{tmp 15381}#
+                             ($sc-dispatch #{tmp 14917}# '(any any any))))
+                       (if #{tmp 15381}#
                          (@apply
-                           (lambda (#{pat 3960}# #{fender 3961}# #{exp 3962}#)
-                             (#{gen-clause 3740}#
-                               #{x 3923}#
-                               #{keys 3924}#
-                               (cdr #{clauses 3925}#)
-                               #{r 3926}#
-                               #{pat 3960}#
-                               #{fender 3961}#
-                               #{exp 3962}#
-                               #{mod 3927}#))
-                           #{tmp 3956}#)
+                           (lambda (#{pat 15383}#
+                                    #{fender 15384}#
+                                    #{exp 15385}#)
+                             (#{gen-clause 14159}#
+                               #{x 14888}#
+                               #{keys 14889}#
+                               (cdr #{clauses 14890}#)
+                               #{r 14891}#
+                               #{pat 15383}#
+                               #{fender 15384}#
+                               #{exp 15385}#
+                               #{mod 14892}#))
+                           #{tmp 15381}#)
                          (syntax-violation
                            'syntax-case
                            "invalid clause"
-                           (car #{clauses 3925}#)))))))))))
-        (lambda (#{e 3965}#
-                 #{r 3966}#
-                 #{w 3967}#
-                 #{s 3968}#
-                 #{mod 3969}#)
-          (let ((#{e 3976}#
-                  (let ((#{x 10789}#
+                           (car #{clauses 14890}#)))))))))))
+        (lambda (#{e 14161}#
+                 #{r 14162}#
+                 #{w 14163}#
+                 #{s 14164}#
+                 #{mod 14165}#)
+          (let ((#{e 14166}#
+                  (let ((#{x 14799}#
                           (begin
-                            (if (if (pair? #{e 3965}#) #{s 3968}# #f)
-                              (set-source-properties! #{e 3965}# #{s 3968}#))
-                            #{e 3965}#)))
-                    (if (if (null? (car #{w 3967}#))
-                          (null? (cdr #{w 3967}#))
+                            (if (if (pair? #{e 14161}#) #{s 14164}# #f)
+                              (set-source-properties! #{e 14161}# #{s 14164}#))
+                            #{e 14161}#)))
+                    (if (if (null? (car #{w 14163}#))
+                          (null? (cdr #{w 14163}#))
                           #f)
-                      #{x 10789}#
-                      (if (if (vector? #{x 10789}#)
-                            (if (= (vector-length #{x 10789}#) 4)
-                              (eq? (vector-ref #{x 10789}# 0) 'syntax-object)
+                      #{x 14799}#
+                      (if (if (vector? #{x 14799}#)
+                            (if (= (vector-length #{x 14799}#) 4)
+                              (eq? (vector-ref #{x 14799}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 10801}# (vector-ref #{x 10789}# 1))
-                              (#{wrap 10802}#
-                                (let ((#{w2 10810}#
-                                        (vector-ref #{x 10789}# 2)))
-                                  (let ((#{m1 10811}# (car #{w 3967}#))
-                                        (#{s1 10812}# (cdr #{w 3967}#)))
-                                    (if (null? #{m1 10811}#)
-                                      (if (null? #{s1 10812}#)
-                                        #{w2 10810}#
-                                        (cons (car #{w2 10810}#)
-                                              (let ((#{m2 10819}#
-                                                      (cdr #{w2 10810}#)))
-                                                (if (null? #{m2 10819}#)
-                                                  #{s1 10812}#
+                        (let ((#{expression 14831}# (vector-ref #{x 14799}# 1))
+                              (#{wrap 14832}#
+                                (let ((#{w2 14840}#
+                                        (vector-ref #{x 14799}# 2)))
+                                  (let ((#{m1 14841}# (car #{w 14163}#))
+                                        (#{s1 14842}# (cdr #{w 14163}#)))
+                                    (if (null? #{m1 14841}#)
+                                      (if (null? #{s1 14842}#)
+                                        #{w2 14840}#
+                                        (cons (car #{w2 14840}#)
+                                              (let ((#{m2 14857}#
+                                                      (cdr #{w2 14840}#)))
+                                                (if (null? #{m2 14857}#)
+                                                  #{s1 14842}#
                                                   (append
-                                                    #{s1 10812}#
-                                                    #{m2 10819}#)))))
-                                      (cons (let ((#{m2 10823}#
-                                                    (car #{w2 10810}#)))
-                                              (if (null? #{m2 10823}#)
-                                                #{m1 10811}#
+                                                    #{s1 14842}#
+                                                    #{m2 14857}#)))))
+                                      (cons (let ((#{m2 14865}#
+                                                    (car #{w2 14840}#)))
+                                              (if (null? #{m2 14865}#)
+                                                #{m1 14841}#
                                                 (append
-                                                  #{m1 10811}#
-                                                  #{m2 10823}#)))
-                                            (let ((#{m2 10827}#
-                                                    (cdr #{w2 10810}#)))
-                                              (if (null? #{m2 10827}#)
-                                                #{s1 10812}#
+                                                  #{m1 14841}#
+                                                  #{m2 14865}#)))
+                                            (let ((#{m2 14873}#
+                                                    (cdr #{w2 14840}#)))
+                                              (if (null? #{m2 14873}#)
+                                                #{s1 14842}#
                                                 (append
-                                                  #{s1 10812}#
-                                                  #{m2 10827}#))))))))
-                              (#{module 10803}# (vector-ref #{x 10789}# 3)))
+                                                  #{s1 14842}#
+                                                  #{m2 14873}#))))))))
+                              (#{module 14833}# (vector-ref #{x 14799}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 10801}#
-                            #{wrap 10802}#
-                            #{module 10803}#))
-                        (if (null? #{x 10789}#)
-                          #{x 10789}#
+                            #{expression 14831}#
+                            #{wrap 14832}#
+                            #{module 14833}#))
+                        (if (null? #{x 14799}#)
+                          #{x 14799}#
                           (vector
                             'syntax-object
-                            #{x 10789}#
-                            #{w 3967}#
-                            #{mod 3969}#)))))))
-            (let ((#{tmp 3978}#
-                    ($sc-dispatch
-                      #{e 3976}#
-                      '(_ any each-any . each-any))))
-              (if #{tmp 3978}#
-                (@apply
-                  (lambda (#{val 3982}# #{key 3983}# #{m 3984}#)
-                    (if (and-map
-                          (lambda (#{x 3985}#)
-                            (if (if (symbol? #{x 3985}#)
-                                  #t
-                                  (if (if (vector? #{x 3985}#)
-                                        (if (= (vector-length #{x 3985}#) 4)
-                                          (eq? (vector-ref #{x 3985}# 0)
-                                               'syntax-object)
+                            #{x 14799}#
+                            #{w 14163}#
+                            #{mod 14165}#)))))))
+            (let ((#{tmp 14167}# #{e 14166}#))
+              (let ((#{tmp 14168}#
+                      ($sc-dispatch
+                        #{tmp 14167}#
+                        '(_ any each-any . each-any))))
+                (if #{tmp 14168}#
+                  (@apply
+                    (lambda (#{val 14216}# #{key 14217}# #{m 14218}#)
+                      (if (and-map
+                            (lambda (#{x 14219}#)
+                              (if (if (symbol? #{x 14219}#)
+                                    #t
+                                    (if (if (vector? #{x 14219}#)
+                                          (if (= (vector-length #{x 14219}#) 4)
+                                            (eq? (vector-ref #{x 14219}# 0)
+                                                 'syntax-object)
+                                            #f)
                                           #f)
-                                        #f)
-                                    (symbol? (vector-ref #{x 3985}# 1))
-                                    #f))
-                              (not (if (if (if (vector? #{x 3985}#)
-                                             (if (= (vector-length #{x 3985}#)
-                                                    4)
-                                               (eq? (vector-ref #{x 3985}# 0)
-                                                    'syntax-object)
+                                      (symbol? (vector-ref #{x 14219}# 1))
+                                      #f))
+                                (not (if (if (if (vector? #{x 14219}#)
+                                               (if (= (vector-length
+                                                        #{x 14219}#)
+                                                      4)
+                                                 (eq? (vector-ref
+                                                        #{x 14219}#
+                                                        0)
+                                                      'syntax-object)
+                                                 #f)
                                                #f)
-                                             #f)
-                                         (symbol? (vector-ref #{x 3985}# 1))
-                                         #f)
-                                     (#{free-id=? 417}#
-                                       #{x 3985}#
-                                       '#(syntax-object
-                                          ...
-                                          ((top)
-                                           #(ribcage () () ())
-                                           #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i2262"))
-                                           #(ribcage
-                                             (lambda-var-list
-                                               gen-var
-                                               strip
-                                               chi-lambda-case
-                                               lambda*-formals
-                                               chi-simple-lambda
-                                               lambda-formals
-                                               ellipsis?
-                                               chi-void
-                                               eval-local-transformer
-                                               chi-local-syntax
-                                               chi-body
-                                               chi-macro
-                                               chi-call
-                                               chi-expr
-                                               chi
-                                               syntax-type
-                                               chi-when-list
-                                               chi-install-global
-                                               chi-top-sequence
-                                               chi-sequence
-                                               source-wrap
-                                               wrap
-                                               bound-id-member?
-                                               distinct-bound-ids?
-                                               valid-bound-ids?
-                                               bound-id=?
-                                               free-id=?
-                                               id-var-name
-                                               same-marks?
-                                               join-marks
-                                               join-wraps
-                                               smart-append
-                                               make-binding-wrap
-                                               extend-ribcage!
-                                               make-empty-ribcage
-                                               new-mark
-                                               anti-mark
-                                               the-anti-mark
-                                               top-marked?
-                                               top-wrap
-                                               empty-wrap
-                                               set-ribcage-labels!
-                                               set-ribcage-marks!
-                                               set-ribcage-symnames!
-                                               ribcage-labels
-                                               ribcage-marks
-                                               ribcage-symnames
-                                               ribcage?
-                                               make-ribcage
-                                               gen-labels
-                                               gen-label
-                                               make-rename
-                                               rename-marks
-                                               rename-new
-                                               rename-old
-                                               subst-rename?
-                                               wrap-subst
-                                               wrap-marks
-                                               make-wrap
-                                               id-sym-name&marks
-                                               id-sym-name
-                                               id?
-                                               nonsymbol-id?
-                                               global-extend
-                                               lookup
-                                               macros-only-env
-                                               extend-var-env
-                                               extend-env
-                                               null-env
-                                               binding-value
-                                               binding-type
-                                               make-binding
-                                               arg-check
-                                               source-annotation
-                                               no-source
-                                               set-syntax-object-module!
-                                               set-syntax-object-wrap!
-                                               set-syntax-object-expression!
-                                               syntax-object-module
-                                               syntax-object-wrap
-                                               syntax-object-expression
-                                               syntax-object?
-                                               make-syntax-object
-                                               build-lexical-var
-                                               build-letrec
-                                               build-named-let
-                                               build-let
-                                               build-sequence
-                                               build-data
-                                               build-primref
-                                               build-primcall
-                                               build-lambda-case
-                                               build-case-lambda
-                                               build-simple-lambda
-                                               build-global-definition
-                                               build-global-assignment
-                                               build-global-reference
-                                               analyze-variable
-                                               build-lexical-assignment
-                                               build-lexical-reference
-                                               build-dynlet
-                                               build-conditional
-                                               build-call
-                                               build-void
-                                               maybe-name-value!
-                                               decorate-source
-                                               get-global-definition-hook
-                                               put-global-definition-hook
-                                               gensym-hook
-                                               local-eval-hook
-                                               top-level-eval-hook
-                                               fx<
-                                               fx=
-                                               fx-
-                                               fx+
-                                               set-lambda-meta!
-                                               lambda-meta
-                                               lambda?
-                                               make-dynlet
-                                               make-letrec
-                                               make-let
-                                               make-lambda-case
-                                               make-lambda
-                                               make-seq
-                                               make-primcall
-                                               make-call
-                                               make-conditional
-                                               make-toplevel-define
-                                               make-toplevel-set
-                                               make-toplevel-ref
-                                               make-module-set
-                                               make-module-ref
-                                               make-lexical-set
-                                               make-lexical-ref
-                                               make-primitive-ref
-                                               make-const
-                                               make-void)
-                                             ((top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top)
-                                              (top))
-                                             ("i470"
-                                              "i468"
-                                              "i466"
-                                              "i464"
-                                              "i462"
-                                              "i460"
-                                              "i458"
-                                              "i456"
-                                              "i454"
-                                              "i452"
-                                              "i450"
-                                              "i448"
-                                              "i446"
-                                              "i444"
-                                              "i442"
-                                              "i440"
-                                              "i438"
-                                              "i436"
-                                              "i434"
-                                              "i432"
-                                              "i430"
-                                              "i428"
-                                              "i426"
-                                              "i424"
-                                              "i422"
-                                              "i420"
-                                              "i418"
-                                              "i416"
-                                              "i414"
-                                              "i412"
-                                              "i410"
-                                              "i408"
-                                              "i406"
-                                              "i404"
-                                              "i402"
-                                              "i401"
-                                              "i399"
-                                              "i396"
-                                              "i395"
-                                              "i394"
-                                              "i392"
-                                              "i391"
-                                              "i389"
-                                              "i387"
-                                              "i385"
-                                              "i383"
-                                              "i381"
-                                              "i379"
-                                              "i377"
-                                              "i375"
-                                              "i372"
-                                              "i370"
-                                              "i369"
-                                              "i367"
-                                              "i365"
-                                              "i363"
-                                              "i361"
-                                              "i360"
-                                              "i359"
-                                              "i358"
-                                              "i356"
-                                              "i355"
-                                              "i352"
-                                              "i350"
-                                              "i348"
-                                              "i346"
-                                              "i344"
-                                              "i342"
-                                              "i340"
-                                              "i339"
-                                              "i338"
-                                              "i336"
-                                              "i334"
-                                              "i333"
-                                              "i330"
-                                              "i329"
-                                              "i327"
-                                              "i325"
-                                              "i323"
-                                              "i321"
-                                              "i319"
-                                              "i317"
-                                              "i315"
-                                              "i313"
-                                              "i311"
-                                              "i308"
-                                              "i306"
-                                              "i304"
-                                              "i302"
-                                              "i300"
-                                              "i298"
-                                              "i296"
-                                              "i294"
-                                              "i292"
-                                              "i290"
-                                              "i288"
-                                              "i286"
-                                              "i284"
-                                              "i282"
-                                              "i280"
-                                              "i278"
-                                              "i276"
-                                              "i274"
-                                              "i272"
-                                              "i270"
-                                              "i268"
-                                              "i266"
-                                              "i264"
-                                              "i262"
-                                              "i261"
-                                              "i258"
-                                              "i256"
-                                              "i255"
-                                              "i254"
-                                              "i253"
-                                              "i252"
-                                              "i250"
-                                              "i248"
-                                              "i246"
-                                              "i243"
-                                              "i241"
-                                              "i239"
-                                              "i237"
-                                              "i235"
-                                              "i233"
-                                              "i231"
-                                              "i229"
-                                              "i227"
-                                              "i225"
-                                              "i223"
-                                              "i221"
-                                              "i219"
-                                              "i217"
-                                              "i215"
-                                              "i213"
-                                              "i211"
-                                              "i209"
-                                              "i207"))
-                                           #(ribcage
-                                             (define-structure
-                                               define-expansion-accessors
-                                               define-expansion-constructors)
-                                             ((top) (top) (top))
-                                             ("i45" "i44" "i43")))
-                                          (hygiene guile)))
-                                     #f))
-                              #f))
-                          #{key 3983}#)
-                      (let ((#{x 3991}#
-                              (gensym
-                                (string-append (symbol->string 'tmp) " "))))
-                        (#{build-call 273}#
-                          #{s 3968}#
-                          (let ((#{req 10960}# (list 'tmp))
-                                (#{vars 10962}# (list #{x 3991}#))
-                                (#{exp 10964}#
-                                  (#{gen-syntax-case 3742}#
-                                    (make-struct/no-tail
-                                      (vector-ref %expanded-vtables 3)
-                                      #f
-                                      'tmp
-                                      #{x 3991}#)
-                                    #{key 3983}#
-                                    #{m 3984}#
-                                    #{r 3966}#
-                                    #{mod 3969}#)))
-                            (let ((#{body 10981}#
-                                    (make-struct/no-tail
-                                      (vector-ref %expanded-vtables 15)
-                                      #f
-                                      #{req 10960}#
-                                      #f
-                                      #f
-                                      #f
-                                      '()
-                                      #{vars 10962}#
-                                      #{exp 10964}#
-                                      #f)))
-                              (make-struct/no-tail
-                                (vector-ref %expanded-vtables 14)
-                                #f
-                                '()
-                                #{body 10981}#)))
-                          (list (#{chi 441}#
-                                  #{val 3982}#
-                                  #{r 3966}#
-                                  '(())
-                                  #{mod 3969}#))))
-                      (syntax-violation
-                        'syntax-case
-                        "invalid literals list"
-                        #{e 3976}#)))
-                  #{tmp 3978}#)
-                (syntax-violation
-                  #f
-                  "source expression failed to match any pattern"
-                  #{e 3976}#)))))))
+                                           (symbol? (vector-ref #{x 14219}# 1))
+                                           #f)
+                                       (#{free-id=? 4363}#
+                                         #{x 14219}#
+                                         '#(syntax-object
+                                            ...
+                                            ((top)
+                                             #(ribcage () () ())
+                                             #(ribcage () () ())
+                                             #(ribcage
+                                               #(x)
+                                               #((top))
+                                               #("i2263"))
+                                             #(ribcage
+                                               (lambda-var-list
+                                                 gen-var
+                                                 strip
+                                                 chi-lambda-case
+                                                 lambda*-formals
+                                                 chi-simple-lambda
+                                                 lambda-formals
+                                                 ellipsis?
+                                                 chi-void
+                                                 eval-local-transformer
+                                                 chi-local-syntax
+                                                 chi-body
+                                                 chi-macro
+                                                 chi-call
+                                                 chi-expr
+                                                 chi
+                                                 syntax-type
+                                                 chi-when-list
+                                                 chi-install-global
+                                                 chi-top-sequence
+                                                 chi-sequence
+                                                 source-wrap
+                                                 wrap
+                                                 bound-id-member?
+                                                 distinct-bound-ids?
+                                                 valid-bound-ids?
+                                                 bound-id=?
+                                                 free-id=?
+                                                 id-var-name
+                                                 same-marks?
+                                                 join-marks
+                                                 join-wraps
+                                                 smart-append
+                                                 make-binding-wrap
+                                                 extend-ribcage!
+                                                 make-empty-ribcage
+                                                 new-mark
+                                                 anti-mark
+                                                 the-anti-mark
+                                                 top-marked?
+                                                 top-wrap
+                                                 empty-wrap
+                                                 set-ribcage-labels!
+                                                 set-ribcage-marks!
+                                                 set-ribcage-symnames!
+                                                 ribcage-labels
+                                                 ribcage-marks
+                                                 ribcage-symnames
+                                                 ribcage?
+                                                 make-ribcage
+                                                 gen-labels
+                                                 gen-label
+                                                 make-rename
+                                                 rename-marks
+                                                 rename-new
+                                                 rename-old
+                                                 subst-rename?
+                                                 wrap-subst
+                                                 wrap-marks
+                                                 make-wrap
+                                                 id-sym-name&marks
+                                                 id-sym-name
+                                                 id?
+                                                 nonsymbol-id?
+                                                 global-extend
+                                                 lookup
+                                                 macros-only-env
+                                                 extend-var-env
+                                                 extend-env
+                                                 null-env
+                                                 binding-value
+                                                 binding-type
+                                                 make-binding
+                                                 arg-check
+                                                 source-annotation
+                                                 no-source
+                                                 set-syntax-object-module!
+                                                 set-syntax-object-wrap!
+                                                 set-syntax-object-expression!
+                                                 syntax-object-module
+                                                 syntax-object-wrap
+                                                 syntax-object-expression
+                                                 syntax-object?
+                                                 make-syntax-object
+                                                 build-lexical-var
+                                                 build-letrec
+                                                 build-named-let
+                                                 build-let
+                                                 build-sequence
+                                                 build-data
+                                                 build-primref
+                                                 build-primcall
+                                                 build-lambda-case
+                                                 build-case-lambda
+                                                 build-simple-lambda
+                                                 build-global-definition
+                                                 build-global-assignment
+                                                 build-global-reference
+                                                 analyze-variable
+                                                 build-lexical-assignment
+                                                 build-lexical-reference
+                                                 build-dynlet
+                                                 build-conditional
+                                                 build-call
+                                                 build-void
+                                                 maybe-name-value!
+                                                 decorate-source
+                                                 get-global-definition-hook
+                                                 put-global-definition-hook
+                                                 gensym-hook
+                                                 local-eval-hook
+                                                 top-level-eval-hook
+                                                 fx<
+                                                 fx=
+                                                 fx-
+                                                 fx+
+                                                 set-lambda-meta!
+                                                 lambda-meta
+                                                 lambda?
+                                                 make-dynlet
+                                                 make-letrec
+                                                 make-let
+                                                 make-lambda-case
+                                                 make-lambda
+                                                 make-seq
+                                                 make-primcall
+                                                 make-call
+                                                 make-conditional
+                                                 make-toplevel-define
+                                                 make-toplevel-set
+                                                 make-toplevel-ref
+                                                 make-module-set
+                                                 make-module-ref
+                                                 make-lexical-set
+                                                 make-lexical-ref
+                                                 make-primitive-ref
+                                                 make-const
+                                                 make-void)
+                                               ((top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top)
+                                                (top))
+                                               ("i471"
+                                                "i469"
+                                                "i467"
+                                                "i465"
+                                                "i463"
+                                                "i461"
+                                                "i459"
+                                                "i457"
+                                                "i455"
+                                                "i453"
+                                                "i451"
+                                                "i449"
+                                                "i447"
+                                                "i445"
+                                                "i443"
+                                                "i441"
+                                                "i439"
+                                                "i437"
+                                                "i435"
+                                                "i433"
+                                                "i431"
+                                                "i429"
+                                                "i427"
+                                                "i425"
+                                                "i423"
+                                                "i421"
+                                                "i419"
+                                                "i417"
+                                                "i415"
+                                                "i413"
+                                                "i411"
+                                                "i409"
+                                                "i407"
+                                                "i405"
+                                                "i403"
+                                                "i402"
+                                                "i400"
+                                                "i397"
+                                                "i396"
+                                                "i395"
+                                                "i393"
+                                                "i392"
+                                                "i390"
+                                                "i388"
+                                                "i386"
+                                                "i384"
+                                                "i382"
+                                                "i380"
+                                                "i378"
+                                                "i376"
+                                                "i373"
+                                                "i371"
+                                                "i370"
+                                                "i368"
+                                                "i366"
+                                                "i364"
+                                                "i362"
+                                                "i361"
+                                                "i360"
+                                                "i359"
+                                                "i357"
+                                                "i356"
+                                                "i353"
+                                                "i351"
+                                                "i349"
+                                                "i347"
+                                                "i345"
+                                                "i343"
+                                                "i341"
+                                                "i340"
+                                                "i339"
+                                                "i337"
+                                                "i335"
+                                                "i334"
+                                                "i331"
+                                                "i330"
+                                                "i328"
+                                                "i326"
+                                                "i324"
+                                                "i322"
+                                                "i320"
+                                                "i318"
+                                                "i316"
+                                                "i314"
+                                                "i312"
+                                                "i309"
+                                                "i307"
+                                                "i305"
+                                                "i303"
+                                                "i301"
+                                                "i299"
+                                                "i297"
+                                                "i295"
+                                                "i293"
+                                                "i291"
+                                                "i289"
+                                                "i287"
+                                                "i285"
+                                                "i283"
+                                                "i281"
+                                                "i279"
+                                                "i277"
+                                                "i275"
+                                                "i273"
+                                                "i271"
+                                                "i269"
+                                                "i267"
+                                                "i265"
+                                                "i263"
+                                                "i262"
+                                                "i259"
+                                                "i257"
+                                                "i256"
+                                                "i255"
+                                                "i254"
+                                                "i253"
+                                                "i251"
+                                                "i249"
+                                                "i247"
+                                                "i244"
+                                                "i242"
+                                                "i240"
+                                                "i238"
+                                                "i236"
+                                                "i234"
+                                                "i232"
+                                                "i230"
+                                                "i228"
+                                                "i226"
+                                                "i224"
+                                                "i222"
+                                                "i220"
+                                                "i218"
+                                                "i216"
+                                                "i214"
+                                                "i212"
+                                                "i210"
+                                                "i208"))
+                                             #(ribcage
+                                               (define-structure
+                                                 define-expansion-accessors
+                                                 define-expansion-constructors)
+                                               ((top) (top) (top))
+                                               ("i46" "i45" "i44")))
+                                            (hygiene guile)))
+                                       #f))
+                                #f))
+                            #{key 14217}#)
+                        (let ((#{x 14284}#
+                                (gensym
+                                  (string-append (symbol->string 'tmp) " "))))
+                          (#{build-call 4309}#
+                            #{s 14164}#
+                            (let ((#{req 14424}# (list 'tmp))
+                                  (#{vars 14426}# (list #{x 14284}#))
+                                  (#{exp 14428}#
+                                    (#{gen-syntax-case 14160}#
+                                      (make-struct/no-tail
+                                        (vector-ref %expanded-vtables 3)
+                                        #f
+                                        'tmp
+                                        #{x 14284}#)
+                                      #{key 14217}#
+                                      #{m 14218}#
+                                      #{r 14162}#
+                                      #{mod 14165}#)))
+                              (let ((#{body 14433}#
+                                      (make-struct/no-tail
+                                        (vector-ref %expanded-vtables 15)
+                                        #f
+                                        #{req 14424}#
+                                        #f
+                                        #f
+                                        #f
+                                        '()
+                                        #{vars 14426}#
+                                        #{exp 14428}#
+                                        #f)))
+                                (make-struct/no-tail
+                                  (vector-ref %expanded-vtables 14)
+                                  #f
+                                  '()
+                                  #{body 14433}#)))
+                            (list (#{chi 4375}#
+                                    #{val 14216}#
+                                    #{r 14162}#
+                                    '(())
+                                    #{mod 14165}#))))
+                        (syntax-violation
+                          'syntax-case
+                          "invalid literals list"
+                          #{e 14166}#)))
+                    #{tmp 14168}#)
+                  (syntax-violation
+                    #f
+                    "source expression failed to match any pattern"
+                    #{tmp 14167}#))))))))
     (set! macroexpand
       (lambda*
-        (#{x 3997}#
+        (#{x 17153}#
           #:optional
-          (#{m 3999}# 'e)
-          (#{esew 4001}# '(eval)))
-        (#{chi-top-sequence 433}#
-          (list #{x 3997}#)
+          (#{m 17154}# 'e)
+          (#{esew 17155}# '(eval)))
+        (#{chi-top-sequence 4371}#
+          (list #{x 17153}#)
           '()
           '((top))
           #f
-          #{m 3999}#
-          #{esew 4001}#
+          #{m 17154}#
+          #{esew 17155}#
           (cons 'hygiene (module-name (current-module))))))
     (set! identifier?
-      (lambda (#{x 4005}#)
-        (if (if (vector? #{x 4005}#)
-              (if (= (vector-length #{x 4005}#) 4)
-                (eq? (vector-ref #{x 4005}# 0) 'syntax-object)
+      (lambda (#{x 17158}#)
+        (if (if (vector? #{x 17158}#)
+              (if (= (vector-length #{x 17158}#) 4)
+                (eq? (vector-ref #{x 17158}# 0) 'syntax-object)
                 #f)
               #f)
-          (symbol? (vector-ref #{x 4005}# 1))
+          (symbol? (vector-ref #{x 17158}# 1))
           #f)))
     (set! datum->syntax
-      (lambda (#{id 4007}# #{datum 4008}#)
-        (let ((#{wrap 11055}# (vector-ref #{id 4007}# 2))
-              (#{module 11056}# (vector-ref #{id 4007}# 3)))
+      (lambda (#{id 17183}# #{datum 17184}#)
+        (let ((#{wrap 17189}# (vector-ref #{id 17183}# 2))
+              (#{module 17190}# (vector-ref #{id 17183}# 3)))
           (vector
             'syntax-object
-            #{datum 4008}#
-            #{wrap 11055}#
-            #{module 11056}#))))
+            #{datum 17184}#
+            #{wrap 17189}#
+            #{module 17190}#))))
     (set! syntax->datum
-      (lambda (#{x 4011}#)
-        (#{strip 467}# #{x 4011}# '(()))))
+      (lambda (#{x 17197}#)
+        (#{strip 4388}# #{x 17197}# '(()))))
     (set! syntax-source
-      (lambda (#{x 4014}#)
-        (#{source-annotation 331}# #{x 4014}#)))
+      (lambda (#{x 17200}#)
+        (#{source-annotation 4336}# #{x 17200}#)))
     (set! generate-temporaries
-      (lambda (#{ls 4016}#)
+      (lambda (#{ls 17390}#)
         (begin
-          (if (not (list? #{ls 4016}#))
+          (if (not (list? #{ls 17390}#))
             (syntax-violation
               'generate-temporaries
               "invalid argument"
-              #{ls 4016}#))
-          (let ((#{mod 4022}#
+              #{ls 17390}#))
+          (let ((#{mod 17398}#
                   (cons 'hygiene (module-name (current-module)))))
-            (map (lambda (#{x 4023}#)
-                   (let ((#{x 11191}# (gensym)))
-                     (if (if (vector? #{x 11191}#)
-                           (if (= (vector-length #{x 11191}#) 4)
-                             (eq? (vector-ref #{x 11191}# 0) 'syntax-object)
+            (map (lambda (#{x 17399}#)
+                   (let ((#{x 17403}# (gensym)))
+                     (if (if (vector? #{x 17403}#)
+                           (if (= (vector-length #{x 17403}#) 4)
+                             (eq? (vector-ref #{x 17403}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (let ((#{expression 11200}# (vector-ref #{x 11191}# 1))
-                             (#{wrap 11201}#
-                               (let ((#{w2 11209}# (vector-ref #{x 11191}# 2)))
-                                 (cons (let ((#{m2 11219}# (car #{w2 11209}#)))
-                                         (if (null? #{m2 11219}#)
+                       (let ((#{expression 17418}# (vector-ref #{x 17403}# 1))
+                             (#{wrap 17419}#
+                               (let ((#{w2 17427}# (vector-ref #{x 17403}# 2)))
+                                 (cons (let ((#{m2 17434}# (car #{w2 17427}#)))
+                                         (if (null? #{m2 17434}#)
                                            '(top)
-                                           (append '(top) #{m2 11219}#)))
-                                       (let ((#{m2 11223}# (cdr #{w2 11209}#)))
-                                         (if (null? #{m2 11223}#)
+                                           (append '(top) #{m2 17434}#)))
+                                       (let ((#{m2 17441}# (cdr #{w2 17427}#)))
+                                         (if (null? #{m2 17441}#)
                                            '()
-                                           (append '() #{m2 11223}#))))))
-                             (#{module 11202}# (vector-ref #{x 11191}# 3)))
+                                           (append '() #{m2 17441}#))))))
+                             (#{module 17420}# (vector-ref #{x 17403}# 3)))
                          (vector
                            'syntax-object
-                           #{expression 11200}#
-                           #{wrap 11201}#
-                           #{module 11202}#))
-                       (if (null? #{x 11191}#)
-                         #{x 11191}#
+                           #{expression 17418}#
+                           #{wrap 17419}#
+                           #{module 17420}#))
+                       (if (null? #{x 17403}#)
+                         #{x 17403}#
                          (vector
                            'syntax-object
-                           #{x 11191}#
+                           #{x 17403}#
                            '((top))
-                           #{mod 4022}#)))))
-                 #{ls 4016}#)))))
+                           #{mod 17398}#)))))
+                 #{ls 17390}#)))))
     (set! free-identifier=?
-      (lambda (#{x 4027}# #{y 4028}#)
+      (lambda (#{x 17450}# #{y 17451}#)
         (begin
-          (if (not (if (if (vector? #{x 4027}#)
-                         (if (= (vector-length #{x 4027}#) 4)
-                           (eq? (vector-ref #{x 4027}# 0) 'syntax-object)
+          (if (not (if (if (vector? #{x 17450}#)
+                         (if (= (vector-length #{x 17450}#) 4)
+                           (eq? (vector-ref #{x 17450}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{x 4027}# 1))
+                     (symbol? (vector-ref #{x 17450}# 1))
                      #f))
             (syntax-violation
               'free-identifier=?
               "invalid argument"
-              #{x 4027}#))
-          (if (not (if (if (vector? #{y 4028}#)
-                         (if (= (vector-length #{y 4028}#) 4)
-                           (eq? (vector-ref #{y 4028}# 0) 'syntax-object)
+              #{x 17450}#))
+          (if (not (if (if (vector? #{y 17451}#)
+                         (if (= (vector-length #{y 17451}#) 4)
+                           (eq? (vector-ref #{y 17451}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{y 4028}# 1))
+                     (symbol? (vector-ref #{y 17451}# 1))
                      #f))
             (syntax-violation
               'free-identifier=?
               "invalid argument"
-              #{y 4028}#))
-          (#{free-id=? 417}# #{x 4027}# #{y 4028}#))))
+              #{y 17451}#))
+          (#{free-id=? 4363}# #{x 17450}# #{y 17451}#))))
     (set! bound-identifier=?
-      (lambda (#{x 4037}# #{y 4038}#)
+      (lambda (#{x 17526}# #{y 17527}#)
         (begin
-          (if (not (if (if (vector? #{x 4037}#)
-                         (if (= (vector-length #{x 4037}#) 4)
-                           (eq? (vector-ref #{x 4037}# 0) 'syntax-object)
+          (if (not (if (if (vector? #{x 17526}#)
+                         (if (= (vector-length #{x 17526}#) 4)
+                           (eq? (vector-ref #{x 17526}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{x 4037}# 1))
+                     (symbol? (vector-ref #{x 17526}# 1))
                      #f))
             (syntax-violation
               'bound-identifier=?
               "invalid argument"
-              #{x 4037}#))
-          (if (not (if (if (vector? #{y 4038}#)
-                         (if (= (vector-length #{y 4038}#) 4)
-                           (eq? (vector-ref #{y 4038}# 0) 'syntax-object)
+              #{x 17526}#))
+          (if (not (if (if (vector? #{y 17527}#)
+                         (if (= (vector-length #{y 17527}#) 4)
+                           (eq? (vector-ref #{y 17527}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{y 4038}# 1))
+                     (symbol? (vector-ref #{y 17527}# 1))
                      #f))
             (syntax-violation
               'bound-identifier=?
               "invalid argument"
-              #{y 4038}#))
-          (#{bound-id=? 419}# #{x 4037}# #{y 4038}#))))
+              #{y 17527}#))
+          (#{bound-id=? 4364}# #{x 17526}# #{y 17527}#))))
     (set! syntax-violation
       (lambda*
-        (#{who 4047}#
-          #{message 4048}#
-          #{form 4049}#
+        (#{who 17693}#
+          #{message 17694}#
+          #{form 17695}#
           #:optional
-          (#{subform 4053}# #f))
+          (#{subform 17696}# #f))
         (begin
-          (if (not (if (not #{who 4047}#)
-                     (not #{who 4047}#)
-                     (let ((#{t 4065}# (string? #{who 4047}#)))
-                       (if #{t 4065}# #{t 4065}# (symbol? #{who 4047}#)))))
+          (if (not (if (not #{who 17693}#)
+                     (not #{who 17693}#)
+                     (let ((#{t 17714}# (string? #{who 17693}#)))
+                       (if #{t 17714}#
+                         #{t 17714}#
+                         (symbol? #{who 17693}#)))))
             (syntax-violation
               'syntax-violation
               "invalid argument"
-              #{who 4047}#))
-          (if (not (string? #{message 4048}#))
+              #{who 17693}#))
+          (if (not (string? #{message 17694}#))
             (syntax-violation
               'syntax-violation
               "invalid argument"
-              #{message 4048}#))
+              #{message 17694}#))
           (throw 'syntax-error
-                 #{who 4047}#
-                 #{message 4048}#
-                 (#{source-annotation 331}#
-                   (if #{form 4049}# #{form 4049}# #{subform 4053}#))
-                 (#{strip 467}# #{form 4049}# '(()))
-                 (if #{subform 4053}#
-                   (#{strip 467}# #{subform 4053}# '(()))
+                 #{who 17693}#
+                 #{message 17694}#
+                 (#{source-annotation 4336}#
+                   (if #{form 17695}#
+                     #{form 17695}#
+                     #{subform 17696}#))
+                 (#{strip 4388}# #{form 17695}# '(()))
+                 (if #{subform 17696}#
+                   (#{strip 4388}# #{subform 17696}# '(()))
                    #f)))))
     (letrec*
-      ((#{match-each 4079}#
-         (lambda (#{e 4092}# #{p 4093}# #{w 4094}# #{mod 4095}#)
-           (if (pair? #{e 4092}#)
-             (let ((#{first 4103}#
-                     (#{match 4091}#
-                       (car #{e 4092}#)
-                       #{p 4093}#
-                       #{w 4094}#
+      ((#{match-each 17956}#
+         (lambda (#{e 18844}#
+                  #{p 18845}#
+                  #{w 18846}#
+                  #{mod 18847}#)
+           (if (pair? #{e 18844}#)
+             (let ((#{first 18848}#
+                     (#{match 17962}#
+                       (car #{e 18844}#)
+                       #{p 18845}#
+                       #{w 18846}#
                        '()
-                       #{mod 4095}#)))
-               (if #{first 4103}#
-                 (let ((#{rest 4107}#
-                         (#{match-each 4079}#
-                           (cdr #{e 4092}#)
-                           #{p 4093}#
-                           #{w 4094}#
-                           #{mod 4095}#)))
-                   (if #{rest 4107}#
-                     (cons #{first 4103}# #{rest 4107}#)
+                       #{mod 18847}#)))
+               (if #{first 18848}#
+                 (let ((#{rest 18851}#
+                         (#{match-each 17956}#
+                           (cdr #{e 18844}#)
+                           #{p 18845}#
+                           #{w 18846}#
+                           #{mod 18847}#)))
+                   (if #{rest 18851}#
+                     (cons #{first 18848}# #{rest 18851}#)
                      #f))
                  #f))
-             (if (null? #{e 4092}#)
+             (if (null? #{e 18844}#)
                '()
-               (if (if (vector? #{e 4092}#)
-                     (if (= (vector-length #{e 4092}#) 4)
-                       (eq? (vector-ref #{e 4092}# 0) 'syntax-object)
+               (if (if (vector? #{e 18844}#)
+                     (if (= (vector-length #{e 18844}#) 4)
+                       (eq? (vector-ref #{e 18844}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (#{match-each 4079}#
-                   (vector-ref #{e 4092}# 1)
-                   #{p 4093}#
-                   (let ((#{w2 11457}# (vector-ref #{e 4092}# 2)))
-                     (let ((#{m1 11458}# (car #{w 4094}#))
-                           (#{s1 11459}# (cdr #{w 4094}#)))
-                       (if (null? #{m1 11458}#)
-                         (if (null? #{s1 11459}#)
-                           #{w2 11457}#
-                           (cons (car #{w2 11457}#)
-                                 (let ((#{m2 11466}# (cdr #{w2 11457}#)))
-                                   (if (null? #{m2 11466}#)
-                                     #{s1 11459}#
-                                     (append #{s1 11459}# #{m2 11466}#)))))
-                         (cons (let ((#{m2 11470}# (car #{w2 11457}#)))
-                                 (if (null? #{m2 11470}#)
-                                   #{m1 11458}#
-                                   (append #{m1 11458}# #{m2 11470}#)))
-                               (let ((#{m2 11474}# (cdr #{w2 11457}#)))
-                                 (if (null? #{m2 11474}#)
-                                   #{s1 11459}#
-                                   (append #{s1 11459}# #{m2 11474}#)))))))
-                   (vector-ref #{e 4092}# 3))
+                 (#{match-each 17956}#
+                   (vector-ref #{e 18844}# 1)
+                   #{p 18845}#
+                   (let ((#{w2 18873}# (vector-ref #{e 18844}# 2)))
+                     (let ((#{m1 18874}# (car #{w 18846}#))
+                           (#{s1 18875}# (cdr #{w 18846}#)))
+                       (if (null? #{m1 18874}#)
+                         (if (null? #{s1 18875}#)
+                           #{w2 18873}#
+                           (cons (car #{w2 18873}#)
+                                 (let ((#{m2 18886}# (cdr #{w2 18873}#)))
+                                   (if (null? #{m2 18886}#)
+                                     #{s1 18875}#
+                                     (append #{s1 18875}# #{m2 18886}#)))))
+                         (cons (let ((#{m2 18894}# (car #{w2 18873}#)))
+                                 (if (null? #{m2 18894}#)
+                                   #{m1 18874}#
+                                   (append #{m1 18874}# #{m2 18894}#)))
+                               (let ((#{m2 18902}# (cdr #{w2 18873}#)))
+                                 (if (null? #{m2 18902}#)
+                                   #{s1 18875}#
+                                   (append #{s1 18875}# #{m2 18902}#)))))))
+                   (vector-ref #{e 18844}# 3))
                  #f)))))
-       (#{match-each+ 4081}#
-         (lambda (#{e 4115}#
-                  #{x-pat 4116}#
-                  #{y-pat 4117}#
-                  #{z-pat 4118}#
-                  #{w 4119}#
-                  #{r 4120}#
-                  #{mod 4121}#)
-           (letrec*
-             ((#{f 4132}#
-                (lambda (#{e 4133}# #{w 4134}#)
-                  (if (pair? #{e 4133}#)
-                    (call-with-values
-                      (lambda ()
-                        (#{f 4132}# (cdr #{e 4133}#) #{w 4134}#))
-                      (lambda (#{xr* 4137}# #{y-pat 4138}# #{r 4139}#)
-                        (if #{r 4139}#
-                          (if (null? #{y-pat 4138}#)
-                            (let ((#{xr 4144}#
-                                    (#{match 4091}#
-                                      (car #{e 4133}#)
-                                      #{x-pat 4116}#
-                                      #{w 4134}#
-                                      '()
-                                      #{mod 4121}#)))
-                              (if #{xr 4144}#
-                                (values
-                                  (cons #{xr 4144}# #{xr* 4137}#)
-                                  #{y-pat 4138}#
-                                  #{r 4139}#)
-                                (values #f #f #f)))
-                            (values
-                              '()
-                              (cdr #{y-pat 4138}#)
-                              (#{match 4091}#
-                                (car #{e 4133}#)
-                                (car #{y-pat 4138}#)
-                                #{w 4134}#
-                                #{r 4139}#
-                                #{mod 4121}#)))
-                          (values #f #f #f))))
-                    (if (if (vector? #{e 4133}#)
-                          (if (= (vector-length #{e 4133}#) 4)
-                            (eq? (vector-ref #{e 4133}# 0) 'syntax-object)
-                            #f)
-                          #f)
-                      (#{f 4132}#
-                        (vector-ref #{e 4133}# 1)
-                        (let ((#{m1 11490}# (car #{w 4134}#))
-                              (#{s1 11491}# (cdr #{w 4134}#)))
-                          (if (null? #{m1 11490}#)
-                            (if (null? #{s1 11491}#)
-                              #{e 4133}#
-                              (cons (car #{e 4133}#)
-                                    (let ((#{m2 11495}# (cdr #{e 4133}#)))
-                                      (if (null? #{m2 11495}#)
-                                        #{s1 11491}#
-                                        (append #{s1 11491}# #{m2 11495}#)))))
-                            (cons (let ((#{m2 11499}# (car #{e 4133}#)))
-                                    (if (null? #{m2 11499}#)
-                                      #{m1 11490}#
-                                      (append #{m1 11490}# #{m2 11499}#)))
-                                  (let ((#{m2 11503}# (cdr #{e 4133}#)))
-                                    (if (null? #{m2 11503}#)
-                                      #{s1 11491}#
-                                      (append #{s1 11491}# #{m2 11503}#)))))))
-                      (values
-                        '()
-                        #{y-pat 4117}#
-                        (#{match 4091}#
-                          #{e 4133}#
-                          #{z-pat 4118}#
-                          #{w 4134}#
-                          #{r 4120}#
-                          #{mod 4121}#)))))))
-             (#{f 4132}# #{e 4115}# #{w 4119}#))))
-       (#{match-each-any 4083}#
-         (lambda (#{e 4148}# #{w 4149}# #{mod 4150}#)
-           (if (pair? #{e 4148}#)
-             (let ((#{l 4157}#
-                     (#{match-each-any 4083}#
-                       (cdr #{e 4148}#)
-                       #{w 4149}#
-                       #{mod 4150}#)))
-               (if #{l 4157}#
-                 (cons (let ((#{x 11507}# (car #{e 4148}#)))
-                         (if (if (null? (car #{w 4149}#))
-                               (null? (cdr #{w 4149}#))
+       (#{match-each-any 17958}#
+         (lambda (#{e 18911}# #{w 18912}# #{mod 18913}#)
+           (if (pair? #{e 18911}#)
+             (let ((#{l 18914}#
+                     (#{match-each-any 17958}#
+                       (cdr #{e 18911}#)
+                       #{w 18912}#
+                       #{mod 18913}#)))
+               (if #{l 18914}#
+                 (cons (let ((#{x 18919}# (car #{e 18911}#)))
+                         (if (if (null? (car #{w 18912}#))
+                               (null? (cdr #{w 18912}#))
                                #f)
-                           #{x 11507}#
-                           (if (if (vector? #{x 11507}#)
-                                 (if (= (vector-length #{x 11507}#) 4)
-                                   (eq? (vector-ref #{x 11507}# 0)
+                           #{x 18919}#
+                           (if (if (vector? #{x 18919}#)
+                                 (if (= (vector-length #{x 18919}#) 4)
+                                   (eq? (vector-ref #{x 18919}# 0)
                                         'syntax-object)
                                    #f)
                                  #f)
-                             (let ((#{expression 11515}#
-                                     (vector-ref #{x 11507}# 1))
-                                   (#{wrap 11516}#
-                                     (let ((#{w2 11524}#
-                                             (vector-ref #{x 11507}# 2)))
-                                       (let ((#{m1 11525}# (car #{w 4149}#))
-                                             (#{s1 11526}# (cdr #{w 4149}#)))
-                                         (if (null? #{m1 11525}#)
-                                           (if (null? #{s1 11526}#)
-                                             #{w2 11524}#
-                                             (cons (car #{w2 11524}#)
-                                                   (let ((#{m2 11533}#
-                                                           (cdr #{w2 11524}#)))
-                                                     (if (null? #{m2 11533}#)
-                                                       #{s1 11526}#
+                             (let ((#{expression 18937}#
+                                     (vector-ref #{x 18919}# 1))
+                                   (#{wrap 18938}#
+                                     (let ((#{w2 18946}#
+                                             (vector-ref #{x 18919}# 2)))
+                                       (let ((#{m1 18947}# (car #{w 18912}#))
+                                             (#{s1 18948}# (cdr #{w 18912}#)))
+                                         (if (null? #{m1 18947}#)
+                                           (if (null? #{s1 18948}#)
+                                             #{w2 18946}#
+                                             (cons (car #{w2 18946}#)
+                                                   (let ((#{m2 18963}#
+                                                           (cdr #{w2 18946}#)))
+                                                     (if (null? #{m2 18963}#)
+                                                       #{s1 18948}#
                                                        (append
-                                                         #{s1 11526}#
-                                                         #{m2 11533}#)))))
-                                           (cons (let ((#{m2 11537}#
-                                                         (car #{w2 11524}#)))
-                                                   (if (null? #{m2 11537}#)
-                                                     #{m1 11525}#
+                                                         #{s1 18948}#
+                                                         #{m2 18963}#)))))
+                                           (cons (let ((#{m2 18971}#
+                                                         (car #{w2 18946}#)))
+                                                   (if (null? #{m2 18971}#)
+                                                     #{m1 18947}#
                                                      (append
-                                                       #{m1 11525}#
-                                                       #{m2 11537}#)))
-                                                 (let ((#{m2 11541}#
-                                                         (cdr #{w2 11524}#)))
-                                                   (if (null? #{m2 11541}#)
-                                                     #{s1 11526}#
+                                                       #{m1 18947}#
+                                                       #{m2 18971}#)))
+                                                 (let ((#{m2 18979}#
+                                                         (cdr #{w2 18946}#)))
+                                                   (if (null? #{m2 18979}#)
+                                                     #{s1 18948}#
                                                      (append
-                                                       #{s1 11526}#
-                                                       #{m2 11541}#))))))))
-                                   (#{module 11517}#
-                                     (vector-ref #{x 11507}# 3)))
+                                                       #{s1 18948}#
+                                                       #{m2 18979}#))))))))
+                                   (#{module 18939}#
+                                     (vector-ref #{x 18919}# 3)))
                                (vector
                                  'syntax-object
-                                 #{expression 11515}#
-                                 #{wrap 11516}#
-                                 #{module 11517}#))
-                             (if (null? #{x 11507}#)
-                               #{x 11507}#
+                                 #{expression 18937}#
+                                 #{wrap 18938}#
+                                 #{module 18939}#))
+                             (if (null? #{x 18919}#)
+                               #{x 18919}#
                                (vector
                                  'syntax-object
-                                 #{x 11507}#
-                                 #{w 4149}#
-                                 #{mod 4150}#)))))
-                       #{l 4157}#)
+                                 #{x 18919}#
+                                 #{w 18912}#
+                                 #{mod 18913}#)))))
+                       #{l 18914}#)
                  #f))
-             (if (null? #{e 4148}#)
+             (if (null? #{e 18911}#)
                '()
-               (if (if (vector? #{e 4148}#)
-                     (if (= (vector-length #{e 4148}#) 4)
-                       (eq? (vector-ref #{e 4148}# 0) 'syntax-object)
+               (if (if (vector? #{e 18911}#)
+                     (if (= (vector-length #{e 18911}#) 4)
+                       (eq? (vector-ref #{e 18911}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (#{match-each-any 4083}#
-                   (vector-ref #{e 4148}# 1)
-                   (let ((#{w2 11559}# (vector-ref #{e 4148}# 2)))
-                     (let ((#{m1 11560}# (car #{w 4149}#))
-                           (#{s1 11561}# (cdr #{w 4149}#)))
-                       (if (null? #{m1 11560}#)
-                         (if (null? #{s1 11561}#)
-                           #{w2 11559}#
-                           (cons (car #{w2 11559}#)
-                                 (let ((#{m2 11568}# (cdr #{w2 11559}#)))
-                                   (if (null? #{m2 11568}#)
-                                     #{s1 11561}#
-                                     (append #{s1 11561}# #{m2 11568}#)))))
-                         (cons (let ((#{m2 11572}# (car #{w2 11559}#)))
-                                 (if (null? #{m2 11572}#)
-                                   #{m1 11560}#
-                                   (append #{m1 11560}# #{m2 11572}#)))
-                               (let ((#{m2 11576}# (cdr #{w2 11559}#)))
-                                 (if (null? #{m2 11576}#)
-                                   #{s1 11561}#
-                                   (append #{s1 11561}# #{m2 11576}#)))))))
-                   #{mod 4150}#)
+                 (#{match-each-any 17958}#
+                   (vector-ref #{e 18911}# 1)
+                   (let ((#{w2 19012}# (vector-ref #{e 18911}# 2)))
+                     (let ((#{m1 19013}# (car #{w 18912}#))
+                           (#{s1 19014}# (cdr #{w 18912}#)))
+                       (if (null? #{m1 19013}#)
+                         (if (null? #{s1 19014}#)
+                           #{w2 19012}#
+                           (cons (car #{w2 19012}#)
+                                 (let ((#{m2 19025}# (cdr #{w2 19012}#)))
+                                   (if (null? #{m2 19025}#)
+                                     #{s1 19014}#
+                                     (append #{s1 19014}# #{m2 19025}#)))))
+                         (cons (let ((#{m2 19033}# (car #{w2 19012}#)))
+                                 (if (null? #{m2 19033}#)
+                                   #{m1 19013}#
+                                   (append #{m1 19013}# #{m2 19033}#)))
+                               (let ((#{m2 19041}# (cdr #{w2 19012}#)))
+                                 (if (null? #{m2 19041}#)
+                                   #{s1 19014}#
+                                   (append #{s1 19014}# #{m2 19041}#)))))))
+                   #{mod 18913}#)
                  #f)))))
-       (#{match-empty 4085}#
-         (lambda (#{p 4165}# #{r 4166}#)
-           (if (null? #{p 4165}#)
-             #{r 4166}#
-             (if (eq? #{p 4165}# '_)
-               #{r 4166}#
-               (if (eq? #{p 4165}# 'any)
-                 (cons '() #{r 4166}#)
-                 (if (pair? #{p 4165}#)
-                   (#{match-empty 4085}#
-                     (car #{p 4165}#)
-                     (#{match-empty 4085}#
-                       (cdr #{p 4165}#)
-                       #{r 4166}#))
-                   (if (eq? #{p 4165}# 'each-any)
-                     (cons '() #{r 4166}#)
-                     (let ((#{atom-key 4182}# (vector-ref #{p 4165}# 0)))
-                       (if (memv #{atom-key 4182}# '(each))
-                         (#{match-empty 4085}#
-                           (vector-ref #{p 4165}# 1)
-                           #{r 4166}#)
-                         (if (memv #{atom-key 4182}# '(each+))
-                           (#{match-empty 4085}#
-                             (vector-ref #{p 4165}# 1)
-                             (#{match-empty 4085}#
-                               (reverse (vector-ref #{p 4165}# 2))
-                               (#{match-empty 4085}#
-                                 (vector-ref #{p 4165}# 3)
-                                 #{r 4166}#)))
-                           (if (memv #{atom-key 4182}# '(free-id atom))
-                             #{r 4166}#
-                             (if (memv #{atom-key 4182}# '(vector))
-                               (#{match-empty 4085}#
-                                 (vector-ref #{p 4165}# 1)
-                                 #{r 4166}#)))))))))))))
-       (#{combine 4087}#
-         (lambda (#{r* 4187}# #{r 4188}#)
-           (if (null? (car #{r* 4187}#))
-             #{r 4188}#
-             (cons (map car #{r* 4187}#)
-                   (#{combine 4087}#
-                     (map cdr #{r* 4187}#)
-                     #{r 4188}#)))))
-       (#{match* 4089}#
-         (lambda (#{e 4191}#
-                  #{p 4192}#
-                  #{w 4193}#
-                  #{r 4194}#
-                  #{mod 4195}#)
-           (if (null? #{p 4192}#)
-             (if (null? #{e 4191}#) #{r 4194}# #f)
-             (if (pair? #{p 4192}#)
-               (if (pair? #{e 4191}#)
-                 (#{match 4091}#
-                   (car #{e 4191}#)
-                   (car #{p 4192}#)
-                   #{w 4193}#
-                   (#{match 4091}#
-                     (cdr #{e 4191}#)
-                     (cdr #{p 4192}#)
-                     #{w 4193}#
-                     #{r 4194}#
-                     #{mod 4195}#)
-                   #{mod 4195}#)
+       (#{match-empty 17959}#
+         (lambda (#{p 19046}# #{r 19047}#)
+           (if (null? #{p 19046}#)
+             #{r 19047}#
+             (if (eq? #{p 19046}# '_)
+               #{r 19047}#
+               (if (eq? #{p 19046}# 'any)
+                 (cons '() #{r 19047}#)
+                 (if (pair? #{p 19046}#)
+                   (#{match-empty 17959}#
+                     (car #{p 19046}#)
+                     (#{match-empty 17959}#
+                       (cdr #{p 19046}#)
+                       #{r 19047}#))
+                   (if (eq? #{p 19046}# 'each-any)
+                     (cons '() #{r 19047}#)
+                     (let ((#{atom-key 19048}# (vector-ref #{p 19046}# 0)))
+                       (if (eqv? #{atom-key 19048}# 'each)
+                         (#{match-empty 17959}#
+                           (vector-ref #{p 19046}# 1)
+                           #{r 19047}#)
+                         (if (eqv? #{atom-key 19048}# 'each+)
+                           (#{match-empty 17959}#
+                             (vector-ref #{p 19046}# 1)
+                             (#{match-empty 17959}#
+                               (reverse (vector-ref #{p 19046}# 2))
+                               (#{match-empty 17959}#
+                                 (vector-ref #{p 19046}# 3)
+                                 #{r 19047}#)))
+                           (if (if (eqv? #{atom-key 19048}# 'free-id)
+                                 #t
+                                 (eqv? #{atom-key 19048}# 'atom))
+                             #{r 19047}#
+                             (if (eqv? #{atom-key 19048}# 'vector)
+                               (#{match-empty 17959}#
+                                 (vector-ref #{p 19046}# 1)
+                                 #{r 19047}#)))))))))))))
+       (#{combine 17960}#
+         (lambda (#{r* 19067}# #{r 19068}#)
+           (if (null? (car #{r* 19067}#))
+             #{r 19068}#
+             (cons (map car #{r* 19067}#)
+                   (#{combine 17960}#
+                     (map cdr #{r* 19067}#)
+                     #{r 19068}#)))))
+       (#{match* 17961}#
+         (lambda (#{e 17991}#
+                  #{p 17992}#
+                  #{w 17993}#
+                  #{r 17994}#
+                  #{mod 17995}#)
+           (if (null? #{p 17992}#)
+             (if (null? #{e 17991}#) #{r 17994}# #f)
+             (if (pair? #{p 17992}#)
+               (if (pair? #{e 17991}#)
+                 (#{match 17962}#
+                   (car #{e 17991}#)
+                   (car #{p 17992}#)
+                   #{w 17993}#
+                   (#{match 17962}#
+                     (cdr #{e 17991}#)
+                     (cdr #{p 17992}#)
+                     #{w 17993}#
+                     #{r 17994}#
+                     #{mod 17995}#)
+                   #{mod 17995}#)
                  #f)
-               (if (eq? #{p 4192}# 'each-any)
-                 (let ((#{l 4212}#
-                         (#{match-each-any 4083}#
-                           #{e 4191}#
-                           #{w 4193}#
-                           #{mod 4195}#)))
-                   (if #{l 4212}# (cons #{l 4212}# #{r 4194}#) #f))
-                 (let ((#{atom-key 4218}# (vector-ref #{p 4192}# 0)))
-                   (if (memv #{atom-key 4218}# '(each))
-                     (if (null? #{e 4191}#)
-                       (#{match-empty 4085}#
-                         (vector-ref #{p 4192}# 1)
-                         #{r 4194}#)
-                       (let ((#{l 4221}#
-                               (#{match-each 4079}#
-                                 #{e 4191}#
-                                 (vector-ref #{p 4192}# 1)
-                                 #{w 4193}#
-                                 #{mod 4195}#)))
-                         (if #{l 4221}#
+               (if (eq? #{p 17992}# 'each-any)
+                 (let ((#{l 18000}#
+                         (#{match-each-any 17958}#
+                           #{e 17991}#
+                           #{w 17993}#
+                           #{mod 17995}#)))
+                   (if #{l 18000}#
+                     (cons #{l 18000}# #{r 17994}#)
+                     #f))
+                 (let ((#{atom-key 18005}# (vector-ref #{p 17992}# 0)))
+                   (if (eqv? #{atom-key 18005}# 'each)
+                     (if (null? #{e 17991}#)
+                       (#{match-empty 17959}#
+                         (vector-ref #{p 17992}# 1)
+                         #{r 17994}#)
+                       (let ((#{l 18012}#
+                               (#{match-each 17956}#
+                                 #{e 17991}#
+                                 (vector-ref #{p 17992}# 1)
+                                 #{w 17993}#
+                                 #{mod 17995}#)))
+                         (if #{l 18012}#
                            (letrec*
-                             ((#{collect 4226}#
-                                (lambda (#{l 4227}#)
-                                  (if (null? (car #{l 4227}#))
-                                    #{r 4194}#
-                                    (cons (map car #{l 4227}#)
-                                          (#{collect 4226}#
-                                            (map cdr #{l 4227}#)))))))
-                             (#{collect 4226}# #{l 4221}#))
+                             ((#{collect 18015}#
+                                (lambda (#{l 18076}#)
+                                  (if (null? (car #{l 18076}#))
+                                    #{r 17994}#
+                                    (cons (map car #{l 18076}#)
+                                          (#{collect 18015}#
+                                            (map cdr #{l 18076}#)))))))
+                             (#{collect 18015}# #{l 18012}#))
                            #f)))
-                     (if (memv #{atom-key 4218}# '(each+))
+                     (if (eqv? #{atom-key 18005}# 'each+)
                        (call-with-values
                          (lambda ()
-                           (#{match-each+ 4081}#
-                             #{e 4191}#
-                             (vector-ref #{p 4192}# 1)
-                             (vector-ref #{p 4192}# 2)
-                             (vector-ref #{p 4192}# 3)
-                             #{w 4193}#
-                             #{r 4194}#
-                             #{mod 4195}#))
-                         (lambda (#{xr* 4229}# #{y-pat 4230}# #{r 4231}#)
-                           (if #{r 4231}#
-                             (if (null? #{y-pat 4230}#)
-                               (if (null? #{xr* 4229}#)
-                                 (#{match-empty 4085}#
-                                   (vector-ref #{p 4192}# 1)
-                                   #{r 4231}#)
-                                 (#{combine 4087}# #{xr* 4229}# #{r 4231}#))
+                           (let ((#{x-pat 18085}# (vector-ref #{p 17992}# 1))
+                                 (#{y-pat 18086}# (vector-ref #{p 17992}# 2))
+                                 (#{z-pat 18087}# (vector-ref #{p 17992}# 3)))
+                             (letrec*
+                               ((#{f 18091}#
+                                  (lambda (#{e 18093}# #{w 18094}#)
+                                    (if (pair? #{e 18093}#)
+                                      (call-with-values
+                                        (lambda ()
+                                          (#{f 18091}#
+                                            (cdr #{e 18093}#)
+                                            #{w 18094}#))
+                                        (lambda (#{xr* 18095}#
+                                                 #{y-pat 18096}#
+                                                 #{r 18097}#)
+                                          (if #{r 18097}#
+                                            (if (null? #{y-pat 18096}#)
+                                              (let ((#{xr 18098}#
+                                                      (#{match 17962}#
+                                                        (car #{e 18093}#)
+                                                        #{x-pat 18085}#
+                                                        #{w 18094}#
+                                                        '()
+                                                        #{mod 17995}#)))
+                                                (if #{xr 18098}#
+                                                  (values
+                                                    (cons #{xr 18098}#
+                                                          #{xr* 18095}#)
+                                                    #{y-pat 18096}#
+                                                    #{r 18097}#)
+                                                  (values #f #f #f)))
+                                              (values
+                                                '()
+                                                (cdr #{y-pat 18096}#)
+                                                (#{match 17962}#
+                                                  (car #{e 18093}#)
+                                                  (car #{y-pat 18096}#)
+                                                  #{w 18094}#
+                                                  #{r 18097}#
+                                                  #{mod 17995}#)))
+                                            (values #f #f #f))))
+                                      (if (if (vector? #{e 18093}#)
+                                            (if (= (vector-length #{e 18093}#)
+                                                   4)
+                                              (eq? (vector-ref #{e 18093}# 0)
+                                                   'syntax-object)
+                                              #f)
+                                            #f)
+                                        (#{f 18091}#
+                                          (vector-ref #{e 18093}# 1)
+                                          (let ((#{m1 18126}#
+                                                  (car #{w 18094}#))
+                                                (#{s1 18127}#
+                                                  (cdr #{w 18094}#)))
+                                            (if (null? #{m1 18126}#)
+                                              (if (null? #{s1 18127}#)
+                                                #{e 18093}#
+                                                (cons (car #{e 18093}#)
+                                                      (let ((#{m2 18139}#
+                                                              (cdr #{e 
18093}#)))
+                                                        (if (null? #{m2 
18139}#)
+                                                          #{s1 18127}#
+                                                          (append
+                                                            #{s1 18127}#
+                                                            #{m2 18139}#)))))
+                                              (cons (let ((#{m2 18149}#
+                                                            (car #{e 18093}#)))
+                                                      (if (null? #{m2 18149}#)
+                                                        #{m1 18126}#
+                                                        (append
+                                                          #{m1 18126}#
+                                                          #{m2 18149}#)))
+                                                    (let ((#{m2 18159}#
+                                                            (cdr #{e 18093}#)))
+                                                      (if (null? #{m2 18159}#)
+                                                        #{s1 18127}#
+                                                        (append
+                                                          #{s1 18127}#
+                                                          #{m2 18159}#)))))))
+                                        (values
+                                          '()
+                                          #{y-pat 18086}#
+                                          (#{match 17962}#
+                                            #{e 18093}#
+                                            #{z-pat 18087}#
+                                            #{w 18094}#
+                                            #{r 17994}#
+                                            #{mod 17995}#)))))))
+                               (#{f 18091}# #{e 17991}# #{w 17993}#))))
+                         (lambda (#{xr* 18169}# #{y-pat 18170}# #{r 18171}#)
+                           (if #{r 18171}#
+                             (if (null? #{y-pat 18170}#)
+                               (if (null? #{xr* 18169}#)
+                                 (#{match-empty 17959}#
+                                   (vector-ref #{p 17992}# 1)
+                                   #{r 18171}#)
+                                 (#{combine 17960}# #{xr* 18169}# #{r 18171}#))
                                #f)
                              #f)))
-                       (if (memv #{atom-key 4218}# '(free-id))
-                         (if (if (symbol? #{e 4191}#)
+                       (if (eqv? #{atom-key 18005}# 'free-id)
+                         (if (if (symbol? #{e 17991}#)
                                #t
-                               (if (if (vector? #{e 4191}#)
-                                     (if (= (vector-length #{e 4191}#) 4)
-                                       (eq? (vector-ref #{e 4191}# 0)
+                               (if (if (vector? #{e 17991}#)
+                                     (if (= (vector-length #{e 17991}#) 4)
+                                       (eq? (vector-ref #{e 17991}# 0)
                                             'syntax-object)
                                        #f)
                                      #f)
-                                 (symbol? (vector-ref #{e 4191}# 1))
+                                 (symbol? (vector-ref #{e 17991}# 1))
                                  #f))
-                           (if (#{free-id=? 417}#
-                                 (if (if (null? (car #{w 4193}#))
-                                       (null? (cdr #{w 4193}#))
+                           (if (#{free-id=? 4363}#
+                                 (if (if (null? (car #{w 17993}#))
+                                       (null? (cdr #{w 17993}#))
                                        #f)
-                                   #{e 4191}#
-                                   (if (if (vector? #{e 4191}#)
-                                         (if (= (vector-length #{e 4191}#) 4)
-                                           (eq? (vector-ref #{e 4191}# 0)
+                                   #{e 17991}#
+                                   (if (if (vector? #{e 17991}#)
+                                         (if (= (vector-length #{e 17991}#) 4)
+                                           (eq? (vector-ref #{e 17991}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (let ((#{expression 11659}#
-                                             (vector-ref #{e 4191}# 1))
-                                           (#{wrap 11660}#
-                                             (let ((#{w2 11668}#
+                                     (let ((#{expression 18602}#
+                                             (vector-ref #{e 17991}# 1))
+                                           (#{wrap 18603}#
+                                             (let ((#{w2 18613}#
                                                      (vector-ref
-                                                       #{e 4191}#
+                                                       #{e 17991}#
                                                        2)))
-                                               (let ((#{m1 11669}#
-                                                       (car #{w 4193}#))
-                                                     (#{s1 11670}#
-                                                       (cdr #{w 4193}#)))
-                                                 (if (null? #{m1 11669}#)
-                                                   (if (null? #{s1 11670}#)
-                                                     #{w2 11668}#
-                                                     (cons (car #{w2 11668}#)
-                                                           (let ((#{m2 11677}#
-                                                                   (cdr #{w2 
11668}#)))
-                                                             (if (null? #{m2 
11677}#)
-                                                               #{s1 11670}#
+                                               (let ((#{m1 18614}#
+                                                       (car #{w 17993}#))
+                                                     (#{s1 18615}#
+                                                       (cdr #{w 17993}#)))
+                                                 (if (null? #{m1 18614}#)
+                                                   (if (null? #{s1 18615}#)
+                                                     #{w2 18613}#
+                                                     (cons (car #{w2 18613}#)
+                                                           (let ((#{m2 18632}#
+                                                                   (cdr #{w2 
18613}#)))
+                                                             (if (null? #{m2 
18632}#)
+                                                               #{s1 18615}#
                                                                (append
-                                                                 #{s1 11670}#
-                                                                 #{m2 
11677}#)))))
-                                                   (cons (let ((#{m2 11681}#
-                                                                 (car #{w2 
11668}#)))
-                                                           (if (null? #{m2 
11681}#)
-                                                             #{m1 11669}#
+                                                                 #{s1 18615}#
+                                                                 #{m2 
18632}#)))))
+                                                   (cons (let ((#{m2 18640}#
+                                                                 (car #{w2 
18613}#)))
+                                                           (if (null? #{m2 
18640}#)
+                                                             #{m1 18614}#
                                                              (append
-                                                               #{m1 11669}#
-                                                               #{m2 11681}#)))
-                                                         (let ((#{m2 11685}#
-                                                                 (cdr #{w2 
11668}#)))
-                                                           (if (null? #{m2 
11685}#)
-                                                             #{s1 11670}#
+                                                               #{m1 18614}#
+                                                               #{m2 18640}#)))
+                                                         (let ((#{m2 18648}#
+                                                                 (cdr #{w2 
18613}#)))
+                                                           (if (null? #{m2 
18648}#)
+                                                             #{s1 18615}#
                                                              (append
-                                                               #{s1 11670}#
-                                                               #{m2 
11685}#))))))))
-                                           (#{module 11661}#
-                                             (vector-ref #{e 4191}# 3)))
+                                                               #{s1 18615}#
+                                                               #{m2 
18648}#))))))))
+                                           (#{module 18604}#
+                                             (vector-ref #{e 17991}# 3)))
                                        (vector
                                          'syntax-object
-                                         #{expression 11659}#
-                                         #{wrap 11660}#
-                                         #{module 11661}#))
-                                     (if (null? #{e 4191}#)
-                                       #{e 4191}#
+                                         #{expression 18602}#
+                                         #{wrap 18603}#
+                                         #{module 18604}#))
+                                     (if (null? #{e 17991}#)
+                                       #{e 17991}#
                                        (vector
                                          'syntax-object
-                                         #{e 4191}#
-                                         #{w 4193}#
-                                         #{mod 4195}#))))
-                                 (vector-ref #{p 4192}# 1))
-                             #{r 4194}#
+                                         #{e 17991}#
+                                         #{w 17993}#
+                                         #{mod 17995}#))))
+                                 (vector-ref #{p 17992}# 1))
+                             #{r 17994}#
                              #f)
                            #f)
-                         (if (memv #{atom-key 4218}# '(atom))
+                         (if (eqv? #{atom-key 18005}# 'atom)
                            (if (equal?
-                                 (vector-ref #{p 4192}# 1)
-                                 (#{strip 467}# #{e 4191}# #{w 4193}#))
-                             #{r 4194}#
+                                 (vector-ref #{p 17992}# 1)
+                                 (#{strip 4388}# #{e 17991}# #{w 17993}#))
+                             #{r 17994}#
                              #f)
-                           (if (memv #{atom-key 4218}# '(vector))
-                             (if (vector? #{e 4191}#)
-                               (#{match 4091}#
-                                 (vector->list #{e 4191}#)
-                                 (vector-ref #{p 4192}# 1)
-                                 #{w 4193}#
-                                 #{r 4194}#
-                                 #{mod 4195}#)
+                           (if (eqv? #{atom-key 18005}# 'vector)
+                             (if (vector? #{e 17991}#)
+                               (#{match 17962}#
+                                 (vector->list #{e 17991}#)
+                                 (vector-ref #{p 17992}# 1)
+                                 #{w 17993}#
+                                 #{r 17994}#
+                                 #{mod 17995}#)
                                #f))))))))))))
-       (#{match 4091}#
-         (lambda (#{e 4248}#
-                  #{p 4249}#
-                  #{w 4250}#
-                  #{r 4251}#
-                  #{mod 4252}#)
-           (if (not #{r 4251}#)
+       (#{match 17962}#
+         (lambda (#{e 18681}#
+                  #{p 18682}#
+                  #{w 18683}#
+                  #{r 18684}#
+                  #{mod 18685}#)
+           (if (not #{r 18684}#)
              #f
-             (if (eq? #{p 4249}# '_)
-               #{r 4251}#
-               (if (eq? #{p 4249}# 'any)
-                 (cons (if (if (null? (car #{w 4250}#))
-                             (null? (cdr #{w 4250}#))
+             (if (eq? #{p 18682}# '_)
+               #{r 18684}#
+               (if (eq? #{p 18682}# 'any)
+                 (cons (if (if (null? (car #{w 18683}#))
+                             (null? (cdr #{w 18683}#))
                              #f)
-                         #{e 4248}#
-                         (if (if (vector? #{e 4248}#)
-                               (if (= (vector-length #{e 4248}#) 4)
-                                 (eq? (vector-ref #{e 4248}# 0) 'syntax-object)
+                         #{e 18681}#
+                         (if (if (vector? #{e 18681}#)
+                               (if (= (vector-length #{e 18681}#) 4)
+                                 (eq? (vector-ref #{e 18681}# 0)
+                                      'syntax-object)
                                  #f)
                                #f)
-                           (let ((#{expression 11705}#
-                                   (vector-ref #{e 4248}# 1))
-                                 (#{wrap 11706}#
-                                   (let ((#{w2 11714}#
-                                           (vector-ref #{e 4248}# 2)))
-                                     (let ((#{m1 11715}# (car #{w 4250}#))
-                                           (#{s1 11716}# (cdr #{w 4250}#)))
-                                       (if (null? #{m1 11715}#)
-                                         (if (null? #{s1 11716}#)
-                                           #{w2 11714}#
-                                           (cons (car #{w2 11714}#)
-                                                 (let ((#{m2 11723}#
-                                                         (cdr #{w2 11714}#)))
-                                                   (if (null? #{m2 11723}#)
-                                                     #{s1 11716}#
+                           (let ((#{expression 18715}#
+                                   (vector-ref #{e 18681}# 1))
+                                 (#{wrap 18716}#
+                                   (let ((#{w2 18726}#
+                                           (vector-ref #{e 18681}# 2)))
+                                     (let ((#{m1 18727}# (car #{w 18683}#))
+                                           (#{s1 18728}# (cdr #{w 18683}#)))
+                                       (if (null? #{m1 18727}#)
+                                         (if (null? #{s1 18728}#)
+                                           #{w2 18726}#
+                                           (cons (car #{w2 18726}#)
+                                                 (let ((#{m2 18745}#
+                                                         (cdr #{w2 18726}#)))
+                                                   (if (null? #{m2 18745}#)
+                                                     #{s1 18728}#
                                                      (append
-                                                       #{s1 11716}#
-                                                       #{m2 11723}#)))))
-                                         (cons (let ((#{m2 11727}#
-                                                       (car #{w2 11714}#)))
-                                                 (if (null? #{m2 11727}#)
-                                                   #{m1 11715}#
+                                                       #{s1 18728}#
+                                                       #{m2 18745}#)))))
+                                         (cons (let ((#{m2 18753}#
+                                                       (car #{w2 18726}#)))
+                                                 (if (null? #{m2 18753}#)
+                                                   #{m1 18727}#
                                                    (append
-                                                     #{m1 11715}#
-                                                     #{m2 11727}#)))
-                                               (let ((#{m2 11731}#
-                                                       (cdr #{w2 11714}#)))
-                                                 (if (null? #{m2 11731}#)
-                                                   #{s1 11716}#
+                                                     #{m1 18727}#
+                                                     #{m2 18753}#)))
+                                               (let ((#{m2 18761}#
+                                                       (cdr #{w2 18726}#)))
+                                                 (if (null? #{m2 18761}#)
+                                                   #{s1 18728}#
                                                    (append
-                                                     #{s1 11716}#
-                                                     #{m2 11731}#))))))))
-                                 (#{module 11707}# (vector-ref #{e 4248}# 3)))
+                                                     #{s1 18728}#
+                                                     #{m2 18761}#))))))))
+                                 (#{module 18717}# (vector-ref #{e 18681}# 3)))
                              (vector
                                'syntax-object
-                               #{expression 11705}#
-                               #{wrap 11706}#
-                               #{module 11707}#))
-                           (if (null? #{e 4248}#)
-                             #{e 4248}#
+                               #{expression 18715}#
+                               #{wrap 18716}#
+                               #{module 18717}#))
+                           (if (null? #{e 18681}#)
+                             #{e 18681}#
                              (vector
                                'syntax-object
-                               #{e 4248}#
-                               #{w 4250}#
-                               #{mod 4252}#))))
-                       #{r 4251}#)
-                 (if (if (vector? #{e 4248}#)
-                       (if (= (vector-length #{e 4248}#) 4)
-                         (eq? (vector-ref #{e 4248}# 0) 'syntax-object)
+                               #{e 18681}#
+                               #{w 18683}#
+                               #{mod 18685}#))))
+                       #{r 18684}#)
+                 (if (if (vector? #{e 18681}#)
+                       (if (= (vector-length #{e 18681}#) 4)
+                         (eq? (vector-ref #{e 18681}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (#{match* 4089}#
-                     (vector-ref #{e 4248}# 1)
-                     #{p 4249}#
-                     (let ((#{w2 11749}# (vector-ref #{e 4248}# 2)))
-                       (let ((#{m1 11750}# (car #{w 4250}#))
-                             (#{s1 11751}# (cdr #{w 4250}#)))
-                         (if (null? #{m1 11750}#)
-                           (if (null? #{s1 11751}#)
-                             #{w2 11749}#
-                             (cons (car #{w2 11749}#)
-                                   (let ((#{m2 11758}# (cdr #{w2 11749}#)))
-                                     (if (null? #{m2 11758}#)
-                                       #{s1 11751}#
-                                       (append #{s1 11751}# #{m2 11758}#)))))
-                           (cons (let ((#{m2 11762}# (car #{w2 11749}#)))
-                                   (if (null? #{m2 11762}#)
-                                     #{m1 11750}#
-                                     (append #{m1 11750}# #{m2 11762}#)))
-                                 (let ((#{m2 11766}# (cdr #{w2 11749}#)))
-                                   (if (null? #{m2 11766}#)
-                                     #{s1 11751}#
-                                     (append #{s1 11751}# #{m2 11766}#)))))))
-                     #{r 4251}#
-                     (vector-ref #{e 4248}# 3))
-                   (#{match* 4089}#
-                     #{e 4248}#
-                     #{p 4249}#
-                     #{w 4250}#
-                     #{r 4251}#
-                     #{mod 4252}#))))))))
+                   (#{match* 17961}#
+                     (vector-ref #{e 18681}# 1)
+                     #{p 18682}#
+                     (let ((#{w2 18804}# (vector-ref #{e 18681}# 2)))
+                       (let ((#{m1 18805}# (car #{w 18683}#))
+                             (#{s1 18806}# (cdr #{w 18683}#)))
+                         (if (null? #{m1 18805}#)
+                           (if (null? #{s1 18806}#)
+                             #{w2 18804}#
+                             (cons (car #{w2 18804}#)
+                                   (let ((#{m2 18817}# (cdr #{w2 18804}#)))
+                                     (if (null? #{m2 18817}#)
+                                       #{s1 18806}#
+                                       (append #{s1 18806}# #{m2 18817}#)))))
+                           (cons (let ((#{m2 18825}# (car #{w2 18804}#)))
+                                   (if (null? #{m2 18825}#)
+                                     #{m1 18805}#
+                                     (append #{m1 18805}# #{m2 18825}#)))
+                                 (let ((#{m2 18833}# (cdr #{w2 18804}#)))
+                                   (if (null? #{m2 18833}#)
+                                     #{s1 18806}#
+                                     (append #{s1 18806}# #{m2 18833}#)))))))
+                     #{r 18684}#
+                     (vector-ref #{e 18681}# 3))
+                   (#{match* 17961}#
+                     #{e 18681}#
+                     #{p 18682}#
+                     #{w 18683}#
+                     #{r 18684}#
+                     #{mod 18685}#))))))))
       (set! $sc-dispatch
-        (lambda (#{e 4267}# #{p 4268}#)
-          (if (eq? #{p 4268}# 'any)
-            (list #{e 4267}#)
-            (if (eq? #{p 4268}# '_)
+        (lambda (#{e 17963}# #{p 17964}#)
+          (if (eq? #{p 17964}# 'any)
+            (list #{e 17963}#)
+            (if (eq? #{p 17964}# '_)
               '()
-              (if (if (vector? #{e 4267}#)
-                    (if (= (vector-length #{e 4267}#) 4)
-                      (eq? (vector-ref #{e 4267}# 0) 'syntax-object)
+              (if (if (vector? #{e 17963}#)
+                    (if (= (vector-length #{e 17963}#) 4)
+                      (eq? (vector-ref #{e 17963}# 0) 'syntax-object)
                       #f)
                     #f)
-                (#{match* 4089}#
-                  (vector-ref #{e 4267}# 1)
-                  #{p 4268}#
-                  (vector-ref #{e 4267}# 2)
+                (#{match* 17961}#
+                  (vector-ref #{e 17963}# 1)
+                  #{p 17964}#
+                  (vector-ref #{e 17963}# 2)
                   '()
-                  (vector-ref #{e 4267}# 3))
-                (#{match* 4089}#
-                  #{e 4267}#
-                  #{p 4268}#
+                  (vector-ref #{e 17963}# 3))
+                (#{match* 17961}#
+                  #{e 17963}#
+                  #{p 17964}#
                   '(())
                   '()
                   #f)))))))))
@@ -15466,82 +17637,82 @@
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x 11785}#)
-      (let ((#{tmp 11788}#
-              ($sc-dispatch #{x 11785}# '(_ () any . each-any))))
-        (if #{tmp 11788}#
+    (lambda (#{x 36962}#)
+      (let ((#{tmp 36964}#
+              ($sc-dispatch #{x 36962}# '(_ () any . each-any))))
+        (if #{tmp 36964}#
           (@apply
-            (lambda (#{e1 11791}# #{e2 11792}#)
+            (lambda (#{e1 36968}# #{e2 36969}#)
               (cons '#(syntax-object
                        let
                        ((top)
                         #(ribcage
                           #(e1 e2)
                           #((top) (top))
-                          #("i11789" "i11790"))
+                          #("i36935" "i36936"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i11786")))
+                        #(ribcage #(x) #((top)) #("i36932")))
                        (hygiene guile))
-                    (cons '() (cons #{e1 11791}# #{e2 11792}#))))
-            #{tmp 11788}#)
-          (let ((#{tmp 11794}#
+                    (cons '() (cons #{e1 36968}# #{e2 36969}#))))
+            #{tmp 36964}#)
+          (let ((#{tmp 36970}#
                   ($sc-dispatch
-                    #{x 11785}#
+                    #{x 36962}#
                     '(_ ((any any)) any . each-any))))
-            (if #{tmp 11794}#
+            (if #{tmp 36970}#
               (@apply
-                (lambda (#{out 11799}#
-                         #{in 11800}#
-                         #{e1 11801}#
-                         #{e2 11802}#)
+                (lambda (#{out 36974}#
+                         #{in 36975}#
+                         #{e1 36976}#
+                         #{e2 36977}#)
                   (list '#(syntax-object
                            syntax-case
                            ((top)
                             #(ribcage
                               #(out in e1 e2)
                               #((top) (top) (top) (top))
-                              #("i11795" "i11796" "i11797" "i11798"))
+                              #("i36941" "i36942" "i36943" "i36944"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i11786")))
+                            #(ribcage #(x) #((top)) #("i36932")))
                            (hygiene guile))
-                        #{in 11800}#
+                        #{in 36975}#
                         '()
-                        (list #{out 11799}#
+                        (list #{out 36974}#
                               (cons '#(syntax-object
                                        let
                                        ((top)
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i11795"
-                                            "i11796"
-                                            "i11797"
-                                            "i11798"))
+                                          #("i36941"
+                                            "i36942"
+                                            "i36943"
+                                            "i36944"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i11786")))
+                                        #(ribcage #(x) #((top)) #("i36932")))
                                        (hygiene guile))
                                     (cons '()
-                                          (cons #{e1 11801}# #{e2 11802}#))))))
-                #{tmp 11794}#)
-              (let ((#{tmp 11804}#
+                                          (cons #{e1 36976}# #{e2 36977}#))))))
+                #{tmp 36970}#)
+              (let ((#{tmp 36978}#
                       ($sc-dispatch
-                        #{x 11785}#
+                        #{x 36962}#
                         '(_ #(each (any any)) any . each-any))))
-                (if #{tmp 11804}#
+                (if #{tmp 36978}#
                   (@apply
-                    (lambda (#{out 11809}#
-                             #{in 11810}#
-                             #{e1 11811}#
-                             #{e2 11812}#)
+                    (lambda (#{out 36982}#
+                             #{in 36983}#
+                             #{e1 36984}#
+                             #{e2 36985}#)
                       (list '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(out in e1 e2)
                                   #((top) (top) (top) (top))
-                                  #("i11805" "i11806" "i11807" "i11808"))
+                                  #("i36951" "i36952" "i36953" "i36954"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i11786")))
+                                #(ribcage #(x) #((top)) #("i36932")))
                                (hygiene guile))
                             (cons '#(syntax-object
                                      list
@@ -15549,62 +17720,62 @@
                                       #(ribcage
                                         #(out in e1 e2)
                                         #((top) (top) (top) (top))
-                                        #("i11805" "i11806" "i11807" "i11808"))
+                                        #("i36951" "i36952" "i36953" "i36954"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i11786")))
+                                      #(ribcage #(x) #((top)) #("i36932")))
                                      (hygiene guile))
-                                  #{in 11810}#)
+                                  #{in 36983}#)
                             '()
-                            (list #{out 11809}#
+                            (list #{out 36982}#
                                   (cons '#(syntax-object
                                            let
                                            ((top)
                                             #(ribcage
                                               #(out in e1 e2)
                                               #((top) (top) (top) (top))
-                                              #("i11805"
-                                                "i11806"
-                                                "i11807"
-                                                "i11808"))
+                                              #("i36951"
+                                                "i36952"
+                                                "i36953"
+                                                "i36954"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i11786")))
+                                              #("i36932")))
                                            (hygiene guile))
                                         (cons '()
-                                              (cons #{e1 11811}#
-                                                    #{e2 11812}#))))))
-                    #{tmp 11804}#)
+                                              (cons #{e1 36984}#
+                                                    #{e2 36985}#))))))
+                    #{tmp 36978}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{x 11785}#))))))))))
+                    #{x 36962}#))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x 11816}#)
-      (let ((#{tmp 11819}#
+    (lambda (#{x 37039}#)
+      (let ((#{tmp 37041}#
               ($sc-dispatch
-                #{x 11816}#
+                #{x 37039}#
                 '(_ each-any . #(each ((any . any) any))))))
-        (if #{tmp 11819}#
+        (if #{tmp 37041}#
           (@apply
-            (lambda (#{k 11824}#
-                     #{keyword 11825}#
-                     #{pattern 11826}#
-                     #{template 11827}#)
+            (lambda (#{k 37045}#
+                     #{keyword 37046}#
+                     #{pattern 37047}#
+                     #{template 37048}#)
               (list '#(syntax-object
                        lambda
                        ((top)
                         #(ribcage
                           #(k keyword pattern template)
                           #((top) (top) (top) (top))
-                          #("i11820" "i11821" "i11822" "i11823"))
+                          #("i37002" "i37003" "i37004" "i37005"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i11817")))
+                        #(ribcage #(x) #((top)) #("i36999")))
                        (hygiene guile))
                     '(#(syntax-object
                         x
@@ -15612,9 +17783,9 @@
                          #(ribcage
                            #(k keyword pattern template)
                            #((top) (top) (top) (top))
-                           #("i11820" "i11821" "i11822" "i11823"))
+                           #("i37002" "i37003" "i37004" "i37005"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i11817")))
+                         #(ribcage #(x) #((top)) #("i36999")))
                         (hygiene guile)))
                     (vector
                       '(#(syntax-object
@@ -15623,9 +17794,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i11820" "i11821" "i11822" "i11823"))
+                             #("i37002" "i37003" "i37004" "i37005"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i11817")))
+                           #(ribcage #(x) #((top)) #("i36999")))
                           (hygiene guile))
                         .
                         #(syntax-object
@@ -15634,9 +17805,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i11820" "i11821" "i11822" "i11823"))
+                             #("i37002" "i37003" "i37004" "i37005"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i11817")))
+                           #(ribcage #(x) #((top)) #("i36999")))
                           (hygiene guile)))
                       (cons '#(syntax-object
                                patterns
@@ -15644,20 +17815,20 @@
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i11820" "i11821" "i11822" "i11823"))
+                                  #("i37002" "i37003" "i37004" "i37005"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i11817")))
+                                #(ribcage #(x) #((top)) #("i36999")))
                                (hygiene guile))
-                            #{pattern 11826}#))
+                            #{pattern 37047}#))
                     (cons '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(k keyword pattern template)
                                 #((top) (top) (top) (top))
-                                #("i11820" "i11821" "i11822" "i11823"))
+                                #("i37002" "i37003" "i37004" "i37005"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i11817")))
+                              #(ribcage #(x) #((top)) #("i36999")))
                              (hygiene guile))
                           (cons '#(syntax-object
                                    x
@@ -15665,13 +17836,13 @@
                                     #(ribcage
                                       #(k keyword pattern template)
                                       #((top) (top) (top) (top))
-                                      #("i11820" "i11821" "i11822" "i11823"))
+                                      #("i37002" "i37003" "i37004" "i37005"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i11817")))
+                                    #(ribcage #(x) #((top)) #("i36999")))
                                    (hygiene guile))
-                                (cons #{k 11824}#
-                                      (map (lambda (#{tmp 11831}#
-                                                    #{tmp 11830}#)
+                                (cons #{k 37045}#
+                                      (map (lambda (#{tmp 37013 37049}#
+                                                    #{tmp 37012 37050}#)
                                              (list (cons '#(syntax-object
                                                             dummy
                                                             ((top)
@@ -15684,10 +17855,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i11820"
-                                                                 "i11821"
-                                                                 "i11822"
-                                                                 "i11823"))
+                                                               #("i37002"
+                                                                 "i37003"
+                                                                 "i37004"
+                                                                 "i37005"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -15695,9 +17866,9 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i11817")))
+                                                               #("i36999")))
                                                             (hygiene guile))
-                                                         #{tmp 11830}#)
+                                                         #{tmp 37012 37050}#)
                                                    (list '#(syntax-object
                                                             syntax
                                                             ((top)
@@ -15710,10 +17881,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i11820"
-                                                                 "i11821"
-                                                                 "i11822"
-                                                                 "i11823"))
+                                                               #("i37002"
+                                                                 "i37003"
+                                                                 "i37004"
+                                                                 "i37005"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -15721,41 +17892,41 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i11817")))
+                                                               #("i36999")))
                                                             (hygiene guile))
-                                                         #{tmp 11831}#)))
-                                           #{template 11827}#
-                                           #{pattern 11826}#))))))
-            #{tmp 11819}#)
-          (let ((#{tmp 11832}#
+                                                         #{tmp 37013 37049}#)))
+                                           #{template 37048}#
+                                           #{pattern 37047}#))))))
+            #{tmp 37041}#)
+          (let ((#{tmp 37051}#
                   ($sc-dispatch
-                    #{x 11816}#
+                    #{x 37039}#
                     '(_ each-any any . #(each ((any . any) any))))))
-            (if (if #{tmp 11832}#
+            (if (if #{tmp 37051}#
                   (@apply
-                    (lambda (#{k 11838}#
-                             #{docstring 11839}#
-                             #{keyword 11840}#
-                             #{pattern 11841}#
-                             #{template 11842}#)
-                      (string? (syntax->datum #{docstring 11839}#)))
-                    #{tmp 11832}#)
+                    (lambda (#{k 37055}#
+                             #{docstring 37056}#
+                             #{keyword 37057}#
+                             #{pattern 37058}#
+                             #{template 37059}#)
+                      (string? (syntax->datum #{docstring 37056}#)))
+                    #{tmp 37051}#)
                   #f)
               (@apply
-                (lambda (#{k 11848}#
-                         #{docstring 11849}#
-                         #{keyword 11850}#
-                         #{pattern 11851}#
-                         #{template 11852}#)
+                (lambda (#{k 37060}#
+                         #{docstring 37061}#
+                         #{keyword 37062}#
+                         #{pattern 37063}#
+                         #{template 37064}#)
                   (list '#(syntax-object
                            lambda
                            ((top)
                             #(ribcage
                               #(k docstring keyword pattern template)
                               #((top) (top) (top) (top) (top))
-                              #("i11843" "i11844" "i11845" "i11846" "i11847"))
+                              #("i37025" "i37026" "i37027" "i37028" "i37029"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i11817")))
+                            #(ribcage #(x) #((top)) #("i36999")))
                            (hygiene guile))
                         '(#(syntax-object
                             x
@@ -15763,11 +17934,11 @@
                              #(ribcage
                                #(k docstring keyword pattern template)
                                #((top) (top) (top) (top) (top))
-                               #("i11843" "i11844" "i11845" "i11846" "i11847"))
+                               #("i37025" "i37026" "i37027" "i37028" "i37029"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i11817")))
+                             #(ribcage #(x) #((top)) #("i36999")))
                             (hygiene guile)))
-                        #{docstring 11849}#
+                        #{docstring 37061}#
                         (vector
                           '(#(syntax-object
                               macro-type
@@ -15775,13 +17946,13 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i11843"
-                                   "i11844"
-                                   "i11845"
-                                   "i11846"
-                                   "i11847"))
+                                 #("i37025"
+                                   "i37026"
+                                   "i37027"
+                                   "i37028"
+                                   "i37029"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i11817")))
+                               #(ribcage #(x) #((top)) #("i36999")))
                               (hygiene guile))
                             .
                             #(syntax-object
@@ -15790,13 +17961,13 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i11843"
-                                   "i11844"
-                                   "i11845"
-                                   "i11846"
-                                   "i11847"))
+                                 #("i37025"
+                                   "i37026"
+                                   "i37027"
+                                   "i37028"
+                                   "i37029"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i11817")))
+                               #(ribcage #(x) #((top)) #("i36999")))
                               (hygiene guile)))
                           (cons '#(syntax-object
                                    patterns
@@ -15804,28 +17975,28 @@
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i11843"
-                                        "i11844"
-                                        "i11845"
-                                        "i11846"
-                                        "i11847"))
+                                      #("i37025"
+                                        "i37026"
+                                        "i37027"
+                                        "i37028"
+                                        "i37029"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i11817")))
+                                    #(ribcage #(x) #((top)) #("i36999")))
                                    (hygiene guile))
-                                #{pattern 11851}#))
+                                #{pattern 37063}#))
                         (cons '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(k docstring keyword pattern template)
                                     #((top) (top) (top) (top) (top))
-                                    #("i11843"
-                                      "i11844"
-                                      "i11845"
-                                      "i11846"
-                                      "i11847"))
+                                    #("i37025"
+                                      "i37026"
+                                      "i37027"
+                                      "i37028"
+                                      "i37029"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i11817")))
+                                  #(ribcage #(x) #((top)) #("i36999")))
                                  (hygiene guile))
                               (cons '#(syntax-object
                                        x
@@ -15837,17 +18008,17 @@
                                             pattern
                                             template)
                                           #((top) (top) (top) (top) (top))
-                                          #("i11843"
-                                            "i11844"
-                                            "i11845"
-                                            "i11846"
-                                            "i11847"))
+                                          #("i37025"
+                                            "i37026"
+                                            "i37027"
+                                            "i37028"
+                                            "i37029"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i11817")))
+                                        #(ribcage #(x) #((top)) #("i36999")))
                                        (hygiene guile))
-                                    (cons #{k 11848}#
-                                          (map (lambda (#{tmp 11856}#
-                                                        #{tmp 11855}#)
+                                    (cons #{k 37060}#
+                                          (map (lambda (#{tmp 37038 37065}#
+                                                        #{tmp 37037 37066}#)
                                                  (list (cons '#(syntax-object
                                                                 dummy
                                                                 ((top)
@@ -15862,11 +18033,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i11843"
-                                                                     "i11844"
-                                                                     "i11845"
-                                                                     "i11846"
-                                                                     "i11847"))
+                                                                   #("i37025"
+                                                                     "i37026"
+                                                                     "i37027"
+                                                                     "i37028"
+                                                                     "i37029"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -15874,10 +18045,10 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   
#("i11817")))
+                                                                   
#("i36999")))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 11855}#)
+                                                             #{tmp 37037 
37066}#)
                                                        (list '#(syntax-object
                                                                 syntax
                                                                 ((top)
@@ -15892,11 +18063,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i11843"
-                                                                     "i11844"
-                                                                     "i11845"
-                                                                     "i11846"
-                                                                     "i11847"))
+                                                                   #("i37025"
+                                                                     "i37026"
+                                                                     "i37027"
+                                                                     "i37028"
+                                                                     "i37029"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -15904,50 +18075,50 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   
#("i11817")))
+                                                                   
#("i36999")))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 11856}#)))
-                                               #{template 11852}#
-                                               #{pattern 11851}#))))))
-                #{tmp 11832}#)
+                                                             #{tmp 37038 
37065}#)))
+                                               #{template 37064}#
+                                               #{pattern 37063}#))))))
+                #{tmp 37051}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 11816}#))))))))
+                #{x 37039}#))))))))
 
 (define define-syntax-rule
   (make-syntax-transformer
     'define-syntax-rule
     'macro
-    (lambda (#{x 11857}#)
-      (let ((#{tmp 11860}#
-              ($sc-dispatch #{x 11857}# '(_ (any . any) any))))
-        (if #{tmp 11860}#
+    (lambda (#{x 37103}#)
+      (let ((#{tmp 37105}#
+              ($sc-dispatch #{x 37103}# '(_ (any . any) any))))
+        (if #{tmp 37105}#
           (@apply
-            (lambda (#{name 11864}#
-                     #{pattern 11865}#
-                     #{template 11866}#)
+            (lambda (#{name 37109}#
+                     #{pattern 37110}#
+                     #{template 37111}#)
               (list '#(syntax-object
                        define-syntax
                        ((top)
                         #(ribcage
                           #(name pattern template)
                           #((top) (top) (top))
-                          #("i11861" "i11862" "i11863"))
+                          #("i37080" "i37081" "i37082"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i11858")))
+                        #(ribcage #(x) #((top)) #("i37077")))
                        (hygiene guile))
-                    #{name 11864}#
+                    #{name 37109}#
                     (list '#(syntax-object
                              syntax-rules
                              ((top)
                               #(ribcage
                                 #(name pattern template)
                                 #((top) (top) (top))
-                                #("i11861" "i11862" "i11863"))
+                                #("i37080" "i37081" "i37082"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i11858")))
+                              #(ribcage #(x) #((top)) #("i37077")))
                              (hygiene guile))
                           '()
                           (list (cons '#(syntax-object
@@ -15956,54 +18127,54 @@
                                           #(ribcage
                                             #(name pattern template)
                                             #((top) (top) (top))
-                                            #("i11861" "i11862" "i11863"))
+                                            #("i37080" "i37081" "i37082"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i11858")))
+                                          #(ribcage #(x) #((top)) #("i37077")))
                                          (hygiene guile))
-                                      #{pattern 11865}#)
-                                #{template 11866}#))))
-            #{tmp 11860}#)
-          (let ((#{tmp 11867}#
+                                      #{pattern 37110}#)
+                                #{template 37111}#))))
+            #{tmp 37105}#)
+          (let ((#{tmp 37112}#
                   ($sc-dispatch
-                    #{x 11857}#
+                    #{x 37103}#
                     '(_ (any . any) any any))))
-            (if (if #{tmp 11867}#
+            (if (if #{tmp 37112}#
                   (@apply
-                    (lambda (#{name 11872}#
-                             #{pattern 11873}#
-                             #{docstring 11874}#
-                             #{template 11875}#)
-                      (string? (syntax->datum #{docstring 11874}#)))
-                    #{tmp 11867}#)
+                    (lambda (#{name 37116}#
+                             #{pattern 37117}#
+                             #{docstring 37118}#
+                             #{template 37119}#)
+                      (string? (syntax->datum #{docstring 37118}#)))
+                    #{tmp 37112}#)
                   #f)
               (@apply
-                (lambda (#{name 11880}#
-                         #{pattern 11881}#
-                         #{docstring 11882}#
-                         #{template 11883}#)
+                (lambda (#{name 37120}#
+                         #{pattern 37121}#
+                         #{docstring 37122}#
+                         #{template 37123}#)
                   (list '#(syntax-object
                            define-syntax
                            ((top)
                             #(ribcage
                               #(name pattern docstring template)
                               #((top) (top) (top) (top))
-                              #("i11876" "i11877" "i11878" "i11879"))
+                              #("i37095" "i37096" "i37097" "i37098"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i11858")))
+                            #(ribcage #(x) #((top)) #("i37077")))
                            (hygiene guile))
-                        #{name 11880}#
+                        #{name 37120}#
                         (list '#(syntax-object
                                  syntax-rules
                                  ((top)
                                   #(ribcage
                                     #(name pattern docstring template)
                                     #((top) (top) (top) (top))
-                                    #("i11876" "i11877" "i11878" "i11879"))
+                                    #("i37095" "i37096" "i37097" "i37098"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i11858")))
+                                  #(ribcage #(x) #((top)) #("i37077")))
                                  (hygiene guile))
                               '()
-                              #{docstring 11882}#
+                              #{docstring 37122}#
                               (list (cons '#(syntax-object
                                              _
                                              ((top)
@@ -16013,53 +18184,53 @@
                                                   docstring
                                                   template)
                                                 #((top) (top) (top) (top))
-                                                #("i11876"
-                                                  "i11877"
-                                                  "i11878"
-                                                  "i11879"))
+                                                #("i37095"
+                                                  "i37096"
+                                                  "i37097"
+                                                  "i37098"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i11858")))
+                                                #("i37077")))
                                              (hygiene guile))
-                                          #{pattern 11881}#)
-                                    #{template 11883}#))))
-                #{tmp 11867}#)
+                                          #{pattern 37121}#)
+                                    #{template 37123}#))))
+                #{tmp 37112}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 11857}#))))))))
+                #{x 37103}#))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x 11884}#)
-      (let ((#{tmp 11887}#
+    (lambda (#{x 37172}#)
+      (let ((#{tmp 37174}#
               ($sc-dispatch
-                #{x 11884}#
+                #{x 37172}#
                 '(any #(each (any any)) any . each-any))))
-        (if (if #{tmp 11887}#
+        (if (if #{tmp 37174}#
               (@apply
-                (lambda (#{let* 11893}#
-                         #{x 11894}#
-                         #{v 11895}#
-                         #{e1 11896}#
-                         #{e2 11897}#)
-                  (and-map identifier? #{x 11894}#))
-                #{tmp 11887}#)
+                (lambda (#{let* 37178}#
+                         #{x 37179}#
+                         #{v 37180}#
+                         #{e1 37181}#
+                         #{e2 37182}#)
+                  (and-map identifier? #{x 37179}#))
+                #{tmp 37174}#)
               #f)
           (@apply
-            (lambda (#{let* 11904}#
-                     #{x 11905}#
-                     #{v 11906}#
-                     #{e1 11907}#
-                     #{e2 11908}#)
+            (lambda (#{let* 37183}#
+                     #{x 37184}#
+                     #{v 37185}#
+                     #{e1 37186}#
+                     #{e2 37187}#)
               (letrec*
-                ((#{f 11911}#
-                   (lambda (#{bindings 11912}#)
-                     (if (null? #{bindings 11912}#)
+                ((#{f 37188}#
+                   (lambda (#{bindings 37191}#)
+                     (if (null? #{bindings 37191}#)
                        (cons '#(syntax-object
                                 let
                                 ((top)
@@ -16067,27 +18238,27 @@
                                  #(ribcage
                                    #(f bindings)
                                    #((top) (top))
-                                   #("i11909" "i11910"))
+                                   #("i37158" "i37159"))
                                  #(ribcage
                                    #(let* x v e1 e2)
                                    #((top) (top) (top) (top) (top))
-                                   #("i11899"
-                                     "i11900"
-                                     "i11901"
-                                     "i11902"
-                                     "i11903"))
+                                   #("i37148"
+                                     "i37149"
+                                     "i37150"
+                                     "i37151"
+                                     "i37152"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i11885")))
+                                 #(ribcage #(x) #((top)) #("i37134")))
                                 (hygiene guile))
-                             (cons '() (cons #{e1 11907}# #{e2 11908}#)))
-                       (let ((#{tmp 11917}#
-                               (list (#{f 11911}# (cdr #{bindings 11912}#))
-                                     (car #{bindings 11912}#))))
-                         (let ((#{tmp 11918}#
-                                 ($sc-dispatch #{tmp 11917}# '(any any))))
-                           (if #{tmp 11918}#
+                             (cons '() (cons #{e1 37186}# #{e2 37187}#)))
+                       (let ((#{tmp 37192}#
+                               (list (#{f 37188}# (cdr #{bindings 37191}#))
+                                     (car #{bindings 37191}#))))
+                         (let ((#{tmp 37193}#
+                                 ($sc-dispatch #{tmp 37192}# '(any any))))
+                           (if #{tmp 37193}#
                              (@apply
-                               (lambda (#{body 11921}# #{binding 11922}#)
+                               (lambda (#{body 37195}# #{binding 37196}#)
                                  (list '#(syntax-object
                                           let
                                           ((top)
@@ -16095,86 +18266,86 @@
                                            #(ribcage
                                              #(body binding)
                                              #((top) (top))
-                                             #("i11919" "i11920"))
+                                             #("i37168" "i37169"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(f bindings)
                                              #((top) (top))
-                                             #("i11909" "i11910"))
+                                             #("i37158" "i37159"))
                                            #(ribcage
                                              #(let* x v e1 e2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i11899"
-                                               "i11900"
-                                               "i11901"
-                                               "i11902"
-                                               "i11903"))
+                                             #("i37148"
+                                               "i37149"
+                                               "i37150"
+                                               "i37151"
+                                               "i37152"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x)
                                              #((top))
-                                             #("i11885")))
+                                             #("i37134")))
                                           (hygiene guile))
-                                       (list #{binding 11922}#)
-                                       #{body 11921}#))
-                               #{tmp 11918}#)
+                                       (list #{binding 37196}#)
+                                       #{body 37195}#))
+                               #{tmp 37193}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 11917}#))))))))
-                (#{f 11911}# (map list #{x 11905}# #{v 11906}#))))
-            #{tmp 11887}#)
+                               #{tmp 37192}#))))))))
+                (#{f 37188}# (map list #{x 37184}# #{v 37185}#))))
+            #{tmp 37174}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 11884}#))))))
+            #{x 37172}#))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x 12105}#)
-      (let ((#{tmp 12108}#
+    (lambda (#{orig-x 37254}#)
+      (let ((#{tmp 37256}#
               ($sc-dispatch
-                #{orig-x 12105}#
+                #{orig-x 37254}#
                 '(_ #(each (any any . any))
                     (any . each-any)
                     .
                     each-any))))
-        (if #{tmp 12108}#
+        (if #{tmp 37256}#
           (@apply
-            (lambda (#{var 12115}#
-                     #{init 12116}#
-                     #{step 12117}#
-                     #{e0 12118}#
-                     #{e1 12119}#
-                     #{c 12120}#)
-              (let ((#{tmp 12122}#
-                      (map (lambda (#{v 12143}# #{s 12144}#)
-                             (let ((#{tmp 12148}#
-                                     ($sc-dispatch #{s 12144}# '())))
-                               (if #{tmp 12148}#
-                                 (@apply (lambda () #{v 12143}#) #{tmp 12148}#)
-                                 (let ((#{tmp 12149}#
-                                         ($sc-dispatch #{s 12144}# '(any))))
-                                   (if #{tmp 12149}#
+            (lambda (#{var 37260}#
+                     #{init 37261}#
+                     #{step 37262}#
+                     #{e0 37263}#
+                     #{e1 37264}#
+                     #{c 37265}#)
+              (let ((#{tmp 37266}#
+                      (map (lambda (#{v 37269}# #{s 37270}#)
+                             (let ((#{tmp 37272}#
+                                     ($sc-dispatch #{s 37270}# '())))
+                               (if #{tmp 37272}#
+                                 (@apply (lambda () #{v 37269}#) #{tmp 37272}#)
+                                 (let ((#{tmp 37275}#
+                                         ($sc-dispatch #{s 37270}# '(any))))
+                                   (if #{tmp 37275}#
                                      (@apply
-                                       (lambda (#{e 12151}#) #{e 12151}#)
-                                       #{tmp 12149}#)
+                                       (lambda (#{e 37278}#) #{e 37278}#)
+                                       #{tmp 37275}#)
                                      (syntax-violation
                                        'do
                                        "bad step expression"
-                                       #{orig-x 12105}#
-                                       #{s 12144}#))))))
-                           #{var 12115}#
-                           #{step 12117}#)))
-                (let ((#{tmp 12123}#
-                        ($sc-dispatch #{tmp 12122}# 'each-any)))
-                  (if #{tmp 12123}#
+                                       #{orig-x 37254}#
+                                       #{s 37270}#))))))
+                           #{var 37260}#
+                           #{step 37262}#)))
+                (let ((#{tmp 37267}#
+                        ($sc-dispatch #{tmp 37266}# 'each-any)))
+                  (if #{tmp 37267}#
                     (@apply
-                      (lambda (#{step 12125}#)
-                        (let ((#{tmp 12127}# ($sc-dispatch #{e1 12119}# '())))
-                          (if #{tmp 12127}#
+                      (lambda (#{step 37284}#)
+                        (let ((#{tmp 37286}# ($sc-dispatch #{e1 37264}# '())))
+                          (if #{tmp 37286}#
                             (@apply
                               (lambda ()
                                 (list '#(syntax-object
@@ -16184,7 +18355,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i12124"))
+                                            #("i37222"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -16193,17 +18364,17 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i12109"
-                                              "i12110"
-                                              "i12111"
-                                              "i12112"
-                                              "i12113"
-                                              "i12114"))
+                                            #("i37207"
+                                              "i37208"
+                                              "i37209"
+                                              "i37210"
+                                              "i37211"
+                                              "i37212"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i12106")))
+                                            #("i37204")))
                                          (hygiene guile))
                                       '#(syntax-object
                                          doloop
@@ -16212,7 +18383,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i12124"))
+                                            #("i37222"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -16221,19 +18392,19 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i12109"
-                                              "i12110"
-                                              "i12111"
-                                              "i12112"
-                                              "i12113"
-                                              "i12114"))
+                                            #("i37207"
+                                              "i37208"
+                                              "i37209"
+                                              "i37210"
+                                              "i37211"
+                                              "i37212"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i12106")))
+                                            #("i37204")))
                                          (hygiene guile))
-                                      (map list #{var 12115}# #{init 12116}#)
+                                      (map list #{var 37260}# #{init 37261}#)
                                       (list '#(syntax-object
                                                if
                                                ((top)
@@ -16241,7 +18412,7 @@
                                                 #(ribcage
                                                   #(step)
                                                   #((top))
-                                                  #("i12124"))
+                                                  #("i37222"))
                                                 #(ribcage
                                                   #(var init step e0 e1 c)
                                                   #((top)
@@ -16250,17 +18421,17 @@
                                                     (top)
                                                     (top)
                                                     (top))
-                                                  #("i12109"
-                                                    "i12110"
-                                                    "i12111"
-                                                    "i12112"
-                                                    "i12113"
-                                                    "i12114"))
+                                                  #("i37207"
+                                                    "i37208"
+                                                    "i37209"
+                                                    "i37210"
+                                                    "i37211"
+                                                    "i37212"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(orig-x)
                                                   #((top))
-                                                  #("i12106")))
+                                                  #("i37204")))
                                                (hygiene guile))
                                             (list '#(syntax-object
                                                      not
@@ -16269,7 +18440,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i12124"))
+                                                        #("i37222"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -16283,19 +18454,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i12109"
-                                                          "i12110"
-                                                          "i12111"
-                                                          "i12112"
-                                                          "i12113"
-                                                          "i12114"))
+                                                        #("i37207"
+                                                          "i37208"
+                                                          "i37209"
+                                                          "i37210"
+                                                          "i37211"
+                                                          "i37212"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i12106")))
+                                                        #("i37204")))
                                                      (hygiene guile))
-                                                  #{e0 12118}#)
+                                                  #{e0 37263}#)
                                             (cons '#(syntax-object
                                                      begin
                                                      ((top)
@@ -16303,7 +18474,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i12124"))
+                                                        #("i37222"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -16317,20 +18488,20 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i12109"
-                                                          "i12110"
-                                                          "i12111"
-                                                          "i12112"
-                                                          "i12113"
-                                                          "i12114"))
+                                                        #("i37207"
+                                                          "i37208"
+                                                          "i37209"
+                                                          "i37210"
+                                                          "i37211"
+                                                          "i37212"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i12106")))
+                                                        #("i37204")))
                                                      (hygiene guile))
                                                   (append
-                                                    #{c 12120}#
+                                                    #{c 37265}#
                                                     (list (cons 
'#(syntax-object
                                                                    doloop
                                                                    ((top)
@@ -16341,7 +18512,7 @@
                                                                     #(ribcage
                                                                       #(step)
                                                                       #((top))
-                                                                      
#("i12124"))
+                                                                      
#("i37222"))
                                                                     #(ribcage
                                                                       #(var
                                                                         init
@@ -16355,12 +18526,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      
#("i12109"
-                                                                        
"i12110"
-                                                                        
"i12111"
-                                                                        
"i12112"
-                                                                        
"i12113"
-                                                                        
"i12114"))
+                                                                      
#("i37207"
+                                                                        
"i37208"
+                                                                        
"i37209"
+                                                                        
"i37210"
+                                                                        
"i37211"
+                                                                        
"i37212"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -16368,30 +18539,30 @@
                                                                     #(ribcage
                                                                       #(orig-x)
                                                                       #((top))
-                                                                      
#("i12106")))
+                                                                      
#("i37204")))
                                                                    (hygiene
                                                                      guile))
-                                                                #{step 
12125}#)))))))
-                              #{tmp 12127}#)
-                            (let ((#{tmp 12132}#
+                                                                #{step 
37284}#)))))))
+                              #{tmp 37286}#)
+                            (let ((#{tmp 37290}#
                                     ($sc-dispatch
-                                      #{e1 12119}#
+                                      #{e1 37264}#
                                       '(any . each-any))))
-                              (if #{tmp 12132}#
+                              (if #{tmp 37290}#
                                 (@apply
-                                  (lambda (#{e1 12135}# #{e2 12136}#)
+                                  (lambda (#{e1 37294}# #{e2 37295}#)
                                     (list '#(syntax-object
                                              let
                                              ((top)
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i12133" "i12134"))
+                                                #("i37231" "i37232"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i12124"))
+                                                #("i37222"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -16400,17 +18571,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i12109"
-                                                  "i12110"
-                                                  "i12111"
-                                                  "i12112"
-                                                  "i12113"
-                                                  "i12114"))
+                                                #("i37207"
+                                                  "i37208"
+                                                  "i37209"
+                                                  "i37210"
+                                                  "i37211"
+                                                  "i37212"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i12106")))
+                                                #("i37204")))
                                              (hygiene guile))
                                           '#(syntax-object
                                              doloop
@@ -16418,12 +18589,12 @@
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i12133" "i12134"))
+                                                #("i37231" "i37232"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i12124"))
+                                                #("i37222"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -16432,33 +18603,33 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i12109"
-                                                  "i12110"
-                                                  "i12111"
-                                                  "i12112"
-                                                  "i12113"
-                                                  "i12114"))
+                                                #("i37207"
+                                                  "i37208"
+                                                  "i37209"
+                                                  "i37210"
+                                                  "i37211"
+                                                  "i37212"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i12106")))
+                                                #("i37204")))
                                              (hygiene guile))
                                           (map list
-                                               #{var 12115}#
-                                               #{init 12116}#)
+                                               #{var 37260}#
+                                               #{init 37261}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
                                                     #(ribcage
                                                       #(e1 e2)
                                                       #((top) (top))
-                                                      #("i12133" "i12134"))
+                                                      #("i37231" "i37232"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i12124"))
+                                                      #("i37222"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -16467,32 +18638,32 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i12109"
-                                                        "i12110"
-                                                        "i12111"
-                                                        "i12112"
-                                                        "i12113"
-                                                        "i12114"))
+                                                      #("i37207"
+                                                        "i37208"
+                                                        "i37209"
+                                                        "i37210"
+                                                        "i37211"
+                                                        "i37212"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i12106")))
+                                                      #("i37204")))
                                                    (hygiene guile))
-                                                #{e0 12118}#
+                                                #{e0 37263}#
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i12133"
-                                                              "i12134"))
+                                                            #("i37231"
+                                                              "i37232"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i12124"))
+                                                            #("i37222"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -16506,33 +18677,33 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i12109"
-                                                              "i12110"
-                                                              "i12111"
-                                                              "i12112"
-                                                              "i12113"
-                                                              "i12114"))
+                                                            #("i37207"
+                                                              "i37208"
+                                                              "i37209"
+                                                              "i37210"
+                                                              "i37211"
+                                                              "i37212"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i12106")))
+                                                            #("i37204")))
                                                          (hygiene guile))
-                                                      (cons #{e1 12135}#
-                                                            #{e2 12136}#))
+                                                      (cons #{e1 37294}#
+                                                            #{e2 37295}#))
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i12133"
-                                                              "i12134"))
+                                                            #("i37231"
+                                                              "i37232"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i12124"))
+                                                            #("i37222"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -16546,20 +18717,20 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i12109"
-                                                              "i12110"
-                                                              "i12111"
-                                                              "i12112"
-                                                              "i12113"
-                                                              "i12114"))
+                                                            #("i37207"
+                                                              "i37208"
+                                                              "i37209"
+                                                              "i37210"
+                                                              "i37211"
+                                                              "i37212"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i12106")))
+                                                            #("i37204")))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c 12120}#
+                                                        #{c 37265}#
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
@@ -16568,8 +18739,8 @@
                                                                             e2)
                                                                           
#((top)
                                                                             
(top))
-                                                                          
#("i12133"
-                                                                            
"i12134"))
+                                                                          
#("i37231"
+                                                                            
"i37232"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -16577,7 +18748,7 @@
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i12124"))
+                                                                          
#("i37222"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -16591,12 +18762,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i12109"
-                                                                            
"i12110"
-                                                                            
"i12111"
-                                                                            
"i12112"
-                                                                            
"i12113"
-                                                                            
"i12114"))
+                                                                          
#("i37207"
+                                                                            
"i37208"
+                                                                            
"i37209"
+                                                                            
"i37210"
+                                                                            
"i37211"
+                                                                            
"i37212"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -16604,36 +18775,36 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i12106")))
+                                                                          
#("i37204")))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step 
12125}#)))))))
-                                  #{tmp 12132}#)
+                                                                    #{step 
37284}#)))))))
+                                  #{tmp 37290}#)
                                 (syntax-violation
                                   #f
                                   "source expression failed to match any 
pattern"
-                                  #{e1 12119}#))))))
-                      #{tmp 12123}#)
+                                  #{e1 37264}#))))))
+                      #{tmp 37267}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 12122}#)))))
-            #{tmp 12108}#)
+                      #{tmp 37266}#)))))
+            #{tmp 37256}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{orig-x 12105}#))))))
+            #{orig-x 37254}#))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasi 12157}#
-         (lambda (#{p 12170}# #{lev 12171}#)
-           (let ((#{tmp 12175}#
+      ((#{quasi 37581}#
+         (lambda (#{p 37605}# #{lev 37606}#)
+           (let ((#{tmp 37608}#
                    ($sc-dispatch
-                     #{p 12170}#
+                     #{p 37605}#
                      '(#(free-id
                          #(syntax-object
                            unquote
@@ -16642,7 +18813,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i12172" "i12173"))
+                              #("i37327" "i37328"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -16651,28 +18822,28 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i12168"
-                               "i12166"
-                               "i12164"
-                               "i12162"
-                               "i12160"
-                               "i12158"
-                               "i12156")))
+                              ("i37323"
+                               "i37321"
+                               "i37319"
+                               "i37317"
+                               "i37315"
+                               "i37313"
+                               "i37311")))
                            (hygiene guile)))
                        any))))
-             (if #{tmp 12175}#
+             (if #{tmp 37608}#
                (@apply
-                 (lambda (#{p 12177}#)
-                   (if (= #{lev 12171}# 0)
+                 (lambda (#{p 37612}#)
+                   (if (= #{lev 37606}# 0)
                      (list '#(syntax-object
                               "value"
                               ((top)
-                               #(ribcage #(p) #((top)) #("i12176"))
+                               #(ribcage #(p) #((top)) #("i37331"))
                                #(ribcage () () ())
                                #(ribcage
                                  #(p lev)
                                  #((top) (top))
-                                 #("i12172" "i12173"))
+                                 #("i37327" "i37328"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -16681,25 +18852,25 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i12168"
-                                  "i12166"
-                                  "i12164"
-                                  "i12162"
-                                  "i12160"
-                                  "i12158"
-                                  "i12156")))
+                                 ("i37323"
+                                  "i37321"
+                                  "i37319"
+                                  "i37317"
+                                  "i37315"
+                                  "i37313"
+                                  "i37311")))
                               (hygiene guile))
-                           #{p 12177}#)
-                     (#{quasicons 12161}#
+                           #{p 37612}#)
+                     (#{quasicons 37583}#
                        '(#(syntax-object
                            "quote"
                            ((top)
-                            #(ribcage #(p) #((top)) #("i12176"))
+                            #(ribcage #(p) #((top)) #("i37331"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i12172" "i12173"))
+                              #("i37327" "i37328"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -16708,23 +18879,23 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i12168"
-                               "i12166"
-                               "i12164"
-                               "i12162"
-                               "i12160"
-                               "i12158"
-                               "i12156")))
+                              ("i37323"
+                               "i37321"
+                               "i37319"
+                               "i37317"
+                               "i37315"
+                               "i37313"
+                               "i37311")))
                            (hygiene guile))
                          #(syntax-object
                            unquote
                            ((top)
-                            #(ribcage #(p) #((top)) #("i12176"))
+                            #(ribcage #(p) #((top)) #("i37331"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i12172" "i12173"))
+                              #("i37327" "i37328"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -16733,21 +18904,21 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i12168"
-                               "i12166"
-                               "i12164"
-                               "i12162"
-                               "i12160"
-                               "i12158"
-                               "i12156")))
+                              ("i37323"
+                               "i37321"
+                               "i37319"
+                               "i37317"
+                               "i37315"
+                               "i37313"
+                               "i37311")))
                            (hygiene guile)))
-                       (#{quasi 12157}#
-                         (list #{p 12177}#)
-                         (#{1-}# #{lev 12171}#)))))
-                 #{tmp 12175}#)
-               (let ((#{tmp 12178}#
+                       (#{quasi 37581}#
+                         (list #{p 37612}#)
+                         (#{1-}# #{lev 37606}#)))))
+                 #{tmp 37608}#)
+               (let ((#{tmp 37615}#
                        ($sc-dispatch
-                         #{p 12170}#
+                         #{p 37605}#
                          '(#(free-id
                              #(syntax-object
                                quasiquote
@@ -16756,7 +18927,7 @@
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i12172" "i12173"))
+                                  #("i37327" "i37328"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -16765,28 +18936,28 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i12168"
-                                   "i12166"
-                                   "i12164"
-                                   "i12162"
-                                   "i12160"
-                                   "i12158"
-                                   "i12156")))
+                                  ("i37323"
+                                   "i37321"
+                                   "i37319"
+                                   "i37317"
+                                   "i37315"
+                                   "i37313"
+                                   "i37311")))
                                (hygiene guile)))
                            any))))
-                 (if #{tmp 12178}#
+                 (if #{tmp 37615}#
                    (@apply
-                     (lambda (#{p 12180}#)
-                       (#{quasicons 12161}#
+                     (lambda (#{p 37619}#)
+                       (#{quasicons 37583}#
                          '(#(syntax-object
                              "quote"
                              ((top)
-                              #(ribcage #(p) #((top)) #("i12179"))
+                              #(ribcage #(p) #((top)) #("i37334"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i12172" "i12173"))
+                                #("i37327" "i37328"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -16795,23 +18966,23 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i12168"
-                                 "i12166"
-                                 "i12164"
-                                 "i12162"
-                                 "i12160"
-                                 "i12158"
-                                 "i12156")))
+                                ("i37323"
+                                 "i37321"
+                                 "i37319"
+                                 "i37317"
+                                 "i37315"
+                                 "i37313"
+                                 "i37311")))
                              (hygiene guile))
                            #(syntax-object
                              quasiquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i12179"))
+                              #(ribcage #(p) #((top)) #("i37334"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i12172" "i12173"))
+                                #("i37327" "i37328"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -16820,26 +18991,26 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i12168"
-                                 "i12166"
-                                 "i12164"
-                                 "i12162"
-                                 "i12160"
-                                 "i12158"
-                                 "i12156")))
+                                ("i37323"
+                                 "i37321"
+                                 "i37319"
+                                 "i37317"
+                                 "i37315"
+                                 "i37313"
+                                 "i37311")))
                              (hygiene guile)))
-                         (#{quasi 12157}#
-                           (list #{p 12180}#)
-                           (#{1+}# #{lev 12171}#))))
-                     #{tmp 12178}#)
-                   (let ((#{tmp 12181}#
-                           ($sc-dispatch #{p 12170}# '(any . any))))
-                     (if #{tmp 12181}#
+                         (#{quasi 37581}#
+                           (list #{p 37619}#)
+                           (#{1+}# #{lev 37606}#))))
+                     #{tmp 37615}#)
+                   (let ((#{tmp 37622}#
+                           ($sc-dispatch #{p 37605}# '(any . any))))
+                     (if #{tmp 37622}#
                        (@apply
-                         (lambda (#{p 12184}# #{q 12185}#)
-                           (let ((#{tmp 12187}#
+                         (lambda (#{p 37626}# #{q 37627}#)
+                           (let ((#{tmp 37629}#
                                    ($sc-dispatch
-                                     #{p 12184}#
+                                     #{p 37626}#
                                      '(#(free-id
                                          #(syntax-object
                                            unquote
@@ -16847,12 +19018,12 @@
                                             #(ribcage
                                               #(p q)
                                               #((top) (top))
-                                              #("i12182" "i12183"))
+                                              #("i37337" "i37338"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i12172" "i12173"))
+                                              #("i37327" "i37328"))
                                             #(ribcage
                                               (emit quasivector
                                                     quasilist*
@@ -16867,38 +19038,38 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i12168"
-                                               "i12166"
-                                               "i12164"
-                                               "i12162"
-                                               "i12160"
-                                               "i12158"
-                                               "i12156")))
+                                              ("i37323"
+                                               "i37321"
+                                               "i37319"
+                                               "i37317"
+                                               "i37315"
+                                               "i37313"
+                                               "i37311")))
                                            (hygiene guile)))
                                        .
                                        each-any))))
-                             (if #{tmp 12187}#
+                             (if #{tmp 37629}#
                                (@apply
-                                 (lambda (#{p 12189}#)
-                                   (if (= #{lev 12171}# 0)
-                                     (#{quasilist* 12165}#
-                                       (map (lambda (#{tmp 12190}#)
+                                 (lambda (#{p 37633}#)
+                                   (if (= #{lev 37606}# 0)
+                                     (#{quasilist* 37585}#
+                                       (map (lambda (#{tmp 37345 37672}#)
                                               (list '#(syntax-object
                                                        "value"
                                                        ((top)
                                                         #(ribcage
                                                           #(p)
                                                           #((top))
-                                                          #("i12188"))
+                                                          #("i37343"))
                                                         #(ribcage
                                                           #(p q)
                                                           #((top) (top))
-                                                          #("i12182" "i12183"))
+                                                          #("i37337" "i37338"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i12172" "i12173"))
+                                                          #("i37327" "i37328"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -16913,37 +19084,37 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i12168"
-                                                           "i12166"
-                                                           "i12164"
-                                                           "i12162"
-                                                           "i12160"
-                                                           "i12158"
-                                                           "i12156")))
+                                                          ("i37323"
+                                                           "i37321"
+                                                           "i37319"
+                                                           "i37317"
+                                                           "i37315"
+                                                           "i37313"
+                                                           "i37311")))
                                                        (hygiene guile))
-                                                    #{tmp 12190}#))
-                                            #{p 12189}#)
-                                       (#{quasi 12157}#
-                                         #{q 12185}#
-                                         #{lev 12171}#))
-                                     (#{quasicons 12161}#
-                                       (#{quasicons 12161}#
+                                                    #{tmp 37345 37672}#))
+                                            #{p 37633}#)
+                                       (#{quasi 37581}#
+                                         #{q 37627}#
+                                         #{lev 37606}#))
+                                     (#{quasicons 37583}#
+                                       (#{quasicons 37583}#
                                          '(#(syntax-object
                                              "quote"
                                              ((top)
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i12188"))
+                                                #("i37343"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i12182" "i12183"))
+                                                #("i37337" "i37338"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i12172" "i12173"))
+                                                #("i37327" "i37328"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -16958,13 +19129,13 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i12168"
-                                                 "i12166"
-                                                 "i12164"
-                                                 "i12162"
-                                                 "i12160"
-                                                 "i12158"
-                                                 "i12156")))
+                                                ("i37323"
+                                                 "i37321"
+                                                 "i37319"
+                                                 "i37317"
+                                                 "i37315"
+                                                 "i37313"
+                                                 "i37311")))
                                              (hygiene guile))
                                            #(syntax-object
                                              unquote
@@ -16972,16 +19143,16 @@
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i12188"))
+                                                #("i37343"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i12182" "i12183"))
+                                                #("i37337" "i37338"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i12172" "i12173"))
+                                                #("i37327" "i37328"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -16996,24 +19167,24 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i12168"
-                                                 "i12166"
-                                                 "i12164"
-                                                 "i12162"
-                                                 "i12160"
-                                                 "i12158"
-                                                 "i12156")))
+                                                ("i37323"
+                                                 "i37321"
+                                                 "i37319"
+                                                 "i37317"
+                                                 "i37315"
+                                                 "i37313"
+                                                 "i37311")))
                                              (hygiene guile)))
-                                         (#{quasi 12157}#
-                                           #{p 12189}#
-                                           (#{1-}# #{lev 12171}#)))
-                                       (#{quasi 12157}#
-                                         #{q 12185}#
-                                         #{lev 12171}#))))
-                                 #{tmp 12187}#)
-                               (let ((#{tmp 12192}#
+                                         (#{quasi 37581}#
+                                           #{p 37633}#
+                                           (#{1-}# #{lev 37606}#)))
+                                       (#{quasi 37581}#
+                                         #{q 37627}#
+                                         #{lev 37606}#))))
+                                 #{tmp 37629}#)
+                               (let ((#{tmp 37677}#
                                        ($sc-dispatch
-                                         #{p 12184}#
+                                         #{p 37626}#
                                          '(#(free-id
                                              #(syntax-object
                                                unquote-splicing
@@ -17021,12 +19192,12 @@
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i12182" "i12183"))
+                                                  #("i37337" "i37338"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i12172" "i12173"))
+                                                  #("i37327" "i37328"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -17041,40 +19212,40 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i12168"
-                                                   "i12166"
-                                                   "i12164"
-                                                   "i12162"
-                                                   "i12160"
-                                                   "i12158"
-                                                   "i12156")))
+                                                  ("i37323"
+                                                   "i37321"
+                                                   "i37319"
+                                                   "i37317"
+                                                   "i37315"
+                                                   "i37313"
+                                                   "i37311")))
                                                (hygiene guile)))
                                            .
                                            each-any))))
-                                 (if #{tmp 12192}#
+                                 (if #{tmp 37677}#
                                    (@apply
-                                     (lambda (#{p 12194}#)
-                                       (if (= #{lev 12171}# 0)
-                                         (#{quasiappend 12163}#
-                                           (map (lambda (#{tmp 12195}#)
+                                     (lambda (#{p 37681}#)
+                                       (if (= #{lev 37606}# 0)
+                                         (#{quasiappend 37584}#
+                                           (map (lambda (#{tmp 37350 37684}#)
                                                   (list '#(syntax-object
                                                            "value"
                                                            ((top)
                                                             #(ribcage
                                                               #(p)
                                                               #((top))
-                                                              #("i12193"))
+                                                              #("i37348"))
                                                             #(ribcage
                                                               #(p q)
                                                               #((top) (top))
-                                                              #("i12182"
-                                                                "i12183"))
+                                                              #("i37337"
+                                                                "i37338"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(p lev)
                                                               #((top) (top))
-                                                              #("i12172"
-                                                                "i12173"))
+                                                              #("i37327"
+                                                                "i37328"))
                                                             #(ribcage
                                                               (emit quasivector
                                                                     quasilist*
@@ -17089,37 +19260,37 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                              ("i12168"
-                                                               "i12166"
-                                                               "i12164"
-                                                               "i12162"
-                                                               "i12160"
-                                                               "i12158"
-                                                               "i12156")))
+                                                              ("i37323"
+                                                               "i37321"
+                                                               "i37319"
+                                                               "i37317"
+                                                               "i37315"
+                                                               "i37313"
+                                                               "i37311")))
                                                            (hygiene guile))
-                                                        #{tmp 12195}#))
-                                                #{p 12194}#)
-                                           (#{quasi 12157}#
-                                             #{q 12185}#
-                                             #{lev 12171}#))
-                                         (#{quasicons 12161}#
-                                           (#{quasicons 12161}#
+                                                        #{tmp 37350 37684}#))
+                                                #{p 37681}#)
+                                           (#{quasi 37581}#
+                                             #{q 37627}#
+                                             #{lev 37606}#))
+                                         (#{quasicons 37583}#
+                                           (#{quasicons 37583}#
                                              '(#(syntax-object
                                                  "quote"
                                                  ((top)
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i12193"))
+                                                    #("i37348"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i12182" "i12183"))
+                                                    #("i37337" "i37338"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i12172" "i12173"))
+                                                    #("i37327" "i37328"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -17134,13 +19305,13 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i12168"
-                                                     "i12166"
-                                                     "i12164"
-                                                     "i12162"
-                                                     "i12160"
-                                                     "i12158"
-                                                     "i12156")))
+                                                    ("i37323"
+                                                     "i37321"
+                                                     "i37319"
+                                                     "i37317"
+                                                     "i37315"
+                                                     "i37313"
+                                                     "i37311")))
                                                  (hygiene guile))
                                                #(syntax-object
                                                  unquote-splicing
@@ -17148,16 +19319,16 @@
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i12193"))
+                                                    #("i37348"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i12182" "i12183"))
+                                                    #("i37337" "i37338"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i12172" "i12173"))
+                                                    #("i37327" "i37328"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -17172,46 +19343,337 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i12168"
-                                                     "i12166"
-                                                     "i12164"
-                                                     "i12162"
-                                                     "i12160"
-                                                     "i12158"
-                                                     "i12156")))
+                                                    ("i37323"
+                                                     "i37321"
+                                                     "i37319"
+                                                     "i37317"
+                                                     "i37315"
+                                                     "i37313"
+                                                     "i37311")))
                                                  (hygiene guile)))
-                                             (#{quasi 12157}#
-                                               #{p 12194}#
-                                               (#{1-}# #{lev 12171}#)))
-                                           (#{quasi 12157}#
-                                             #{q 12185}#
-                                             #{lev 12171}#))))
-                                     #{tmp 12192}#)
-                                   (#{quasicons 12161}#
-                                     (#{quasi 12157}#
-                                       #{p 12184}#
-                                       #{lev 12171}#)
-                                     (#{quasi 12157}#
-                                       #{q 12185}#
-                                       #{lev 12171}#)))))))
-                         #{tmp 12181}#)
-                       (let ((#{tmp 12199}#
-                               ($sc-dispatch #{p 12170}# '#(vector each-any))))
-                         (if #{tmp 12199}#
+                                             (#{quasi 37581}#
+                                               #{p 37681}#
+                                               (#{1-}# #{lev 37606}#)))
+                                           (#{quasi 37581}#
+                                             #{q 37627}#
+                                             #{lev 37606}#))))
+                                     #{tmp 37677}#)
+                                   (#{quasicons 37583}#
+                                     (#{quasi 37581}#
+                                       #{p 37626}#
+                                       #{lev 37606}#)
+                                     (#{quasi 37581}#
+                                       #{q 37627}#
+                                       #{lev 37606}#)))))))
+                         #{tmp 37622}#)
+                       (let ((#{tmp 37698}#
+                               ($sc-dispatch #{p 37605}# '#(vector each-any))))
+                         (if #{tmp 37698}#
                            (@apply
-                             (lambda (#{x 12201}#)
-                               (#{quasivector 12167}#
-                                 (#{vquasi 12159}# #{x 12201}# #{lev 12171}#)))
-                             #{tmp 12199}#)
+                             (lambda (#{x 37702}#)
+                               (let ((#{x 37705}#
+                                       (#{vquasi 37582}#
+                                         #{x 37702}#
+                                         #{lev 37606}#)))
+                                 (let ((#{tmp 37707}#
+                                         ($sc-dispatch
+                                           #{x 37705}#
+                                           '(#(atom "quote") each-any))))
+                                   (if #{tmp 37707}#
+                                     (@apply
+                                       (lambda (#{x 37711}#)
+                                         (list '#(syntax-object
+                                                  "quote"
+                                                  ((top)
+                                                   #(ribcage
+                                                     #(x)
+                                                     #((top))
+                                                     #("i37455"))
+                                                   #(ribcage () () ())
+                                                   #(ribcage
+                                                     #(x)
+                                                     #((top))
+                                                     #("i37452"))
+                                                   #(ribcage
+                                                     (emit quasivector
+                                                           quasilist*
+                                                           quasiappend
+                                                           quasicons
+                                                           vquasi
+                                                           quasi)
+                                                     ((top)
+                                                      (top)
+                                                      (top)
+                                                      (top)
+                                                      (top)
+                                                      (top)
+                                                      (top))
+                                                     ("i37323"
+                                                      "i37321"
+                                                      "i37319"
+                                                      "i37317"
+                                                      "i37315"
+                                                      "i37313"
+                                                      "i37311")))
+                                                  (hygiene guile))
+                                               (list->vector #{x 37711}#)))
+                                       #{tmp 37707}#)
+                                     (letrec*
+                                       ((#{f 37713}#
+                                          (lambda (#{y 37725}# #{k 37726}#)
+                                            (let ((#{tmp 37728}#
+                                                    ($sc-dispatch
+                                                      #{y 37725}#
+                                                      '(#(atom "quote")
+                                                        each-any))))
+                                              (if #{tmp 37728}#
+                                                (@apply
+                                                  (lambda (#{y 37731}#)
+                                                    (#{k 37726}#
+                                                      (map (lambda (#{tmp 
37480 37732}#)
+                                                             (list 
'#(syntax-object
+                                                                      "quote"
+                                                                      ((top)
+                                                                       
#(ribcage
+                                                                         #(y)
+                                                                         
#((top))
+                                                                         
#("i37478"))
+                                                                       
#(ribcage
+                                                                         ()
+                                                                         ()
+                                                                         ())
+                                                                       
#(ribcage
+                                                                         #(f
+                                                                           y
+                                                                           k)
+                                                                         
#((top)
+                                                                           
(top)
+                                                                           
(top))
+                                                                         
#("i37460"
+                                                                           
"i37461"
+                                                                           
"i37462"))
+                                                                       
#(ribcage
+                                                                         #(_)
+                                                                         
#((top))
+                                                                         
#("i37458"))
+                                                                       
#(ribcage
+                                                                         ()
+                                                                         ()
+                                                                         ())
+                                                                       
#(ribcage
+                                                                         #(x)
+                                                                         
#((top))
+                                                                         
#("i37452"))
+                                                                       
#(ribcage
+                                                                         (emit 
quasivector
+                                                                               
quasilist*
+                                                                               
quasiappend
+                                                                               
quasicons
+                                                                               
vquasi
+                                                                               
quasi)
+                                                                         ((top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top)
+                                                                          (top)
+                                                                          
(top))
+                                                                         
("i37323"
+                                                                          
"i37321"
+                                                                          
"i37319"
+                                                                          
"i37317"
+                                                                          
"i37315"
+                                                                          
"i37313"
+                                                                          
"i37311")))
+                                                                      (hygiene
+                                                                        guile))
+                                                                   #{tmp 37480 
37732}#))
+                                                           #{y 37731}#)))
+                                                  #{tmp 37728}#)
+                                                (let ((#{tmp 37733}#
+                                                        ($sc-dispatch
+                                                          #{y 37725}#
+                                                          '(#(atom "list")
+                                                            .
+                                                            each-any))))
+                                                  (if #{tmp 37733}#
+                                                    (@apply
+                                                      (lambda (#{y 37736}#)
+                                                        (#{k 37726}#
+                                                          #{y 37736}#))
+                                                      #{tmp 37733}#)
+                                                    (let ((#{tmp 37737}#
+                                                            ($sc-dispatch
+                                                              #{y 37725}#
+                                                              '(#(atom "list*")
+                                                                .
+                                                                #(each+
+                                                                  any
+                                                                  (any)
+                                                                  ())))))
+                                                      (if #{tmp 37737}#
+                                                        (@apply
+                                                          (lambda (#{y 37740}#
+                                                                   #{z 37741}#)
+                                                            (#{f 37713}#
+                                                              #{z 37741}#
+                                                              (lambda (#{ls 
37742}#)
+                                                                (#{k 37726}#
+                                                                  (append
+                                                                    #{y 37740}#
+                                                                    #{ls 
37742}#)))))
+                                                          #{tmp 37737}#)
+                                                        (list '#(syntax-object
+                                                                 "list->vector"
+                                                                 ((top)
+                                                                  #(ribcage
+                                                                    ()
+                                                                    ()
+                                                                    ())
+                                                                  #(ribcage
+                                                                    #(#{ 
g37495}#)
+                                                                    #((m37496
+                                                                        top))
+                                                                    
#("i37499"))
+                                                                  #(ribcage
+                                                                    #(else)
+                                                                    #((top))
+                                                                    
#("i37493"))
+                                                                  #(ribcage
+                                                                    ()
+                                                                    ()
+                                                                    ())
+                                                                  #(ribcage
+                                                                    #(f y k)
+                                                                    #((top)
+                                                                      (top)
+                                                                      (top))
+                                                                    #("i37460"
+                                                                      "i37461"
+                                                                      
"i37462"))
+                                                                  #(ribcage
+                                                                    #(_)
+                                                                    #((top))
+                                                                    
#("i37458"))
+                                                                  #(ribcage
+                                                                    ()
+                                                                    ()
+                                                                    ())
+                                                                  #(ribcage
+                                                                    #(x)
+                                                                    #((top))
+                                                                    
#("i37452"))
+                                                                  #(ribcage
+                                                                    (emit 
quasivector
+                                                                          
quasilist*
+                                                                          
quasiappend
+                                                                          
quasicons
+                                                                          
vquasi
+                                                                          
quasi)
+                                                                    ((top)
+                                                                     (top)
+                                                                     (top)
+                                                                     (top)
+                                                                     (top)
+                                                                     (top)
+                                                                     (top))
+                                                                    ("i37323"
+                                                                     "i37321"
+                                                                     "i37319"
+                                                                     "i37317"
+                                                                     "i37315"
+                                                                     "i37313"
+                                                                     
"i37311")))
+                                                                 (hygiene
+                                                                   guile))
+                                                              #{x 
37705}#))))))))))
+                                       (#{f 37713}#
+                                         #{x 37705}#
+                                         (lambda (#{ls 37715}#)
+                                           (let ((#{tmp 37717}#
+                                                   ($sc-dispatch
+                                                     #{ls 37715}#
+                                                     'each-any)))
+                                             (if #{tmp 37717}#
+                                               (@apply
+                                                 (lambda (#{ g37468 37720}#)
+                                                   (cons '#(syntax-object
+                                                            "vector"
+                                                            ((top)
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               #(#{ g37468}#)
+                                                               #((m37469 top))
+                                                               #("i37473"))
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               #(ls)
+                                                               #((top))
+                                                               #("i37467"))
+                                                             #(ribcage
+                                                               #(_)
+                                                               #((top))
+                                                               #("i37458"))
+                                                             #(ribcage
+                                                               ()
+                                                               ()
+                                                               ())
+                                                             #(ribcage
+                                                               #(x)
+                                                               #((top))
+                                                               #("i37452"))
+                                                             #(ribcage
+                                                               (emit 
quasivector
+                                                                     quasilist*
+                                                                     
quasiappend
+                                                                     quasicons
+                                                                     vquasi
+                                                                     quasi)
+                                                               ((top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top)
+                                                                (top))
+                                                               ("i37323"
+                                                                "i37321"
+                                                                "i37319"
+                                                                "i37317"
+                                                                "i37315"
+                                                                "i37313"
+                                                                "i37311")))
+                                                            (hygiene guile))
+                                                         #{ g37468 37720}#))
+                                                 #{tmp 37717}#)
+                                               (syntax-violation
+                                                 #f
+                                                 "source expression failed to 
match any pattern"
+                                                 #{ls 37715}#))))))))))
+                             #{tmp 37698}#)
                            (list '#(syntax-object
                                     "quote"
                                     ((top)
-                                     #(ribcage #(p) #((top)) #("i12203"))
+                                     #(ribcage #(p) #((top)) #("i37358"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(p lev)
                                        #((top) (top))
-                                       #("i12172" "i12173"))
+                                       #("i37327" "i37328"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -17226,25 +19688,25 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i12168"
-                                        "i12166"
-                                        "i12164"
-                                        "i12162"
-                                        "i12160"
-                                        "i12158"
-                                        "i12156")))
+                                       ("i37323"
+                                        "i37321"
+                                        "i37319"
+                                        "i37317"
+                                        "i37315"
+                                        "i37313"
+                                        "i37311")))
                                     (hygiene guile))
-                                 #{p 12170}#)))))))))))
-       (#{vquasi 12159}#
-         (lambda (#{p 12205}# #{lev 12206}#)
-           (let ((#{tmp 12210}#
-                   ($sc-dispatch #{p 12205}# '(any . any))))
-             (if #{tmp 12210}#
+                                 #{p 37605}#)))))))))))
+       (#{vquasi 37582}#
+         (lambda (#{p 37770}# #{lev 37771}#)
+           (let ((#{tmp 37773}#
+                   ($sc-dispatch #{p 37770}# '(any . any))))
+             (if #{tmp 37773}#
                (@apply
-                 (lambda (#{p 12213}# #{q 12214}#)
-                   (let ((#{tmp 12216}#
+                 (lambda (#{p 37777}# #{q 37778}#)
+                   (let ((#{tmp 37780}#
                            ($sc-dispatch
-                             #{p 12213}#
+                             #{p 37777}#
                              '(#(free-id
                                  #(syntax-object
                                    unquote
@@ -17252,12 +19714,12 @@
                                     #(ribcage
                                       #(p q)
                                       #((top) (top))
-                                      #("i12211" "i12212"))
+                                      #("i37366" "i37367"))
                                     #(ribcage () () ())
                                     #(ribcage
                                       #(p lev)
                                       #((top) (top))
-                                      #("i12207" "i12208"))
+                                      #("i37362" "i37363"))
                                     #(ribcage
                                       (emit quasivector
                                             quasilist*
@@ -17272,38 +19734,38 @@
                                        (top)
                                        (top)
                                        (top))
-                                      ("i12168"
-                                       "i12166"
-                                       "i12164"
-                                       "i12162"
-                                       "i12160"
-                                       "i12158"
-                                       "i12156")))
+                                      ("i37323"
+                                       "i37321"
+                                       "i37319"
+                                       "i37317"
+                                       "i37315"
+                                       "i37313"
+                                       "i37311")))
                                    (hygiene guile)))
                                .
                                each-any))))
-                     (if #{tmp 12216}#
+                     (if #{tmp 37780}#
                        (@apply
-                         (lambda (#{p 12218}#)
-                           (if (= #{lev 12206}# 0)
-                             (#{quasilist* 12165}#
-                               (map (lambda (#{tmp 12219}#)
+                         (lambda (#{p 37784}#)
+                           (if (= #{lev 37771}# 0)
+                             (#{quasilist* 37585}#
+                               (map (lambda (#{tmp 37374 37823}#)
                                       (list '#(syntax-object
                                                "value"
                                                ((top)
                                                 #(ribcage
                                                   #(p)
                                                   #((top))
-                                                  #("i12217"))
+                                                  #("i37372"))
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i12211" "i12212"))
+                                                  #("i37366" "i37367"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i12207" "i12208"))
+                                                  #("i37362" "i37363"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -17318,32 +19780,32 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i12168"
-                                                   "i12166"
-                                                   "i12164"
-                                                   "i12162"
-                                                   "i12160"
-                                                   "i12158"
-                                                   "i12156")))
+                                                  ("i37323"
+                                                   "i37321"
+                                                   "i37319"
+                                                   "i37317"
+                                                   "i37315"
+                                                   "i37313"
+                                                   "i37311")))
                                                (hygiene guile))
-                                            #{tmp 12219}#))
-                                    #{p 12218}#)
-                               (#{vquasi 12159}# #{q 12214}# #{lev 12206}#))
-                             (#{quasicons 12161}#
-                               (#{quasicons 12161}#
+                                            #{tmp 37374 37823}#))
+                                    #{p 37784}#)
+                               (#{vquasi 37582}# #{q 37778}# #{lev 37771}#))
+                             (#{quasicons 37583}#
+                               (#{quasicons 37583}#
                                  '(#(syntax-object
                                      "quote"
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i12217"))
+                                      #(ribcage #(p) #((top)) #("i37372"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i12211" "i12212"))
+                                        #("i37366" "i37367"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i12207" "i12208"))
+                                        #("i37362" "i37363"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -17358,27 +19820,27 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i12168"
-                                         "i12166"
-                                         "i12164"
-                                         "i12162"
-                                         "i12160"
-                                         "i12158"
-                                         "i12156")))
+                                        ("i37323"
+                                         "i37321"
+                                         "i37319"
+                                         "i37317"
+                                         "i37315"
+                                         "i37313"
+                                         "i37311")))
                                      (hygiene guile))
                                    #(syntax-object
                                      unquote
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i12217"))
+                                      #(ribcage #(p) #((top)) #("i37372"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i12211" "i12212"))
+                                        #("i37366" "i37367"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i12207" "i12208"))
+                                        #("i37362" "i37363"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -17393,22 +19855,22 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i12168"
-                                         "i12166"
-                                         "i12164"
-                                         "i12162"
-                                         "i12160"
-                                         "i12158"
-                                         "i12156")))
+                                        ("i37323"
+                                         "i37321"
+                                         "i37319"
+                                         "i37317"
+                                         "i37315"
+                                         "i37313"
+                                         "i37311")))
                                      (hygiene guile)))
-                                 (#{quasi 12157}#
-                                   #{p 12218}#
-                                   (#{1-}# #{lev 12206}#)))
-                               (#{vquasi 12159}# #{q 12214}# #{lev 12206}#))))
-                         #{tmp 12216}#)
-                       (let ((#{tmp 12221}#
+                                 (#{quasi 37581}#
+                                   #{p 37784}#
+                                   (#{1-}# #{lev 37771}#)))
+                               (#{vquasi 37582}# #{q 37778}# #{lev 37771}#))))
+                         #{tmp 37780}#)
+                       (let ((#{tmp 37830}#
                                ($sc-dispatch
-                                 #{p 12213}#
+                                 #{p 37777}#
                                  '(#(free-id
                                      #(syntax-object
                                        unquote-splicing
@@ -17416,12 +19878,12 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i12211" "i12212"))
+                                          #("i37366" "i37367"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i12207" "i12208"))
+                                          #("i37362" "i37363"))
                                         #(ribcage
                                           (emit quasivector
                                                 quasilist*
@@ -17436,38 +19898,38 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i12168"
-                                           "i12166"
-                                           "i12164"
-                                           "i12162"
-                                           "i12160"
-                                           "i12158"
-                                           "i12156")))
+                                          ("i37323"
+                                           "i37321"
+                                           "i37319"
+                                           "i37317"
+                                           "i37315"
+                                           "i37313"
+                                           "i37311")))
                                        (hygiene guile)))
                                    .
                                    each-any))))
-                         (if #{tmp 12221}#
+                         (if #{tmp 37830}#
                            (@apply
-                             (lambda (#{p 12223}#)
-                               (if (= #{lev 12206}# 0)
-                                 (#{quasiappend 12163}#
-                                   (map (lambda (#{tmp 12224}#)
+                             (lambda (#{p 37834}#)
+                               (if (= #{lev 37771}# 0)
+                                 (#{quasiappend 37584}#
+                                   (map (lambda (#{tmp 37379 37837}#)
                                           (list '#(syntax-object
                                                    "value"
                                                    ((top)
                                                     #(ribcage
                                                       #(p)
                                                       #((top))
-                                                      #("i12222"))
+                                                      #("i37377"))
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i12211" "i12212"))
+                                                      #("i37366" "i37367"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i12207" "i12208"))
+                                                      #("i37362" "i37363"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -17482,34 +19944,34 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i12168"
-                                                       "i12166"
-                                                       "i12164"
-                                                       "i12162"
-                                                       "i12160"
-                                                       "i12158"
-                                                       "i12156")))
+                                                      ("i37323"
+                                                       "i37321"
+                                                       "i37319"
+                                                       "i37317"
+                                                       "i37315"
+                                                       "i37313"
+                                                       "i37311")))
                                                    (hygiene guile))
-                                                #{tmp 12224}#))
-                                        #{p 12223}#)
-                                   (#{vquasi 12159}#
-                                     #{q 12214}#
-                                     #{lev 12206}#))
-                                 (#{quasicons 12161}#
-                                   (#{quasicons 12161}#
+                                                #{tmp 37379 37837}#))
+                                        #{p 37834}#)
+                                   (#{vquasi 37582}#
+                                     #{q 37778}#
+                                     #{lev 37771}#))
+                                 (#{quasicons 37583}#
+                                   (#{quasicons 37583}#
                                      '(#(syntax-object
                                          "quote"
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i12222"))
+                                          #(ribcage #(p) #((top)) #("i37377"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i12211" "i12212"))
+                                            #("i37366" "i37367"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i12207" "i12208"))
+                                            #("i37362" "i37363"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -17524,27 +19986,27 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i12168"
-                                             "i12166"
-                                             "i12164"
-                                             "i12162"
-                                             "i12160"
-                                             "i12158"
-                                             "i12156")))
+                                            ("i37323"
+                                             "i37321"
+                                             "i37319"
+                                             "i37317"
+                                             "i37315"
+                                             "i37313"
+                                             "i37311")))
                                          (hygiene guile))
                                        #(syntax-object
                                          unquote-splicing
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i12222"))
+                                          #(ribcage #(p) #((top)) #("i37377"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i12211" "i12212"))
+                                            #("i37366" "i37367"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i12207" "i12208"))
+                                            #("i37362" "i37363"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -17559,27 +20021,27 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i12168"
-                                             "i12166"
-                                             "i12164"
-                                             "i12162"
-                                             "i12160"
-                                             "i12158"
-                                             "i12156")))
+                                            ("i37323"
+                                             "i37321"
+                                             "i37319"
+                                             "i37317"
+                                             "i37315"
+                                             "i37313"
+                                             "i37311")))
                                          (hygiene guile)))
-                                     (#{quasi 12157}#
-                                       #{p 12223}#
-                                       (#{1-}# #{lev 12206}#)))
-                                   (#{vquasi 12159}#
-                                     #{q 12214}#
-                                     #{lev 12206}#))))
-                             #{tmp 12221}#)
-                           (#{quasicons 12161}#
-                             (#{quasi 12157}# #{p 12213}# #{lev 12206}#)
-                             (#{vquasi 12159}# #{q 12214}# #{lev 12206}#)))))))
-                 #{tmp 12210}#)
-               (let ((#{tmp 12228}# ($sc-dispatch #{p 12205}# '())))
-                 (if #{tmp 12228}#
+                                     (#{quasi 37581}#
+                                       #{p 37834}#
+                                       (#{1-}# #{lev 37771}#)))
+                                   (#{vquasi 37582}#
+                                     #{q 37778}#
+                                     #{lev 37771}#))))
+                             #{tmp 37830}#)
+                           (#{quasicons 37583}#
+                             (#{quasi 37581}# #{p 37777}# #{lev 37771}#)
+                             (#{vquasi 37582}# #{q 37778}# #{lev 37771}#)))))))
+                 #{tmp 37773}#)
+               (let ((#{tmp 37855}# ($sc-dispatch #{p 37770}# '())))
+                 (if #{tmp 37855}#
                    (@apply
                      (lambda ()
                        '(#(syntax-object
@@ -17589,7 +20051,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i12207" "i12208"))
+                              #("i37362" "i37363"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -17598,64 +20060,64 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i12168"
-                               "i12166"
-                               "i12164"
-                               "i12162"
-                               "i12160"
-                               "i12158"
-                               "i12156")))
+                              ("i37323"
+                               "i37321"
+                               "i37319"
+                               "i37317"
+                               "i37315"
+                               "i37313"
+                               "i37311")))
                            (hygiene guile))
                          ()))
-                     #{tmp 12228}#)
+                     #{tmp 37855}#)
                    (syntax-violation
                      #f
                      "source expression failed to match any pattern"
-                     #{p 12205}#)))))))
-       (#{quasicons 12161}#
-         (lambda (#{x 12229}# #{y 12230}#)
-           (let ((#{tmp 12234}# (list #{x 12229}# #{y 12230}#)))
-             (let ((#{tmp 12235}#
-                     ($sc-dispatch #{tmp 12234}# '(any any))))
-               (if #{tmp 12235}#
+                     #{p 37770}#)))))))
+       (#{quasicons 37583}#
+         (lambda (#{x 37868}# #{y 37869}#)
+           (let ((#{tmp 37870}# (list #{x 37868}# #{y 37869}#)))
+             (let ((#{tmp 37871}#
+                     ($sc-dispatch #{tmp 37870}# '(any any))))
+               (if #{tmp 37871}#
                  (@apply
-                   (lambda (#{x 12238}# #{y 12239}#)
-                     (let ((#{tmp 12241}#
+                   (lambda (#{x 37873}# #{y 37874}#)
+                     (let ((#{tmp 37876}#
                              ($sc-dispatch
-                               #{y 12239}#
+                               #{y 37874}#
                                '(#(atom "quote") any))))
-                       (if #{tmp 12241}#
+                       (if #{tmp 37876}#
                          (@apply
-                           (lambda (#{dy 12243}#)
-                             (let ((#{tmp 12245}#
+                           (lambda (#{dy 37880}#)
+                             (let ((#{tmp 37882}#
                                      ($sc-dispatch
-                                       #{x 12238}#
+                                       #{x 37873}#
                                        '(#(atom "quote") any))))
-                               (if #{tmp 12245}#
+                               (if #{tmp 37882}#
                                  (@apply
-                                   (lambda (#{dx 12247}#)
+                                   (lambda (#{dx 37886}#)
                                      (list '#(syntax-object
                                               "quote"
                                               ((top)
                                                #(ribcage
                                                  #(dx)
                                                  #((top))
-                                                 #("i12246"))
+                                                 #("i37401"))
                                                #(ribcage
                                                  #(dy)
                                                  #((top))
-                                                 #("i12242"))
+                                                 #("i37397"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i12236" "i12237"))
+                                                 #("i37391" "i37392"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i12231" "i12232"))
+                                                 #("i37386" "i37387"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -17670,39 +20132,39 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i12168"
-                                                  "i12166"
-                                                  "i12164"
-                                                  "i12162"
-                                                  "i12160"
-                                                  "i12158"
-                                                  "i12156")))
+                                                 ("i37323"
+                                                  "i37321"
+                                                  "i37319"
+                                                  "i37317"
+                                                  "i37315"
+                                                  "i37313"
+                                                  "i37311")))
                                               (hygiene guile))
-                                           (cons #{dx 12247}# #{dy 12243}#)))
-                                   #{tmp 12245}#)
-                                 (if (null? #{dy 12243}#)
+                                           (cons #{dx 37886}# #{dy 37880}#)))
+                                   #{tmp 37882}#)
+                                 (if (null? #{dy 37880}#)
                                    (list '#(syntax-object
                                             "list"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i12248"))
+                                               #("i37403"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i12242"))
+                                               #("i37397"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i12236" "i12237"))
+                                               #("i37391" "i37392"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i12231" "i12232"))
+                                               #("i37386" "i37387"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -17717,37 +20179,37 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i12168"
-                                                "i12166"
-                                                "i12164"
-                                                "i12162"
-                                                "i12160"
-                                                "i12158"
-                                                "i12156")))
+                                               ("i37323"
+                                                "i37321"
+                                                "i37319"
+                                                "i37317"
+                                                "i37315"
+                                                "i37313"
+                                                "i37311")))
                                             (hygiene guile))
-                                         #{x 12238}#)
+                                         #{x 37873}#)
                                    (list '#(syntax-object
                                             "list*"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i12248"))
+                                               #("i37403"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i12242"))
+                                               #("i37397"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i12236" "i12237"))
+                                               #("i37391" "i37392"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i12231" "i12232"))
+                                               #("i37386" "i37387"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -17762,42 +20224,42 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i12168"
-                                                "i12166"
-                                                "i12164"
-                                                "i12162"
-                                                "i12160"
-                                                "i12158"
-                                                "i12156")))
+                                               ("i37323"
+                                                "i37321"
+                                                "i37319"
+                                                "i37317"
+                                                "i37315"
+                                                "i37313"
+                                                "i37311")))
                                             (hygiene guile))
-                                         #{x 12238}#
-                                         #{y 12239}#)))))
-                           #{tmp 12241}#)
-                         (let ((#{tmp 12250}#
+                                         #{x 37873}#
+                                         #{y 37874}#)))))
+                           #{tmp 37876}#)
+                         (let ((#{tmp 37891}#
                                  ($sc-dispatch
-                                   #{y 12239}#
+                                   #{y 37874}#
                                    '(#(atom "list") . any))))
-                           (if #{tmp 12250}#
+                           (if #{tmp 37891}#
                              (@apply
-                               (lambda (#{stuff 12252}#)
+                               (lambda (#{stuff 37895}#)
                                  (cons '#(syntax-object
                                           "list"
                                           ((top)
                                            #(ribcage
                                              #(stuff)
                                              #((top))
-                                             #("i12251"))
+                                             #("i37406"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i12236" "i12237"))
+                                             #("i37391" "i37392"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i12231" "i12232"))
+                                             #("i37386" "i37387"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -17812,41 +20274,41 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i12168"
-                                              "i12166"
-                                              "i12164"
-                                              "i12162"
-                                              "i12160"
-                                              "i12158"
-                                              "i12156")))
+                                             ("i37323"
+                                              "i37321"
+                                              "i37319"
+                                              "i37317"
+                                              "i37315"
+                                              "i37313"
+                                              "i37311")))
                                           (hygiene guile))
-                                       (cons #{x 12238}# #{stuff 12252}#)))
-                               #{tmp 12250}#)
-                             (let ((#{tmp 12253}#
+                                       (cons #{x 37873}# #{stuff 37895}#)))
+                               #{tmp 37891}#)
+                             (let ((#{tmp 37896}#
                                      ($sc-dispatch
-                                       #{y 12239}#
+                                       #{y 37874}#
                                        '(#(atom "list*") . any))))
-                               (if #{tmp 12253}#
+                               (if #{tmp 37896}#
                                  (@apply
-                                   (lambda (#{stuff 12255}#)
+                                   (lambda (#{stuff 37900}#)
                                      (cons '#(syntax-object
                                               "list*"
                                               ((top)
                                                #(ribcage
                                                  #(stuff)
                                                  #((top))
-                                                 #("i12254"))
+                                                 #("i37409"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i12236" "i12237"))
+                                                 #("i37391" "i37392"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i12231" "i12232"))
+                                                 #("i37386" "i37387"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -17861,31 +20323,31 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i12168"
-                                                  "i12166"
-                                                  "i12164"
-                                                  "i12162"
-                                                  "i12160"
-                                                  "i12158"
-                                                  "i12156")))
+                                                 ("i37323"
+                                                  "i37321"
+                                                  "i37319"
+                                                  "i37317"
+                                                  "i37315"
+                                                  "i37313"
+                                                  "i37311")))
                                               (hygiene guile))
-                                           (cons #{x 12238}# #{stuff 12255}#)))
-                                   #{tmp 12253}#)
+                                           (cons #{x 37873}# #{stuff 37900}#)))
+                                   #{tmp 37896}#)
                                  (list '#(syntax-object
                                           "list*"
                                           ((top)
-                                           #(ribcage #(_) #((top)) #("i12256"))
+                                           #(ribcage #(_) #((top)) #("i37411"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i12236" "i12237"))
+                                             #("i37391" "i37392"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i12231" "i12232"))
+                                             #("i37386" "i37387"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -17900,29 +20362,29 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i12168"
-                                              "i12166"
-                                              "i12164"
-                                              "i12162"
-                                              "i12160"
-                                              "i12158"
-                                              "i12156")))
+                                             ("i37323"
+                                              "i37321"
+                                              "i37319"
+                                              "i37317"
+                                              "i37315"
+                                              "i37313"
+                                              "i37311")))
                                           (hygiene guile))
-                                       #{x 12238}#
-                                       #{y 12239}#))))))))
-                   #{tmp 12235}#)
+                                       #{x 37873}#
+                                       #{y 37874}#))))))))
+                   #{tmp 37871}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp 12234}#))))))
-       (#{quasiappend 12163}#
-         (lambda (#{x 12258}# #{y 12259}#)
-           (let ((#{tmp 12263}#
-                   ($sc-dispatch #{y 12259}# '(#(atom "quote") ()))))
-             (if #{tmp 12263}#
+                   #{tmp 37870}#))))))
+       (#{quasiappend 37584}#
+         (lambda (#{x 37911}# #{y 37912}#)
+           (let ((#{tmp 37914}#
+                   ($sc-dispatch #{y 37912}# '(#(atom "quote") ()))))
+             (if #{tmp 37914}#
                (@apply
                  (lambda ()
-                   (if (null? #{x 12258}#)
+                   (if (null? #{x 37911}#)
                      '(#(syntax-object
                          "quote"
                          ((top)
@@ -17930,7 +20392,7 @@
                           #(ribcage
                             #(x y)
                             #((top) (top))
-                            #("i12260" "i12261"))
+                            #("i37415" "i37416"))
                           #(ribcage
                             (emit quasivector
                                   quasilist*
@@ -17939,32 +20401,32 @@
                                   vquasi
                                   quasi)
                             ((top) (top) (top) (top) (top) (top) (top))
-                            ("i12168"
-                             "i12166"
-                             "i12164"
-                             "i12162"
-                             "i12160"
-                             "i12158"
-                             "i12156")))
+                            ("i37323"
+                             "i37321"
+                             "i37319"
+                             "i37317"
+                             "i37315"
+                             "i37313"
+                             "i37311")))
                          (hygiene guile))
                        ())
-                     (if (null? (cdr #{x 12258}#))
-                       (car #{x 12258}#)
-                       (let ((#{tmp 12271}#
-                               ($sc-dispatch #{x 12258}# 'each-any)))
-                         (if #{tmp 12271}#
+                     (if (null? (cdr #{x 37911}#))
+                       (car #{x 37911}#)
+                       (let ((#{tmp 37919}#
+                               ($sc-dispatch #{x 37911}# 'each-any)))
+                         (if #{tmp 37919}#
                            (@apply
-                             (lambda (#{p 12273}#)
+                             (lambda (#{p 37923}#)
                                (cons '#(syntax-object
                                         "append"
                                         ((top)
                                          #(ribcage () () ())
-                                         #(ribcage #(p) #((top)) #("i12272"))
+                                         #(ribcage #(p) #((top)) #("i37427"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(x y)
                                            #((top) (top))
-                                           #("i12260" "i12261"))
+                                           #("i37415" "i37416"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -17979,29 +20441,29 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i12168"
-                                            "i12166"
-                                            "i12164"
-                                            "i12162"
-                                            "i12160"
-                                            "i12158"
-                                            "i12156")))
+                                           ("i37323"
+                                            "i37321"
+                                            "i37319"
+                                            "i37317"
+                                            "i37315"
+                                            "i37313"
+                                            "i37311")))
                                         (hygiene guile))
-                                     #{p 12273}#))
-                             #{tmp 12271}#)
+                                     #{p 37923}#))
+                             #{tmp 37919}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{x 12258}#))))))
-                 #{tmp 12263}#)
-               (if (null? #{x 12258}#)
-                 #{y 12259}#
-                 (let ((#{tmp 12281}# (list #{x 12258}# #{y 12259}#)))
-                   (let ((#{tmp 12282}#
-                           ($sc-dispatch #{tmp 12281}# '(each-any any))))
-                     (if #{tmp 12282}#
+                             #{x 37911}#))))))
+                 #{tmp 37914}#)
+               (if (null? #{x 37911}#)
+                 #{y 37912}#
+                 (let ((#{tmp 37931}# (list #{x 37911}# #{y 37912}#)))
+                   (let ((#{tmp 37932}#
+                           ($sc-dispatch #{tmp 37931}# '(each-any any))))
+                     (if #{tmp 37932}#
                        (@apply
-                         (lambda (#{p 12285}# #{y 12286}#)
+                         (lambda (#{p 37934}# #{y 37935}#)
                            (cons '#(syntax-object
                                     "append"
                                     ((top)
@@ -18009,13 +20471,13 @@
                                      #(ribcage
                                        #(p y)
                                        #((top) (top))
-                                       #("i12283" "i12284"))
-                                     #(ribcage #(_) #((top)) #("i12275"))
+                                       #("i37438" "i37439"))
+                                     #(ribcage #(_) #((top)) #("i37430"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x y)
                                        #((top) (top))
-                                       #("i12260" "i12261"))
+                                       #("i37415" "i37416"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -18030,263 +20492,44 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i12168"
-                                        "i12166"
-                                        "i12164"
-                                        "i12162"
-                                        "i12160"
-                                        "i12158"
-                                        "i12156")))
+                                       ("i37323"
+                                        "i37321"
+                                        "i37319"
+                                        "i37317"
+                                        "i37315"
+                                        "i37313"
+                                        "i37311")))
                                     (hygiene guile))
-                                 (append #{p 12285}# (list #{y 12286}#))))
-                         #{tmp 12282}#)
+                                 (append #{p 37934}# (list #{y 37935}#))))
+                         #{tmp 37932}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp 12281}#)))))))))
-       (#{quasilist* 12165}#
-         (lambda (#{x 12288}# #{y 12289}#)
+                         #{tmp 37931}#)))))))))
+       (#{quasilist* 37585}#
+         (lambda (#{x 37939}# #{y 37940}#)
            (letrec*
-             ((#{f 12294}#
-                (lambda (#{x 12295}#)
-                  (if (null? #{x 12295}#)
-                    #{y 12289}#
-                    (#{quasicons 12161}#
-                      (car #{x 12295}#)
-                      (#{f 12294}# (cdr #{x 12295}#)))))))
-             (#{f 12294}# #{x 12288}#))))
-       (#{quasivector 12167}#
-         (lambda (#{x 12296}#)
-           (let ((#{tmp 12299}#
-                   ($sc-dispatch
-                     #{x 12296}#
-                     '(#(atom "quote") each-any))))
-             (if #{tmp 12299}#
-               (@apply
-                 (lambda (#{x 12301}#)
-                   (list '#(syntax-object
-                            "quote"
-                            ((top)
-                             #(ribcage #(x) #((top)) #("i12300"))
-                             #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i12297"))
-                             #(ribcage
-                               (emit quasivector
-                                     quasilist*
-                                     quasiappend
-                                     quasicons
-                                     vquasi
-                                     quasi)
-                               ((top) (top) (top) (top) (top) (top) (top))
-                               ("i12168"
-                                "i12166"
-                                "i12164"
-                                "i12162"
-                                "i12160"
-                                "i12158"
-                                "i12156")))
-                            (hygiene guile))
-                         (list->vector #{x 12301}#)))
-                 #{tmp 12299}#)
-               (letrec*
-                 ((#{f 12308}#
-                    (lambda (#{y 12309}# #{k 12310}#)
-                      (let ((#{tmp 12322}#
-                              ($sc-dispatch
-                                #{y 12309}#
-                                '(#(atom "quote") each-any))))
-                        (if #{tmp 12322}#
-                          (@apply
-                            (lambda (#{y 12324}#)
-                              (#{k 12310}#
-                                (map (lambda (#{tmp 12325}#)
-                                       (list '#(syntax-object
-                                                "quote"
-                                                ((top)
-                                                 #(ribcage
-                                                   #(y)
-                                                   #((top))
-                                                   #("i12323"))
-                                                 #(ribcage () () ())
-                                                 #(ribcage
-                                                   #(f y k)
-                                                   #((top) (top) (top))
-                                                   #("i12305"
-                                                     "i12306"
-                                                     "i12307"))
-                                                 #(ribcage
-                                                   #(_)
-                                                   #((top))
-                                                   #("i12303"))
-                                                 #(ribcage () () ())
-                                                 #(ribcage
-                                                   #(x)
-                                                   #((top))
-                                                   #("i12297"))
-                                                 #(ribcage
-                                                   (emit quasivector
-                                                         quasilist*
-                                                         quasiappend
-                                                         quasicons
-                                                         vquasi
-                                                         quasi)
-                                                   ((top)
-                                                    (top)
-                                                    (top)
-                                                    (top)
-                                                    (top)
-                                                    (top)
-                                                    (top))
-                                                   ("i12168"
-                                                    "i12166"
-                                                    "i12164"
-                                                    "i12162"
-                                                    "i12160"
-                                                    "i12158"
-                                                    "i12156")))
-                                                (hygiene guile))
-                                             #{tmp 12325}#))
-                                     #{y 12324}#)))
-                            #{tmp 12322}#)
-                          (let ((#{tmp 12326}#
-                                  ($sc-dispatch
-                                    #{y 12309}#
-                                    '(#(atom "list") . each-any))))
-                            (if #{tmp 12326}#
-                              (@apply
-                                (lambda (#{y 12328}#)
-                                  (#{k 12310}# #{y 12328}#))
-                                #{tmp 12326}#)
-                              (let ((#{tmp 12330}#
-                                      ($sc-dispatch
-                                        #{y 12309}#
-                                        '(#(atom "list*")
-                                          .
-                                          #(each+ any (any) ())))))
-                                (if #{tmp 12330}#
-                                  (@apply
-                                    (lambda (#{y 12333}# #{z 12334}#)
-                                      (#{f 12308}#
-                                        #{z 12334}#
-                                        (lambda (#{ls 12335}#)
-                                          (#{k 12310}#
-                                            (append
-                                              #{y 12333}#
-                                              #{ls 12335}#)))))
-                                    #{tmp 12330}#)
-                                  (list '#(syntax-object
-                                           "list->vector"
-                                           ((top)
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(#{ g12340}#)
-                                              #((m12341 top))
-                                              #("i12344"))
-                                            #(ribcage
-                                              #(else)
-                                              #((top))
-                                              #("i12338"))
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(f y k)
-                                              #((top) (top) (top))
-                                              #("i12305" "i12306" "i12307"))
-                                            #(ribcage
-                                              #(_)
-                                              #((top))
-                                              #("i12303"))
-                                            #(ribcage () () ())
-                                            #(ribcage
-                                              #(x)
-                                              #((top))
-                                              #("i12297"))
-                                            #(ribcage
-                                              (emit quasivector
-                                                    quasilist*
-                                                    quasiappend
-                                                    quasicons
-                                                    vquasi
-                                                    quasi)
-                                              ((top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top)
-                                               (top))
-                                              ("i12168"
-                                               "i12166"
-                                               "i12164"
-                                               "i12162"
-                                               "i12160"
-                                               "i12158"
-                                               "i12156")))
-                                           (hygiene guile))
-                                        #{x 12296}#))))))))))
-                 (#{f 12308}#
-                   #{x 12296}#
-                   (lambda (#{ls 12311}#)
-                     (let ((#{tmp 12317}#
-                             ($sc-dispatch #{ls 12311}# 'each-any)))
-                       (if #{tmp 12317}#
-                         (@apply
-                           (lambda (#{ g12313 12319}#)
-                             (cons '#(syntax-object
-                                      "vector"
-                                      ((top)
-                                       #(ribcage () () ())
-                                       #(ribcage
-                                         #(#{ g12313}#)
-                                         #((m12314 top))
-                                         #("i12318"))
-                                       #(ribcage () () ())
-                                       #(ribcage () () ())
-                                       #(ribcage () () ())
-                                       #(ribcage #(ls) #((top)) #("i12312"))
-                                       #(ribcage #(_) #((top)) #("i12303"))
-                                       #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i12297"))
-                                       #(ribcage
-                                         (emit quasivector
-                                               quasilist*
-                                               quasiappend
-                                               quasicons
-                                               vquasi
-                                               quasi)
-                                         ((top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top)
-                                          (top))
-                                         ("i12168"
-                                          "i12166"
-                                          "i12164"
-                                          "i12162"
-                                          "i12160"
-                                          "i12158"
-                                          "i12156")))
-                                      (hygiene guile))
-                                   #{ g12313 12319}#))
-                           #{tmp 12317}#)
-                         (syntax-violation
-                           #f
-                           "source expression failed to match any pattern"
-                           #{ls 12311}#))))))))))
-       (#{emit 12169}#
-         (lambda (#{x 12346}#)
-           (let ((#{tmp 12349}#
-                   ($sc-dispatch #{x 12346}# '(#(atom "quote") any))))
-             (if #{tmp 12349}#
+             ((#{f 37941}#
+                (lambda (#{x 38045}#)
+                  (if (null? #{x 38045}#)
+                    #{y 37940}#
+                    (#{quasicons 37583}#
+                      (car #{x 38045}#)
+                      (#{f 37941}# (cdr #{x 38045}#)))))))
+             (#{f 37941}# #{x 37939}#))))
+       (#{emit 37587}#
+         (lambda (#{x 38048}#)
+           (let ((#{tmp 38050}#
+                   ($sc-dispatch #{x 38048}# '(#(atom "quote") any))))
+             (if #{tmp 38050}#
                (@apply
-                 (lambda (#{x 12351}#)
+                 (lambda (#{x 38054}#)
                    (list '#(syntax-object
                             quote
                             ((top)
-                             #(ribcage #(x) #((top)) #("i12350"))
+                             #(ribcage #(x) #((top)) #("i37505"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i12347"))
+                             #(ribcage #(x) #((top)) #("i37502"))
                              #(ribcage
                                (emit quasivector
                                      quasilist*
@@ -18295,40 +20538,40 @@
                                      vquasi
                                      quasi)
                                ((top) (top) (top) (top) (top) (top) (top))
-                               ("i12168"
-                                "i12166"
-                                "i12164"
-                                "i12162"
-                                "i12160"
-                                "i12158"
-                                "i12156")))
+                               ("i37323"
+                                "i37321"
+                                "i37319"
+                                "i37317"
+                                "i37315"
+                                "i37313"
+                                "i37311")))
                             (hygiene guile))
-                         #{x 12351}#))
-                 #{tmp 12349}#)
-               (let ((#{tmp 12352}#
+                         #{x 38054}#))
+                 #{tmp 38050}#)
+               (let ((#{tmp 38055}#
                        ($sc-dispatch
-                         #{x 12346}#
+                         #{x 38048}#
                          '(#(atom "list") . each-any))))
-                 (if #{tmp 12352}#
+                 (if #{tmp 38055}#
                    (@apply
-                     (lambda (#{x 12354}#)
-                       (let ((#{tmp 12358}# (map #{emit 12169}# #{x 12354}#)))
-                         (let ((#{tmp 12359}#
-                                 ($sc-dispatch #{tmp 12358}# 'each-any)))
-                           (if #{tmp 12359}#
+                     (lambda (#{x 38059}#)
+                       (let ((#{tmp 38060}# (map #{emit 37587}# #{x 38059}#)))
+                         (let ((#{tmp 38061}#
+                                 ($sc-dispatch #{tmp 38060}# 'each-any)))
+                           (if #{tmp 38061}#
                              (@apply
-                               (lambda (#{ g12355 12361}#)
+                               (lambda (#{ g37510 38063}#)
                                  (cons '#(syntax-object
                                           list
                                           ((top)
                                            #(ribcage () () ())
                                            #(ribcage
-                                             #(#{ g12355}#)
-                                             #((m12356 top))
-                                             #("i12360"))
-                                           #(ribcage #(x) #((top)) #("i12353"))
+                                             #(#{ g37510}#)
+                                             #((m37511 top))
+                                             #("i37515"))
+                                           #(ribcage #(x) #((top)) #("i37508"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i12347"))
+                                           #(ribcage #(x) #((top)) #("i37502"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -18343,70 +20586,70 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i12168"
-                                              "i12166"
-                                              "i12164"
-                                              "i12162"
-                                              "i12160"
-                                              "i12158"
-                                              "i12156")))
+                                             ("i37323"
+                                              "i37321"
+                                              "i37319"
+                                              "i37317"
+                                              "i37315"
+                                              "i37313"
+                                              "i37311")))
                                           (hygiene guile))
-                                       #{ g12355 12361}#))
-                               #{tmp 12359}#)
+                                       #{ g37510 38063}#))
+                               #{tmp 38061}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 12358}#)))))
-                     #{tmp 12352}#)
-                   (let ((#{tmp 12364}#
+                               #{tmp 38060}#)))))
+                     #{tmp 38055}#)
+                   (let ((#{tmp 38064}#
                            ($sc-dispatch
-                             #{x 12346}#
+                             #{x 38048}#
                              '(#(atom "list*") . #(each+ any (any) ())))))
-                     (if #{tmp 12364}#
+                     (if #{tmp 38064}#
                        (@apply
-                         (lambda (#{x 12367}# #{y 12368}#)
+                         (lambda (#{x 38068}# #{y 38069}#)
                            (letrec*
-                             ((#{f 12371}#
-                                (lambda (#{x* 12372}#)
-                                  (if (null? #{x* 12372}#)
-                                    (#{emit 12169}# #{y 12368}#)
-                                    (let ((#{tmp 12378}#
-                                            (list (#{emit 12169}#
-                                                    (car #{x* 12372}#))
-                                                  (#{f 12371}#
-                                                    (cdr #{x* 12372}#)))))
-                                      (let ((#{tmp 12379}#
+                             ((#{f 38070}#
+                                (lambda (#{x* 38073}#)
+                                  (if (null? #{x* 38073}#)
+                                    (#{emit 37587}# #{y 38069}#)
+                                    (let ((#{tmp 38074}#
+                                            (list (#{emit 37587}#
+                                                    (car #{x* 38073}#))
+                                                  (#{f 38070}#
+                                                    (cdr #{x* 38073}#)))))
+                                      (let ((#{tmp 38075}#
                                               ($sc-dispatch
-                                                #{tmp 12378}#
+                                                #{tmp 38074}#
                                                 '(any any))))
-                                        (if #{tmp 12379}#
+                                        (if #{tmp 38075}#
                                           (@apply
-                                            (lambda (#{ g12375 12382}#
-                                                     #{ g12374 12383}#)
+                                            (lambda (#{ g37530 38077}#
+                                                     #{ g37529 38078}#)
                                               (list '#(syntax-object
                                                        cons
                                                        ((top)
                                                         #(ribcage () () ())
                                                         #(ribcage
-                                                          #(#{ g12375}#
-                                                            #{ g12374}#)
-                                                          #((m12376 top)
-                                                            (m12376 top))
-                                                          #("i12380" "i12381"))
+                                                          #(#{ g37530}#
+                                                            #{ g37529}#)
+                                                          #((m37531 top)
+                                                            (m37531 top))
+                                                          #("i37535" "i37536"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f x*)
                                                           #((top) (top))
-                                                          #("i12369" "i12370"))
+                                                          #("i37524" "i37525"))
                                                         #(ribcage
                                                           #(x y)
                                                           #((top) (top))
-                                                          #("i12365" "i12366"))
+                                                          #("i37520" "i37521"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i12347"))
+                                                          #("i37502"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -18421,56 +20664,56 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i12168"
-                                                           "i12166"
-                                                           "i12164"
-                                                           "i12162"
-                                                           "i12160"
-                                                           "i12158"
-                                                           "i12156")))
+                                                          ("i37323"
+                                                           "i37321"
+                                                           "i37319"
+                                                           "i37317"
+                                                           "i37315"
+                                                           "i37313"
+                                                           "i37311")))
                                                        (hygiene guile))
-                                                    #{ g12375 12382}#
-                                                    #{ g12374 12383}#))
-                                            #{tmp 12379}#)
+                                                    #{ g37530 38077}#
+                                                    #{ g37529 38078}#))
+                                            #{tmp 38075}#)
                                           (syntax-violation
                                             #f
                                             "source expression failed to match 
any pattern"
-                                            #{tmp 12378}#))))))))
-                             (#{f 12371}# #{x 12367}#)))
-                         #{tmp 12364}#)
-                       (let ((#{tmp 12384}#
+                                            #{tmp 38074}#))))))))
+                             (#{f 38070}# #{x 38068}#)))
+                         #{tmp 38064}#)
+                       (let ((#{tmp 38079}#
                                ($sc-dispatch
-                                 #{x 12346}#
+                                 #{x 38048}#
                                  '(#(atom "append") . each-any))))
-                         (if #{tmp 12384}#
+                         (if #{tmp 38079}#
                            (@apply
-                             (lambda (#{x 12386}#)
-                               (let ((#{tmp 12390}#
-                                       (map #{emit 12169}# #{x 12386}#)))
-                                 (let ((#{tmp 12391}#
+                             (lambda (#{x 38083}#)
+                               (let ((#{tmp 38084}#
+                                       (map #{emit 37587}# #{x 38083}#)))
+                                 (let ((#{tmp 38085}#
                                          ($sc-dispatch
-                                           #{tmp 12390}#
+                                           #{tmp 38084}#
                                            'each-any)))
-                                   (if #{tmp 12391}#
+                                   (if #{tmp 38085}#
                                      (@apply
-                                       (lambda (#{ g12387 12393}#)
+                                       (lambda (#{ g37542 38087}#)
                                          (cons '#(syntax-object
                                                   append
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g12387}#)
-                                                     #((m12388 top))
-                                                     #("i12392"))
+                                                     #(#{ g37542}#)
+                                                     #((m37543 top))
+                                                     #("i37547"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i12385"))
+                                                     #("i37540"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i12347"))
+                                                     #("i37502"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -18485,54 +20728,54 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i12168"
-                                                      "i12166"
-                                                      "i12164"
-                                                      "i12162"
-                                                      "i12160"
-                                                      "i12158"
-                                                      "i12156")))
+                                                     ("i37323"
+                                                      "i37321"
+                                                      "i37319"
+                                                      "i37317"
+                                                      "i37315"
+                                                      "i37313"
+                                                      "i37311")))
                                                   (hygiene guile))
-                                               #{ g12387 12393}#))
-                                       #{tmp 12391}#)
+                                               #{ g37542 38087}#))
+                                       #{tmp 38085}#)
                                      (syntax-violation
                                        #f
                                        "source expression failed to match any 
pattern"
-                                       #{tmp 12390}#)))))
-                             #{tmp 12384}#)
-                           (let ((#{tmp 12396}#
+                                       #{tmp 38084}#)))))
+                             #{tmp 38079}#)
+                           (let ((#{tmp 38088}#
                                    ($sc-dispatch
-                                     #{x 12346}#
+                                     #{x 38048}#
                                      '(#(atom "vector") . each-any))))
-                             (if #{tmp 12396}#
+                             (if #{tmp 38088}#
                                (@apply
-                                 (lambda (#{x 12398}#)
-                                   (let ((#{tmp 12402}#
-                                           (map #{emit 12169}# #{x 12398}#)))
-                                     (let ((#{tmp 12403}#
+                                 (lambda (#{x 38092}#)
+                                   (let ((#{tmp 38093}#
+                                           (map #{emit 37587}# #{x 38092}#)))
+                                     (let ((#{tmp 38094}#
                                              ($sc-dispatch
-                                               #{tmp 12402}#
+                                               #{tmp 38093}#
                                                'each-any)))
-                                       (if #{tmp 12403}#
+                                       (if #{tmp 38094}#
                                          (@apply
-                                           (lambda (#{ g12399 12405}#)
+                                           (lambda (#{ g37554 38096}#)
                                              (cons '#(syntax-object
                                                       vector
                                                       ((top)
                                                        #(ribcage () () ())
                                                        #(ribcage
-                                                         #(#{ g12399}#)
-                                                         #((m12400 top))
-                                                         #("i12404"))
+                                                         #(#{ g37554}#)
+                                                         #((m37555 top))
+                                                         #("i37559"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i12397"))
+                                                         #("i37552"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i12347"))
+                                                         #("i37502"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -18547,47 +20790,47 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i12168"
-                                                          "i12166"
-                                                          "i12164"
-                                                          "i12162"
-                                                          "i12160"
-                                                          "i12158"
-                                                          "i12156")))
+                                                         ("i37323"
+                                                          "i37321"
+                                                          "i37319"
+                                                          "i37317"
+                                                          "i37315"
+                                                          "i37313"
+                                                          "i37311")))
                                                       (hygiene guile))
-                                                   #{ g12399 12405}#))
-                                           #{tmp 12403}#)
+                                                   #{ g37554 38096}#))
+                                           #{tmp 38094}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp 12402}#)))))
-                                 #{tmp 12396}#)
-                               (let ((#{tmp 12408}#
+                                           #{tmp 38093}#)))))
+                                 #{tmp 38088}#)
+                               (let ((#{tmp 38097}#
                                        ($sc-dispatch
-                                         #{x 12346}#
+                                         #{x 38048}#
                                          '(#(atom "list->vector") any))))
-                                 (if #{tmp 12408}#
+                                 (if #{tmp 38097}#
                                    (@apply
-                                     (lambda (#{x 12410}#)
-                                       (let ((#{tmp 12414}#
-                                               (#{emit 12169}# #{x 12410}#)))
+                                     (lambda (#{x 38101}#)
+                                       (let ((#{tmp 38102}#
+                                               (#{emit 37587}# #{x 38101}#)))
                                          (list '#(syntax-object
                                                   list->vector
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g12411}#)
-                                                     #((m12412 top))
-                                                     #("i12415"))
+                                                     #(#{ g37566}#)
+                                                     #((m37567 top))
+                                                     #("i37570"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i12409"))
+                                                     #("i37564"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i12347"))
+                                                     #("i37502"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -18602,187 +20845,188 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i12168"
-                                                      "i12166"
-                                                      "i12164"
-                                                      "i12162"
-                                                      "i12160"
-                                                      "i12158"
-                                                      "i12156")))
+                                                     ("i37323"
+                                                      "i37321"
+                                                      "i37319"
+                                                      "i37317"
+                                                      "i37315"
+                                                      "i37313"
+                                                      "i37311")))
                                                   (hygiene guile))
-                                               #{tmp 12414}#)))
-                                     #{tmp 12408}#)
-                                   (let ((#{tmp 12417}#
+                                               #{tmp 38102}#)))
+                                     #{tmp 38097}#)
+                                   (let ((#{tmp 38105}#
                                            ($sc-dispatch
-                                             #{x 12346}#
+                                             #{x 38048}#
                                              '(#(atom "value") any))))
-                                     (if #{tmp 12417}#
+                                     (if #{tmp 38105}#
                                        (@apply
-                                         (lambda (#{x 12419}#) #{x 12419}#)
-                                         #{tmp 12417}#)
+                                         (lambda (#{x 38109}#) #{x 38109}#)
+                                         #{tmp 38105}#)
                                        (syntax-violation
                                          #f
                                          "source expression failed to match 
any pattern"
-                                         #{x 12346}#))))))))))))))))))
-      (lambda (#{x 12420}#)
-        (let ((#{tmp 12423}#
-                ($sc-dispatch #{x 12420}# '(_ any))))
-          (if #{tmp 12423}#
+                                         #{x 38048}#))))))))))))))))))
+      (lambda (#{x 37588}#)
+        (let ((#{tmp 37590}#
+                ($sc-dispatch #{x 37588}# '(_ any))))
+          (if #{tmp 37590}#
             (@apply
-              (lambda (#{e 12425}#)
-                (#{emit 12169}# (#{quasi 12157}# #{e 12425}# 0)))
-              #{tmp 12423}#)
+              (lambda (#{e 37594}#)
+                (#{emit 37587}# (#{quasi 37581}# #{e 37594}# 0)))
+              #{tmp 37590}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{x 12420}#)))))))
+              #{x 37588}#)))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x 12691}#)
-      (let ((#{tmp 12708}#
-              ($sc-dispatch #{x 12691}# '(any any))))
-        (if #{tmp 12708}#
-          (@apply
-            (lambda (#{k 12711}# #{filename 12712}#)
-              (let ((#{fn 12714}# (syntax->datum #{filename 12712}#)))
-                (let ((#{tmp 12716}#
-                        ((lambda (#{fn 12695}# #{k 12696}#)
-                           (let ((#{p 12700}# (open-input-file #{fn 12695}#)))
-                             (letrec*
-                               ((#{f 12704}#
-                                  (lambda (#{x 12705}# #{result 12706}#)
-                                    (if (eof-object? #{x 12705}#)
-                                      (begin
-                                        (close-input-port #{p 12700}#)
-                                        (reverse #{result 12706}#))
-                                      (#{f 12704}#
-                                        (read #{p 12700}#)
-                                        (cons (datum->syntax
-                                                #{k 12696}#
-                                                #{x 12705}#)
-                                              #{result 12706}#))))))
-                               (#{f 12704}# (read #{p 12700}#) '()))))
-                         #{fn 12714}#
-                         #{filename 12712}#)))
-                  (let ((#{tmp 12717}#
-                          ($sc-dispatch #{tmp 12716}# 'each-any)))
-                    (if #{tmp 12717}#
-                      (@apply
-                        (lambda (#{exp 12719}#)
-                          (cons '#(syntax-object
-                                   begin
-                                   ((top)
-                                    #(ribcage () () ())
-                                    #(ribcage #(exp) #((top)) #("i12718"))
-                                    #(ribcage () () ())
-                                    #(ribcage () () ())
-                                    #(ribcage #(fn) #((top)) #("i12713"))
-                                    #(ribcage
-                                      #(k filename)
-                                      #((top) (top))
-                                      #("i12709" "i12710"))
-                                    #(ribcage (read-file) ((top)) ("i12693"))
-                                    #(ribcage #(x) #((top)) #("i12692")))
-                                   (hygiene guile))
-                                #{exp 12719}#))
-                        #{tmp 12717}#)
-                      (syntax-violation
-                        #f
-                        "source expression failed to match any pattern"
-                        #{tmp 12716}#))))))
-            #{tmp 12708}#)
-          (syntax-violation
-            #f
-            "source expression failed to match any pattern"
-            #{x 12691}#))))))
+    (lambda (#{x 38164}#)
+      (letrec*
+        ((#{read-file 38165}#
+           (lambda (#{fn 38281}# #{k 38282}#)
+             (let ((#{p 38283}# (open-input-file #{fn 38281}#)))
+               (letrec*
+                 ((#{f 38284}#
+                    (lambda (#{x 38341}# #{result 38342}#)
+                      (if (eof-object? #{x 38341}#)
+                        (begin
+                          (close-input-port #{p 38283}#)
+                          (reverse #{result 38342}#))
+                        (#{f 38284}#
+                          (read #{p 38283}#)
+                          (cons (datum->syntax #{k 38282}# #{x 38341}#)
+                                #{result 38342}#))))))
+                 (#{f 38284}# (read #{p 38283}#) '()))))))
+        (let ((#{tmp 38167}#
+                ($sc-dispatch #{x 38164}# '(any any))))
+          (if #{tmp 38167}#
+            (@apply
+              (lambda (#{k 38171}# #{filename 38172}#)
+                (let ((#{fn 38173}# (syntax->datum #{filename 38172}#)))
+                  (let ((#{tmp 38174}#
+                          (#{read-file 38165}#
+                            #{fn 38173}#
+                            #{filename 38172}#)))
+                    (let ((#{tmp 38175}#
+                            ($sc-dispatch #{tmp 38174}# 'each-any)))
+                      (if #{tmp 38175}#
+                        (@apply
+                          (lambda (#{exp 38193}#)
+                            (cons '#(syntax-object
+                                     begin
+                                     ((top)
+                                      #(ribcage () () ())
+                                      #(ribcage #(exp) #((top)) #("i38161"))
+                                      #(ribcage () () ())
+                                      #(ribcage () () ())
+                                      #(ribcage #(fn) #((top)) #("i38156"))
+                                      #(ribcage
+                                        #(k filename)
+                                        #((top) (top))
+                                        #("i38152" "i38153"))
+                                      #(ribcage (read-file) ((top)) ("i38136"))
+                                      #(ribcage #(x) #((top)) #("i38135")))
+                                     (hygiene guile))
+                                  #{exp 38193}#))
+                          #{tmp 38175}#)
+                        (syntax-violation
+                          #f
+                          "source expression failed to match any pattern"
+                          #{tmp 38174}#))))))
+              #{tmp 38167}#)
+            (syntax-violation
+              #f
+              "source expression failed to match any pattern"
+              #{x 38164}#)))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x 12816}#)
-      (let ((#{tmp 12819}#
-              ($sc-dispatch #{x 12816}# '(any any))))
-        (if #{tmp 12819}#
+    (lambda (#{x 38361}#)
+      (let ((#{tmp 38363}#
+              ($sc-dispatch #{x 38361}# '(any any))))
+        (if #{tmp 38363}#
           (@apply
-            (lambda (#{k 12822}# #{filename 12823}#)
-              (let ((#{fn 12825}# (syntax->datum #{filename 12823}#)))
-                (let ((#{tmp 12827}#
+            (lambda (#{k 38367}# #{filename 38368}#)
+              (let ((#{fn 38369}# (syntax->datum #{filename 38368}#)))
+                (let ((#{tmp 38370}#
                         (datum->syntax
-                          #{filename 12823}#
-                          (let ((#{t 12832}# (%search-load-path #{fn 12825}#)))
-                            (if #{t 12832}#
-                              #{t 12832}#
+                          #{filename 38368}#
+                          (let ((#{t 38373}# (%search-load-path #{fn 38369}#)))
+                            (if #{t 38373}#
+                              #{t 38373}#
                               (syntax-violation
                                 'include-from-path
                                 "file not found in path"
-                                #{x 12816}#
-                                #{filename 12823}#))))))
+                                #{x 38361}#
+                                #{filename 38368}#))))))
                   (list '#(syntax-object
                            include
                            ((top)
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i12828"))
+                            #(ribcage #(fn) #((top)) #("i38355"))
                             #(ribcage () () ())
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i12824"))
+                            #(ribcage #(fn) #((top)) #("i38351"))
                             #(ribcage
                               #(k filename)
                               #((top) (top))
-                              #("i12820" "i12821"))
+                              #("i38347" "i38348"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i12817")))
+                            #(ribcage #(x) #((top)) #("i38344")))
                            (hygiene guile))
-                        #{tmp 12827}#))))
-            #{tmp 12819}#)
+                        #{tmp 38370}#))))
+            #{tmp 38363}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 12816}#))))))
+            #{x 38361}#))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x 12834}#)
+    (lambda (#{x 38382}#)
       (syntax-violation
         'unquote
         "expression not valid outside of quasiquote"
-        #{x 12834}#))))
+        #{x 38382}#))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x 12836}#)
+    (lambda (#{x 38385}#)
       (syntax-violation
         'unquote-splicing
         "expression not valid outside of quasiquote"
-        #{x 12836}#))))
+        #{x 38385}#))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x 12838}#)
-      (let ((#{tmp 12841}#
+    (lambda (#{x 38441}#)
+      (let ((#{tmp 38443}#
               ($sc-dispatch
-                #{x 12838}#
+                #{x 38441}#
                 '(_ any any . each-any))))
-        (if #{tmp 12841}#
+        (if #{tmp 38443}#
           (@apply
-            (lambda (#{e 12845}# #{m1 12846}# #{m2 12847}#)
-              (let ((#{tmp 12849}#
+            (lambda (#{e 38447}# #{m1 38448}# #{m2 38449}#)
+              (let ((#{tmp 38450}#
                       (letrec*
-                        ((#{f 12855}#
-                           (lambda (#{clause 12856}# #{clauses 12857}#)
-                             (if (null? #{clauses 12857}#)
-                               (let ((#{tmp 12860}#
+                        ((#{f 38511}#
+                           (lambda (#{clause 38514}# #{clauses 38515}#)
+                             (if (null? #{clauses 38515}#)
+                               (let ((#{tmp 38517}#
                                        ($sc-dispatch
-                                         #{clause 12856}#
+                                         #{clause 38514}#
                                          '(#(free-id
                                              #(syntax-object
                                                else
@@ -18791,91 +21035,91 @@
                                                 #(ribcage
                                                   #(f clause clauses)
                                                   #((top) (top) (top))
-                                                  #("i12852"
-                                                    "i12853"
-                                                    "i12854"))
+                                                  #("i38400"
+                                                    "i38401"
+                                                    "i38402"))
                                                 #(ribcage
                                                   #(e m1 m2)
                                                   #((top) (top) (top))
-                                                  #("i12842"
-                                                    "i12843"
-                                                    "i12844"))
+                                                  #("i38390"
+                                                    "i38391"
+                                                    "i38392"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(x)
                                                   #((top))
-                                                  #("i12839")))
+                                                  #("i38387")))
                                                (hygiene guile)))
                                            any
                                            .
                                            each-any))))
-                                 (if #{tmp 12860}#
+                                 (if #{tmp 38517}#
                                    (@apply
-                                     (lambda (#{e1 12863}# #{e2 12864}#)
+                                     (lambda (#{e1 38521}# #{e2 38522}#)
                                        (cons '#(syntax-object
                                                 begin
                                                 ((top)
                                                  #(ribcage
                                                    #(e1 e2)
                                                    #((top) (top))
-                                                   #("i12861" "i12862"))
+                                                   #("i38409" "i38410"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(f clause clauses)
                                                    #((top) (top) (top))
-                                                   #("i12852"
-                                                     "i12853"
-                                                     "i12854"))
+                                                   #("i38400"
+                                                     "i38401"
+                                                     "i38402"))
                                                  #(ribcage
                                                    #(e m1 m2)
                                                    #((top) (top) (top))
-                                                   #("i12842"
-                                                     "i12843"
-                                                     "i12844"))
+                                                   #("i38390"
+                                                     "i38391"
+                                                     "i38392"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i12839")))
+                                                   #("i38387")))
                                                 (hygiene guile))
-                                             (cons #{e1 12863}# #{e2 12864}#)))
-                                     #{tmp 12860}#)
-                                   (let ((#{tmp 12866}#
+                                             (cons #{e1 38521}# #{e2 38522}#)))
+                                     #{tmp 38517}#)
+                                   (let ((#{tmp 38523}#
                                            ($sc-dispatch
-                                             #{clause 12856}#
+                                             #{clause 38514}#
                                              '(each-any any . each-any))))
-                                     (if #{tmp 12866}#
+                                     (if #{tmp 38523}#
                                        (@apply
-                                         (lambda (#{k 12870}#
-                                                  #{e1 12871}#
-                                                  #{e2 12872}#)
+                                         (lambda (#{k 38527}#
+                                                  #{e1 38528}#
+                                                  #{e2 38529}#)
                                            (list '#(syntax-object
                                                     if
                                                     ((top)
                                                      #(ribcage
                                                        #(k e1 e2)
                                                        #((top) (top) (top))
-                                                       #("i12867"
-                                                         "i12868"
-                                                         "i12869"))
+                                                       #("i38415"
+                                                         "i38416"
+                                                         "i38417"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i12852"
-                                                         "i12853"
-                                                         "i12854"))
+                                                       #("i38400"
+                                                         "i38401"
+                                                         "i38402"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i12842"
-                                                         "i12843"
-                                                         "i12844"))
+                                                       #("i38390"
+                                                         "i38391"
+                                                         "i38392"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i12839")))
+                                                       #("i38387")))
                                                     (hygiene guile))
                                                  (list '#(syntax-object
                                                           memv
@@ -18885,9 +21129,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12867"
-                                                               "i12868"
-                                                               "i12869"))
+                                                             #("i38415"
+                                                               "i38416"
+                                                               "i38417"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -18896,22 +21140,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12852"
-                                                               "i12853"
-                                                               "i12854"))
+                                                             #("i38400"
+                                                               "i38401"
+                                                               "i38402"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12842"
-                                                               "i12843"
-                                                               "i12844"))
+                                                             #("i38390"
+                                                               "i38391"
+                                                               "i38392"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i12839")))
+                                                             #("i38387")))
                                                           (hygiene guile))
                                                        '#(syntax-object
                                                           t
@@ -18921,9 +21165,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12867"
-                                                               "i12868"
-                                                               "i12869"))
+                                                             #("i38415"
+                                                               "i38416"
+                                                               "i38417"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -18932,22 +21176,22 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12852"
-                                                               "i12853"
-                                                               "i12854"))
+                                                             #("i38400"
+                                                               "i38401"
+                                                               "i38402"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12842"
-                                                               "i12843"
-                                                               "i12844"))
+                                                             #("i38390"
+                                                               "i38391"
+                                                               "i38392"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i12839")))
+                                                             #("i38387")))
                                                           (hygiene guile))
                                                        (list '#(syntax-object
                                                                 quote
@@ -18957,9 +21201,9 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i12867"
-                                                                     "i12868"
-                                                                     "i12869"))
+                                                                   #("i38415"
+                                                                     "i38416"
+                                                                     "i38417"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18971,17 +21215,17 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i12852"
-                                                                     "i12853"
-                                                                     "i12854"))
+                                                                   #("i38400"
+                                                                     "i38401"
+                                                                     "i38402"))
                                                                  #(ribcage
                                                                    #(e m1 m2)
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i12842"
-                                                                     "i12843"
-                                                                     "i12844"))
+                                                                   #("i38390"
+                                                                     "i38391"
+                                                                     "i38392"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18989,10 +21233,10 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   
#("i12839")))
+                                                                   
#("i38387")))
                                                                 (hygiene
                                                                   guile))
-                                                             #{k 12870}#))
+                                                             #{k 38527}#))
                                                  (cons '#(syntax-object
                                                           begin
                                                           ((top)
@@ -19001,9 +21245,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12867"
-                                                               "i12868"
-                                                               "i12869"))
+                                                             #("i38415"
+                                                               "i38416"
+                                                               "i38417"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -19012,76 +21256,76 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12852"
-                                                               "i12853"
-                                                               "i12854"))
+                                                             #("i38400"
+                                                               "i38401"
+                                                               "i38402"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i12842"
-                                                               "i12843"
-                                                               "i12844"))
+                                                             #("i38390"
+                                                               "i38391"
+                                                               "i38392"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i12839")))
+                                                             #("i38387")))
                                                           (hygiene guile))
-                                                       (cons #{e1 12871}#
-                                                             #{e2 12872}#))))
-                                         #{tmp 12866}#)
+                                                       (cons #{e1 38528}#
+                                                             #{e2 38529}#))))
+                                         #{tmp 38523}#)
                                        (syntax-violation
                                          'case
                                          "bad clause"
-                                         #{x 12838}#
-                                         #{clause 12856}#)))))
-                               (let ((#{tmp 12878}#
-                                       (#{f 12855}#
-                                         (car #{clauses 12857}#)
-                                         (cdr #{clauses 12857}#))))
-                                 (let ((#{tmp 12882}#
+                                         #{x 38441}#
+                                         #{clause 38514}#)))))
+                               (let ((#{tmp 38537}#
+                                       (#{f 38511}#
+                                         (car #{clauses 38515}#)
+                                         (cdr #{clauses 38515}#))))
+                                 (let ((#{tmp 38540}#
                                          ($sc-dispatch
-                                           #{clause 12856}#
+                                           #{clause 38514}#
                                            '(each-any any . each-any))))
-                                   (if #{tmp 12882}#
+                                   (if #{tmp 38540}#
                                      (@apply
-                                       (lambda (#{k 12886}#
-                                                #{e1 12887}#
-                                                #{e2 12888}#)
+                                       (lambda (#{k 38544}#
+                                                #{e1 38545}#
+                                                #{e2 38546}#)
                                          (list '#(syntax-object
                                                   if
                                                   ((top)
                                                    #(ribcage
                                                      #(k e1 e2)
                                                      #((top) (top) (top))
-                                                     #("i12883"
-                                                       "i12884"
-                                                       "i12885"))
+                                                     #("i38431"
+                                                       "i38432"
+                                                       "i38433"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(rest)
                                                      #((top))
-                                                     #("i12879"))
+                                                     #("i38427"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(f clause clauses)
                                                      #((top) (top) (top))
-                                                     #("i12852"
-                                                       "i12853"
-                                                       "i12854"))
+                                                     #("i38400"
+                                                       "i38401"
+                                                       "i38402"))
                                                    #(ribcage
                                                      #(e m1 m2)
                                                      #((top) (top) (top))
-                                                     #("i12842"
-                                                       "i12843"
-                                                       "i12844"))
+                                                     #("i38390"
+                                                       "i38391"
+                                                       "i38392"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i12839")))
+                                                     #("i38387")))
                                                   (hygiene guile))
                                                (list '#(syntax-object
                                                         memv
@@ -19089,32 +21333,32 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i12883"
-                                                             "i12884"
-                                                             "i12885"))
+                                                           #("i38431"
+                                                             "i38432"
+                                                             "i38433"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i12879"))
+                                                           #("i38427"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i12852"
-                                                             "i12853"
-                                                             "i12854"))
+                                                           #("i38400"
+                                                             "i38401"
+                                                             "i38402"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i12842"
-                                                             "i12843"
-                                                             "i12844"))
+                                                           #("i38390"
+                                                             "i38391"
+                                                             "i38392"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i12839")))
+                                                           #("i38387")))
                                                         (hygiene guile))
                                                      '#(syntax-object
                                                         t
@@ -19122,32 +21366,32 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i12883"
-                                                             "i12884"
-                                                             "i12885"))
+                                                           #("i38431"
+                                                             "i38432"
+                                                             "i38433"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i12879"))
+                                                           #("i38427"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i12852"
-                                                             "i12853"
-                                                             "i12854"))
+                                                           #("i38400"
+                                                             "i38401"
+                                                             "i38402"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i12842"
-                                                             "i12843"
-                                                             "i12844"))
+                                                           #("i38390"
+                                                             "i38391"
+                                                             "i38392"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i12839")))
+                                                           #("i38387")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               quote
@@ -19157,9 +21401,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i12883"
-                                                                   "i12884"
-                                                                   "i12885"))
+                                                                 #("i38431"
+                                                                   "i38432"
+                                                                   "i38433"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -19167,7 +21411,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i12879"))
+                                                                 #("i38427"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -19179,17 +21423,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i12852"
-                                                                   "i12853"
-                                                                   "i12854"))
+                                                                 #("i38400"
+                                                                   "i38401"
+                                                                   "i38402"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i12842"
-                                                                   "i12843"
-                                                                   "i12844"))
+                                                                 #("i38390"
+                                                                   "i38391"
+                                                                   "i38392"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -19197,231 +21441,232 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i12839")))
+                                                                 #("i38387")))
                                                               (hygiene guile))
-                                                           #{k 12886}#))
+                                                           #{k 38544}#))
                                                (cons '#(syntax-object
                                                         begin
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i12883"
-                                                             "i12884"
-                                                             "i12885"))
+                                                           #("i38431"
+                                                             "i38432"
+                                                             "i38433"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i12879"))
+                                                           #("i38427"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i12852"
-                                                             "i12853"
-                                                             "i12854"))
+                                                           #("i38400"
+                                                             "i38401"
+                                                             "i38402"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i12842"
-                                                             "i12843"
-                                                             "i12844"))
+                                                           #("i38390"
+                                                             "i38391"
+                                                             "i38392"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i12839")))
+                                                           #("i38387")))
                                                         (hygiene guile))
-                                                     (cons #{e1 12887}#
-                                                           #{e2 12888}#))
-                                               #{tmp 12878}#))
-                                       #{tmp 12882}#)
+                                                     (cons #{e1 38545}#
+                                                           #{e2 38546}#))
+                                               #{tmp 38537}#))
+                                       #{tmp 38540}#)
                                      (syntax-violation
                                        'case
                                        "bad clause"
-                                       #{x 12838}#
-                                       #{clause 12856}#))))))))
-                        (#{f 12855}# #{m1 12846}# #{m2 12847}#))))
-                (list '#(syntax-object
-                         let
-                         ((top)
-                          #(ribcage () () ())
-                          #(ribcage #(body) #((top)) #("i12850"))
-                          #(ribcage
-                            #(e m1 m2)
-                            #((top) (top) (top))
-                            #("i12842" "i12843" "i12844"))
-                          #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i12839")))
-                         (hygiene guile))
-                      (list (list '#(syntax-object
-                                     t
-                                     ((top)
-                                      #(ribcage () () ())
-                                      #(ribcage #(body) #((top)) #("i12850"))
-                                      #(ribcage
-                                        #(e m1 m2)
-                                        #((top) (top) (top))
-                                        #("i12842" "i12843" "i12844"))
-                                      #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i12839")))
-                                     (hygiene guile))
-                                  #{e 12845}#))
-                      #{tmp 12849}#)))
-            #{tmp 12841}#)
+                                       #{x 38441}#
+                                       #{clause 38514}#))))))))
+                        (#{f 38511}# #{m1 38448}# #{m2 38449}#))))
+                (let ((#{body 38451}# #{tmp 38450}#))
+                  (list '#(syntax-object
+                           let
+                           ((top)
+                            #(ribcage () () ())
+                            #(ribcage #(body) #((top)) #("i38398"))
+                            #(ribcage
+                              #(e m1 m2)
+                              #((top) (top) (top))
+                              #("i38390" "i38391" "i38392"))
+                            #(ribcage () () ())
+                            #(ribcage #(x) #((top)) #("i38387")))
+                           (hygiene guile))
+                        (list (list '#(syntax-object
+                                       t
+                                       ((top)
+                                        #(ribcage () () ())
+                                        #(ribcage #(body) #((top)) #("i38398"))
+                                        #(ribcage
+                                          #(e m1 m2)
+                                          #((top) (top) (top))
+                                          #("i38390" "i38391" "i38392"))
+                                        #(ribcage () () ())
+                                        #(ribcage #(x) #((top)) #("i38387")))
+                                       (hygiene guile))
+                                    #{e 38447}#))
+                        #{body 38451}#))))
+            #{tmp 38443}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 12838}#))))))
+            #{x 38441}#))))))
 
 (define make-variable-transformer
-  (lambda (#{proc 12894}#)
-    (if (procedure? #{proc 12894}#)
+  (lambda (#{proc 38564}#)
+    (if (procedure? #{proc 38564}#)
       (letrec*
-        ((#{trans 12897}#
-           (lambda (#{x 12898}#)
-             (#{proc 12894}# #{x 12898}#))))
+        ((#{trans 38565}#
+           (lambda (#{x 38571}#)
+             (#{proc 38564}# #{x 38571}#))))
         (begin
           (set-procedure-property!
-            #{trans 12897}#
+            #{trans 38565}#
             'variable-transformer
             #t)
-          #{trans 12897}#))
+          #{trans 38565}#))
       (error "variable transformer not a procedure"
-             #{proc 12894}#))))
+             #{proc 38564}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x 12904}#)
-      (let ((#{tmp 12907}#
-              ($sc-dispatch #{x 12904}# '(_ any))))
-        (if #{tmp 12907}#
+    (lambda (#{x 38603}#)
+      (let ((#{tmp 38605}#
+              ($sc-dispatch #{x 38603}# '(_ any))))
+        (if #{tmp 38605}#
           (@apply
-            (lambda (#{e 12909}#)
+            (lambda (#{e 38609}#)
               (list '#(syntax-object
                        lambda
                        ((top)
-                        #(ribcage #(e) #((top)) #("i12908"))
+                        #(ribcage #(e) #((top)) #("i38578"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i12905")))
+                        #(ribcage #(x) #((top)) #("i38575")))
                        (hygiene guile))
                     '(#(syntax-object
                         x
                         ((top)
-                         #(ribcage #(e) #((top)) #("i12908"))
+                         #(ribcage #(e) #((top)) #("i38578"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i12905")))
+                         #(ribcage #(x) #((top)) #("i38575")))
                         (hygiene guile)))
                     '#((#(syntax-object
                           macro-type
                           ((top)
-                           #(ribcage #(e) #((top)) #("i12908"))
+                           #(ribcage #(e) #((top)) #("i38578"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i12905")))
+                           #(ribcage #(x) #((top)) #("i38575")))
                           (hygiene guile))
                         .
                         #(syntax-object
                           identifier-syntax
                           ((top)
-                           #(ribcage #(e) #((top)) #("i12908"))
+                           #(ribcage #(e) #((top)) #("i38578"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i12905")))
+                           #(ribcage #(x) #((top)) #("i38575")))
                           (hygiene guile))))
                     (list '#(syntax-object
                              syntax-case
                              ((top)
-                              #(ribcage #(e) #((top)) #("i12908"))
+                              #(ribcage #(e) #((top)) #("i38578"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i12905")))
+                              #(ribcage #(x) #((top)) #("i38575")))
                              (hygiene guile))
                           '#(syntax-object
                              x
                              ((top)
-                              #(ribcage #(e) #((top)) #("i12908"))
+                              #(ribcage #(e) #((top)) #("i38578"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i12905")))
+                              #(ribcage #(x) #((top)) #("i38575")))
                              (hygiene guile))
                           '()
                           (list '#(syntax-object
                                    id
                                    ((top)
-                                    #(ribcage #(e) #((top)) #("i12908"))
+                                    #(ribcage #(e) #((top)) #("i38578"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i12905")))
+                                    #(ribcage #(x) #((top)) #("i38575")))
                                    (hygiene guile))
                                 '(#(syntax-object
                                     identifier?
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i12908"))
+                                     #(ribcage #(e) #((top)) #("i38578"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i12905")))
+                                     #(ribcage #(x) #((top)) #("i38575")))
                                     (hygiene guile))
                                   (#(syntax-object
                                      syntax
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i12908"))
+                                      #(ribcage #(e) #((top)) #("i38578"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i12905")))
+                                      #(ribcage #(x) #((top)) #("i38575")))
                                      (hygiene guile))
                                    #(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i12908"))
+                                      #(ribcage #(e) #((top)) #("i38578"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i12905")))
+                                      #(ribcage #(x) #((top)) #("i38575")))
                                      (hygiene guile))))
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i12908"))
+                                          #(ribcage #(e) #((top)) #("i38578"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i12905")))
+                                          #(ribcage #(x) #((top)) #("i38575")))
                                          (hygiene guile))
-                                      #{e 12909}#))
+                                      #{e 38609}#))
                           (list '(#(syntax-object
                                     _
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i12908"))
+                                     #(ribcage #(e) #((top)) #("i38578"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i12905")))
+                                     #(ribcage #(x) #((top)) #("i38575")))
                                     (hygiene guile))
                                   #(syntax-object
                                     x
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i12908"))
+                                     #(ribcage #(e) #((top)) #("i38578"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i12905")))
+                                     #(ribcage #(x) #((top)) #("i38575")))
                                     (hygiene guile))
                                   #(syntax-object
                                     ...
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i12908"))
+                                     #(ribcage #(e) #((top)) #("i38578"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i12905")))
+                                     #(ribcage #(x) #((top)) #("i38575")))
                                     (hygiene guile)))
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i12908"))
+                                          #(ribcage #(e) #((top)) #("i38578"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i12905")))
+                                          #(ribcage #(x) #((top)) #("i38575")))
                                          (hygiene guile))
-                                      (cons #{e 12909}#
+                                      (cons #{e 38609}#
                                             '(#(syntax-object
                                                 x
                                                 ((top)
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i12908"))
+                                                   #("i38578"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i12905")))
+                                                   #("i38575")))
                                                 (hygiene guile))
                                               #(syntax-object
                                                 ...
@@ -19429,55 +21674,55 @@
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i12908"))
+                                                   #("i38578"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i12905")))
+                                                   #("i38575")))
                                                 (hygiene guile)))))))))
-            #{tmp 12907}#)
-          (let ((#{tmp 12910}#
+            #{tmp 38605}#)
+          (let ((#{tmp 38610}#
                   ($sc-dispatch
-                    #{x 12904}#
+                    #{x 38603}#
                     '(_ (any any)
                         ((#(free-id
                             #(syntax-object
                               set!
                               ((top)
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i12905")))
+                               #(ribcage #(x) #((top)) #("i38575")))
                               (hygiene guile)))
                           any
                           any)
                          any)))))
-            (if (if #{tmp 12910}#
+            (if (if #{tmp 38610}#
                   (@apply
-                    (lambda (#{id 12916}#
-                             #{exp1 12917}#
-                             #{var 12918}#
-                             #{val 12919}#
-                             #{exp2 12920}#)
-                      (if (identifier? #{id 12916}#)
-                        (identifier? #{var 12918}#)
+                    (lambda (#{id 38614}#
+                             #{exp1 38615}#
+                             #{var 38616}#
+                             #{val 38617}#
+                             #{exp2 38618}#)
+                      (if (identifier? #{id 38614}#)
+                        (identifier? #{var 38616}#)
                         #f))
-                    #{tmp 12910}#)
+                    #{tmp 38610}#)
                   #f)
               (@apply
-                (lambda (#{id 12928}#
-                         #{exp1 12929}#
-                         #{var 12930}#
-                         #{val 12931}#
-                         #{exp2 12932}#)
+                (lambda (#{id 38619}#
+                         #{exp1 38620}#
+                         #{var 38621}#
+                         #{val 38622}#
+                         #{exp2 38623}#)
                   (list '#(syntax-object
                            make-variable-transformer
                            ((top)
                             #(ribcage
                               #(id exp1 var val exp2)
                               #((top) (top) (top) (top) (top))
-                              #("i12923" "i12924" "i12925" "i12926" "i12927"))
+                              #("i38593" "i38594" "i38595" "i38596" "i38597"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i12905")))
+                            #(ribcage #(x) #((top)) #("i38575")))
                            (hygiene guile))
                         (list '#(syntax-object
                                  lambda
@@ -19485,13 +21730,13 @@
                                   #(ribcage
                                     #(id exp1 var val exp2)
                                     #((top) (top) (top) (top) (top))
-                                    #("i12923"
-                                      "i12924"
-                                      "i12925"
-                                      "i12926"
-                                      "i12927"))
+                                    #("i38593"
+                                      "i38594"
+                                      "i38595"
+                                      "i38596"
+                                      "i38597"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i12905")))
+                                  #(ribcage #(x) #((top)) #("i38575")))
                                  (hygiene guile))
                               '(#(syntax-object
                                   x
@@ -19499,13 +21744,13 @@
                                    #(ribcage
                                      #(id exp1 var val exp2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i12923"
-                                       "i12924"
-                                       "i12925"
-                                       "i12926"
-                                       "i12927"))
+                                     #("i38593"
+                                       "i38594"
+                                       "i38595"
+                                       "i38596"
+                                       "i38597"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i12905")))
+                                   #(ribcage #(x) #((top)) #("i38575")))
                                   (hygiene guile)))
                               '#((#(syntax-object
                                     macro-type
@@ -19513,13 +21758,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i12923"
-                                         "i12924"
-                                         "i12925"
-                                         "i12926"
-                                         "i12927"))
+                                       #("i38593"
+                                         "i38594"
+                                         "i38595"
+                                         "i38596"
+                                         "i38597"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i12905")))
+                                     #(ribcage #(x) #((top)) #("i38575")))
                                     (hygiene guile))
                                   .
                                   #(syntax-object
@@ -19528,13 +21773,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i12923"
-                                         "i12924"
-                                         "i12925"
-                                         "i12926"
-                                         "i12927"))
+                                       #("i38593"
+                                         "i38594"
+                                         "i38595"
+                                         "i38596"
+                                         "i38597"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i12905")))
+                                     #(ribcage #(x) #((top)) #("i38575")))
                                     (hygiene guile))))
                               (list '#(syntax-object
                                        syntax-case
@@ -19542,13 +21787,13 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i12923"
-                                            "i12924"
-                                            "i12925"
-                                            "i12926"
-                                            "i12927"))
+                                          #("i38593"
+                                            "i38594"
+                                            "i38595"
+                                            "i38596"
+                                            "i38597"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i12905")))
+                                        #(ribcage #(x) #((top)) #("i38575")))
                                        (hygiene guile))
                                     '#(syntax-object
                                        x
@@ -19556,13 +21801,13 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i12923"
-                                            "i12924"
-                                            "i12925"
-                                            "i12926"
-                                            "i12927"))
+                                          #("i38593"
+                                            "i38594"
+                                            "i38595"
+                                            "i38596"
+                                            "i38597"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i12905")))
+                                        #(ribcage #(x) #((top)) #("i38575")))
                                        (hygiene guile))
                                     '(#(syntax-object
                                         set!
@@ -19570,13 +21815,13 @@
                                          #(ribcage
                                            #(id exp1 var val exp2)
                                            #((top) (top) (top) (top) (top))
-                                           #("i12923"
-                                             "i12924"
-                                             "i12925"
-                                             "i12926"
-                                             "i12927"))
+                                           #("i38593"
+                                             "i38594"
+                                             "i38595"
+                                             "i38596"
+                                             "i38597"))
                                          #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i12905")))
+                                         #(ribcage #(x) #((top)) #("i38575")))
                                         (hygiene guile)))
                                     (list (list '#(syntax-object
                                                    set!
@@ -19588,19 +21833,19 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i12923"
-                                                        "i12924"
-                                                        "i12925"
-                                                        "i12926"
-                                                        "i12927"))
+                                                      #("i38593"
+                                                        "i38594"
+                                                        "i38595"
+                                                        "i38596"
+                                                        "i38597"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i12905")))
+                                                      #("i38575")))
                                                    (hygiene guile))
-                                                #{var 12930}#
-                                                #{val 12931}#)
+                                                #{var 38621}#
+                                                #{val 38622}#)
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -19611,19 +21856,19 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i12923"
-                                                        "i12924"
-                                                        "i12925"
-                                                        "i12926"
-                                                        "i12927"))
+                                                      #("i38593"
+                                                        "i38594"
+                                                        "i38595"
+                                                        "i38596"
+                                                        "i38597"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i12905")))
+                                                      #("i38575")))
                                                    (hygiene guile))
-                                                #{exp2 12932}#))
-                                    (list (cons #{id 12928}#
+                                                #{exp2 38623}#))
+                                    (list (cons #{id 38619}#
                                                 '(#(syntax-object
                                                     x
                                                     ((top)
@@ -19634,16 +21879,16 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i12923"
-                                                         "i12924"
-                                                         "i12925"
-                                                         "i12926"
-                                                         "i12927"))
+                                                       #("i38593"
+                                                         "i38594"
+                                                         "i38595"
+                                                         "i38596"
+                                                         "i38597"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i12905")))
+                                                       #("i38575")))
                                                     (hygiene guile))
                                                   #(syntax-object
                                                     ...
@@ -19655,16 +21900,16 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i12923"
-                                                         "i12924"
-                                                         "i12925"
-                                                         "i12926"
-                                                         "i12927"))
+                                                       #("i38593"
+                                                         "i38594"
+                                                         "i38595"
+                                                         "i38596"
+                                                         "i38597"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i12905")))
+                                                       #("i38575")))
                                                     (hygiene guile))))
                                           (list '#(syntax-object
                                                    syntax
@@ -19676,18 +21921,18 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i12923"
-                                                        "i12924"
-                                                        "i12925"
-                                                        "i12926"
-                                                        "i12927"))
+                                                      #("i38593"
+                                                        "i38594"
+                                                        "i38595"
+                                                        "i38596"
+                                                        "i38597"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i12905")))
+                                                      #("i38575")))
                                                    (hygiene guile))
-                                                (cons #{exp1 12929}#
+                                                (cons #{exp1 38620}#
                                                       '(#(syntax-object
                                                           x
                                                           ((top)
@@ -19702,16 +21947,16 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i12923"
-                                                               "i12924"
-                                                               "i12925"
-                                                               "i12926"
-                                                               "i12927"))
+                                                             #("i38593"
+                                                               "i38594"
+                                                               "i38595"
+                                                               "i38596"
+                                                               "i38597"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i12905")))
+                                                             #("i38575")))
                                                           (hygiene guile))
                                                         #(syntax-object
                                                           ...
@@ -19727,18 +21972,18 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i12923"
-                                                               "i12924"
-                                                               "i12925"
-                                                               "i12926"
-                                                               "i12927"))
+                                                             #("i38593"
+                                                               "i38594"
+                                                               "i38595"
+                                                               "i38596"
+                                                               "i38597"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i12905")))
+                                                             #("i38575")))
                                                           (hygiene guile))))))
-                                    (list #{id 12928}#
+                                    (list #{id 38619}#
                                           (list '#(syntax-object
                                                    identifier?
                                                    ((top)
@@ -19749,16 +21994,16 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i12923"
-                                                        "i12924"
-                                                        "i12925"
-                                                        "i12926"
-                                                        "i12927"))
+                                                      #("i38593"
+                                                        "i38594"
+                                                        "i38595"
+                                                        "i38596"
+                                                        "i38597"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i12905")))
+                                                      #("i38575")))
                                                    (hygiene guile))
                                                 (list '#(syntax-object
                                                          syntax
@@ -19774,18 +22019,18 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i12923"
-                                                              "i12924"
-                                                              "i12925"
-                                                              "i12926"
-                                                              "i12927"))
+                                                            #("i38593"
+                                                              "i38594"
+                                                              "i38595"
+                                                              "i38596"
+                                                              "i38597"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i12905")))
+                                                            #("i38575")))
                                                          (hygiene guile))
-                                                      #{id 12928}#))
+                                                      #{id 38619}#))
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -19796,68 +22041,68 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i12923"
-                                                        "i12924"
-                                                        "i12925"
-                                                        "i12926"
-                                                        "i12927"))
+                                                      #("i38593"
+                                                        "i38594"
+                                                        "i38595"
+                                                        "i38596"
+                                                        "i38597"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i12905")))
+                                                      #("i38575")))
                                                    (hygiene guile))
-                                                #{exp1 12929}#))))))
-                #{tmp 12910}#)
+                                                #{exp1 38620}#))))))
+                #{tmp 38610}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 12904}#))))))))
+                #{x 38603}#))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x 12933}#)
-      (let ((#{tmp 12936}#
+    (lambda (#{x 38655}#)
+      (let ((#{tmp 38657}#
               ($sc-dispatch
-                #{x 12933}#
+                #{x 38655}#
                 '(_ (any . any) any . each-any))))
-        (if #{tmp 12936}#
+        (if #{tmp 38657}#
           (@apply
-            (lambda (#{id 12941}#
-                     #{args 12942}#
-                     #{b0 12943}#
-                     #{b1 12944}#)
+            (lambda (#{id 38661}#
+                     #{args 38662}#
+                     #{b0 38663}#
+                     #{b1 38664}#)
               (list '#(syntax-object
                        define
                        ((top)
                         #(ribcage
                           #(id args b0 b1)
                           #((top) (top) (top) (top))
-                          #("i12937" "i12938" "i12939" "i12940"))
+                          #("i38637" "i38638" "i38639" "i38640"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i12934")))
+                        #(ribcage #(x) #((top)) #("i38634")))
                        (hygiene guile))
-                    #{id 12941}#
+                    #{id 38661}#
                     (cons '#(syntax-object
                              lambda*
                              ((top)
                               #(ribcage
                                 #(id args b0 b1)
                                 #((top) (top) (top) (top))
-                                #("i12937" "i12938" "i12939" "i12940"))
+                                #("i38637" "i38638" "i38639" "i38640"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i12934")))
+                              #(ribcage #(x) #((top)) #("i38634")))
                              (hygiene guile))
-                          (cons #{args 12942}#
-                                (cons #{b0 12943}# #{b1 12944}#)))))
-            #{tmp 12936}#)
-          (let ((#{tmp 12946}#
-                  ($sc-dispatch #{x 12933}# '(_ any any))))
-            (if (if #{tmp 12946}#
+                          (cons #{args 38662}#
+                                (cons #{b0 38663}# #{b1 38664}#)))))
+            #{tmp 38657}#)
+          (let ((#{tmp 38665}#
+                  ($sc-dispatch #{x 38655}# '(_ any any))))
+            (if (if #{tmp 38665}#
                   (@apply
-                    (lambda (#{id 12949}# #{val 12950}#)
+                    (lambda (#{id 38669}# #{val 38670}#)
                       (identifier?
                         '#(syntax-object
                            x
@@ -19865,29 +22110,29 @@
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i12947" "i12948"))
+                              #("i38647" "i38648"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i12934")))
+                            #(ribcage #(x) #((top)) #("i38634")))
                            (hygiene guile))))
-                    #{tmp 12946}#)
+                    #{tmp 38665}#)
                   #f)
               (@apply
-                (lambda (#{id 12953}# #{val 12954}#)
+                (lambda (#{id 38671}# #{val 38672}#)
                   (list '#(syntax-object
                            define
                            ((top)
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i12951" "i12952"))
+                              #("i38651" "i38652"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i12934")))
+                            #(ribcage #(x) #((top)) #("i38634")))
                            (hygiene guile))
-                        #{id 12953}#
-                        #{val 12954}#))
-                #{tmp 12946}#)
+                        #{id 38671}#
+                        #{val 38672}#))
+                #{tmp 38665}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 12933}#))))))))
+                #{x 38655}#))))))))
 
diff --git a/module/language/tree-il/debug.scm 
b/module/language/tree-il/debug.scm
new file mode 100644
index 0000000..884f3de
--- /dev/null
+++ b/module/language/tree-il/debug.scm
@@ -0,0 +1,264 @@
+;;; Tree-IL verifier
+
+;; Copyright (C) 2011 Free Software Foundation, Inc.
+
+;;;; This library is free software; you can redistribute it and/or
+;;;; modify it under the terms of the GNU Lesser General Public
+;;;; License as published by the Free Software Foundation; either
+;;;; version 3 of the License, or (at your option) any later version.
+;;;; 
+;;;; This library is distributed in the hope that it will be useful,
+;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;;;; Lesser General Public License for more details.
+;;;; 
+;;;; You should have received a copy of the GNU Lesser General Public
+;;;; License along with this library; if not, write to the Free Software
+;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
USA
+
+(define-module (language tree-il debug)
+  #:use-module (language tree-il)
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26)
+  #:export (verify-tree-il))
+
+(define (verify-tree-il exp)
+  (define seen-gensyms (make-hash-table))
+  (define (add sym env)
+    (if (hashq-ref seen-gensyms sym)
+        (error "duplicate gensym" sym)
+        (begin
+          (hashq-set! seen-gensyms sym #t)
+          (cons sym env))))
+  (define (add-env new env)
+    (if (null? new)
+        env
+        (add-env (cdr new) (add (car new) env))))
+
+  (let visit ((exp exp)
+              (env '()))
+    (match exp
+      (($ <lambda-case> src req opt rest kw inits gensyms body alt)
+       (cond
+        ((not (and (list? req) (and-map symbol? req)))
+         (error "bad required args (should be list of symbols)" exp))
+        ((and opt (not (and (list? opt) (and-map symbol? opt))))
+         (error "bad optionals (should be #f or list of symbols)" exp))
+        ((and rest (not (symbol? rest)))
+         (error "bad required args (should be #f or symbol)" exp))
+        ((and kw (not (match kw
+                        ((aok . kwlist)
+                         (and (list? kwlist)
+                              (and-map 
+                               (lambda (x)
+                                 (match x
+                                   (((? keyword?) (? symbol?) (? symbol? sym))
+                                    (memq sym gensyms))
+                                   (_ #f)))
+                               kwlist)))
+                        (_ #f))))
+         (error "bad keywords (should be #f or (aok (kw name sym) ...))" exp))
+        ((not (and (list? gensyms) (and-map symbol? gensyms)))
+         (error "bad gensyms (should be list of symbols)" exp))
+        ((not (and (list? gensyms) (and-map symbol? gensyms)))
+         (error "bad gensyms (should be list of symbols)" exp))
+        ((not (= (length gensyms) 
+                 (+ (length req)
+                    (if opt (length opt) 0)
+                    ;; FIXME: technically possible for kw gensyms to
+                    ;; alias other gensyms
+                    (if rest 1 0)
+                    (if kw (1- (length kw)) 0))))
+         (error "unexpected gensyms length" exp))
+        (else
+         (let lp ((env (add-env (take gensyms (length req)) env))
+                  (nopt (if opt (length opt) 0))
+                  (inits inits)
+                  (tail (drop gensyms (length req))))
+           (if (zero? nopt)
+               (let lp ((env (if rest (add (car tail) env) env))
+                        (inits inits)
+                        (tail (if rest (cdr tail) tail)))
+                 (if (pair? inits)
+                     (begin
+                       (visit (car inits) env)
+                       (lp (add (car tail) env) (cdr inits) 
+                           (cdr tail)))
+                     (visit body env)))
+               (begin
+                 (visit (car inits) env)
+                 (lp (add (car tail) env)
+                     (1- nopt)
+                     (cdr inits) 
+                     (cdr tail)))))
+         (if alt (visit alt env)))))
+      (($ <lexical-ref> src name gensym)
+       (cond
+        ((not (symbol? name))
+         (error "name should be a symbol" name))
+        ((not (hashq-ref seen-gensyms gensym))
+         (error "unbound lexical" exp))
+        ((not (memq gensym env))
+         (error "displaced lexical" exp))))
+      (($ <lexical-set> src name gensym exp)
+       (cond
+        ((not (symbol? name))
+         (error "name should be a symbol" name))
+        ((not (hashq-ref seen-gensyms gensym))
+         (error "unbound lexical" exp))
+        ((not (memq gensym env))
+         (error "displaced lexical" exp))
+        (else
+         (visit exp env))))
+      (($ <lambda> src meta body)
+       (cond
+        ((and meta (not (and (list? meta) (and-map pair? meta))))
+         (error "meta should be alist" meta))
+        ((not (lambda-case? body))
+         (error "lambda body should be lambda-case" exp))
+        (else
+         (visit body env))))
+      (($ <let> src names gensyms vals body)
+       (cond
+        ((not (and (list? names) (and-map symbol? names)))
+         (error "names should be list of syms" exp))
+        ((not (and (list? gensyms) (and-map symbol? gensyms)))
+         (error "gensyms should be list of syms" exp))
+        ((not (list? vals))
+         (error "vals should be list" exp))
+        ((not (= (length names) (length gensyms) (length vals)))
+         (error "names, syms, vals should be same length" exp))
+        (else
+         (for-each (cut visit <> env) vals)
+         (visit body (add-env gensyms env)))))
+      (($ <letrec> src in-order? names gensyms vals body)
+       (cond
+        ((not (and (list? names) (and-map symbol? names)))
+         (error "names should be list of syms" exp))
+        ((not (and (list? gensyms) (and-map symbol? gensyms)))
+         (error "gensyms should be list of syms" exp))
+        ((not (list? vals))
+         (error "vals should be list" exp))
+        ((not (= (length names) (length gensyms) (length vals)))
+         (error "names, syms, vals should be same length" exp))
+        (else
+         (let ((env (add-env gensyms env)))
+           (for-each (cut visit <> env) vals)
+           (visit body env)))))
+      (($ <fix> src names gensyms vals body)
+       (cond
+        ((not (and (list? names) (and-map symbol? names)))
+         (error "names should be list of syms" exp))
+        ((not (and (list? gensyms) (and-map symbol? gensyms)))
+         (error "gensyms should be list of syms" exp))
+        ((not (list? vals))
+         (error "vals should be list" exp))
+        ((not (= (length names) (length gensyms) (length vals)))
+         (error "names, syms, vals should be same length" exp))
+        (else
+         (let ((env (add-env gensyms env)))
+           (for-each (cut visit <> env) vals)
+           (visit body env)))))
+      (($ <let-values> src exp body)
+       (cond
+        ((not (lambda-case? body))
+         (error "let-values body should be lambda-case" exp))
+        (else
+         (visit exp env)
+         (visit body env))))
+      (($ <const> src val) #t)
+      (($ <void> src) #t)
+      (($ <toplevel-ref> src name)
+       (cond
+        ((not (symbol? name))
+         (error "name should be a symbol" name))))
+      (($ <module-ref> src mod name public?)
+       (cond
+        ((not (and (list? mod) (and-map symbol? mod)))
+         (error "module name should be list of symbols" exp))
+        ((not (symbol? name))
+         (error "name should be symbol" exp))))
+      (($ <primitive-ref> src name)
+       (cond
+        ((not (symbol? name))
+         (error "name should be symbol" exp))))
+      (($ <toplevel-set> src name exp)
+       (cond
+        ((not (symbol? name))
+         (error "name should be a symbol" name))
+        (else
+         (visit exp env))))
+      (($ <toplevel-define> src name exp)
+       (cond
+        ((not (symbol? name))
+         (error "name should be a symbol" name))
+        (else
+         (visit exp env))))
+      (($ <module-set> src mod name public? exp)
+       (cond
+        ((not (and (list? mod) (and-map symbol? mod)))
+         (error "module name should be list of symbols" exp))
+        ((not (symbol? name))
+         (error "name should be symbol" exp))
+        (else
+         (visit exp env))))
+      (($ <dynlet> src fluids vals body)
+       (cond
+        ((not (list? fluids))
+         (error "fluids should be list" exp))
+        ((not (list? vals))
+         (error "vals should be list" exp))
+        ((not (= (length fluids) (length vals)))
+         (error "mismatch in fluids/vals" exp))
+        (else
+         (for-each (cut visit <> env) fluids)
+         (for-each (cut visit <> env) vals)
+         (visit body env))))
+      (($ <dynwind> src winder body unwinder)
+       (visit winder env)
+       (visit body env)
+       (visit unwinder env))
+      (($ <dynref> src fluid)
+       (visit fluid env))
+      (($ <dynset> src fluid exp)
+       (visit fluid env)
+       (visit exp env))
+      (($ <conditional> src condition subsequent alternate)
+       (visit condition env)
+       (visit subsequent env)
+       (visit alternate env))
+      (($ <primcall> src name args)
+       (cond
+        ((not (symbol? name))
+         (error "expected symbolic operator" exp))
+        ((not (list? args))
+         (error "expected list of args" args))
+        (else
+         (for-each (cut visit <> env) args))))
+      (($ <call> src proc args)
+       (cond
+        ((not (list? args))
+         (error "expected list of args" args))
+        (else
+         (visit proc env)
+         (for-each (cut visit <> env) args))))
+      (($ <seq> src head tail)
+       (visit head env)
+       (visit tail env))
+      (($ <prompt> src tag body handler)
+       (visit tag env)
+       (visit body env)
+       (visit handler env))
+      (($ <abort> src tag args tail)
+       (visit tag env)
+       (for-each (cut visit <> env) args)
+       (visit tail env))
+      (_
+       (error "unexpected tree-il" exp)))
+    (let ((src (tree-il-src exp)))
+      (if (and src (not (and (list? src) (and-map pair? src)
+                             (and-map symbol? (map car src)))))
+          (error "bad src"))
+      ;; Return it, why not.
+      exp)))
diff --git a/module/language/tree-il/optimize.scm 
b/module/language/tree-il/optimize.scm
index cb19905..baac915 100644
--- a/module/language/tree-il/optimize.scm
+++ b/module/language/tree-il/optimize.scm
@@ -23,6 +23,7 @@
   #:use-module (language tree-il primitives)
   #:use-module (language tree-il peval)
   #:use-module (language tree-il fix-letrec)
+  #:use-module (language tree-il debug)
   #:use-module (ice-9 match)
   #:export (optimize!))
 
@@ -33,5 +34,6 @@
                   (lambda (x e) x))
                  (_ peval))))
     (fix-letrec!
-     (peval (expand-primitives! (resolve-primitives! x env))
-            env))))
+     (verify-tree-il
+      (peval (expand-primitives! (resolve-primitives! x env))
+             env)))))
diff --git a/module/language/tree-il/peval.scm 
b/module/language/tree-il/peval.scm
index 6647920..8e8350c 100644
--- a/module/language/tree-il/peval.scm
+++ b/module/language/tree-il/peval.scm
@@ -28,127 +28,49 @@
   #:export (peval))
 
 ;;;
-;;; Partial evaluation.
+;;; Partial evaluation is Guile's most important source-to-source
+;;; optimization pass.  It performs copy propagation, dead code
+;;; elimination, inlining, and constant folding, all while preserving
+;;; the order of effects in the residual program.
+;;;
+;;; For more on partial evaluation, see William Cook’s excellent
+;;; tutorial on partial evaluation at DSL 2011, called “Build your own
+;;; partial evaluator in 90 minutes”[0].
+;;;
+;;; Our implementation of this algorithm was heavily influenced by
+;;; Waddell and Dybvig's paper, "Fast and Effective Procedure Inlining",
+;;; IU CS Dept. TR 484.
+;;;
+;;; [0] http://www.cs.utexas.edu/~wcook/tutorial/.  
 ;;;
 
-(define (fresh-gensyms syms)
-  (map (lambda (x) (gensym (string-append (symbol->string x) " ")))
-       syms))
-
-(define (alpha-rename exp)
-  "Alpha-rename EXP.  For any lambda in EXP, generate new symbols and
-replace all lexical references to the former symbols with lexical
-references to the new symbols."
-  ;; XXX: This should be factorized somehow.
-  (let loop ((exp     exp)
-             (mapping vlist-null))             ; maps old to new gensyms
-    (match exp
-      (($ <lambda-case> src req opt rest kw inits gensyms body alt)
-       ;; Create new symbols to replace GENSYMS and propagate them down
-       ;; in BODY and ALT.
-       (let* ((new     (fresh-gensyms
-                        (append req
-                                (or opt '())
-                                (if rest (list rest) '())
-                                (match kw
-                                  ((aok? (_ name _) ...) name)
-                                  (_ '())))))
-              (mapping (fold vhash-consq mapping gensyms new)))
-         (make-lambda-case src req opt rest
-                           (match kw
-                             ((aok? (kw name old) ...)
-                              (cons aok? (map list
-                                              kw
-                                              name
-                                              (take-right new (length old)))))
-                             (_ #f))
-                           (map (cut loop <> mapping) inits)
-                           new
-                           (loop body mapping)
-                           (and alt (loop alt mapping)))))
-      (($ <lexical-ref> src name gensym)
-       ;; Possibly replace GENSYM by the new gensym defined in MAPPING.
-       (let ((val (vhash-assq gensym mapping)))
-         (if val
-             (make-lexical-ref src name (cdr val))
-             exp)))
-      (($ <lexical-set> src name gensym exp)
-       (let ((val (vhash-assq gensym mapping)))
-         (make-lexical-set src name (if val (cdr val) gensym)
-                           (loop exp mapping))))
-      (($ <lambda> src meta body)
-       (make-lambda src meta (loop body mapping)))
-      (($ <let> src names gensyms vals body)
-       ;; As for `lambda-case' rename GENSYMS to avoid any collision.
-       (let* ((new     (fresh-gensyms names))
-              (mapping (fold vhash-consq mapping gensyms new))
-              (vals    (map (cut loop <> mapping) vals))
-              (body    (loop body mapping)))
-         (make-let src names new vals body)))
-      (($ <letrec> src in-order? names gensyms vals body)
-       ;; Likewise.
-       (let* ((new     (fresh-gensyms names))
-              (mapping (fold vhash-consq mapping gensyms new))
-              (vals    (map (cut loop <> mapping) vals))
-              (body    (loop body mapping)))
-         (make-letrec src in-order? names new vals body)))
-      (($ <fix> src names gensyms vals body)
-       ;; Likewise.
-       (let* ((new     (fresh-gensyms names))
-              (mapping (fold vhash-consq mapping gensyms new))
-              (vals    (map (cut loop <> mapping) vals))
-              (body    (loop body mapping)))
-         (make-fix src names new vals body)))
-      (($ <let-values> src exp body)
-       (make-let-values src (loop exp mapping) (loop body mapping)))
-      (($ <const>)
-       exp)
-      (($ <void>)
-       exp)
-      (($ <toplevel-ref>)
-       exp)
-      (($ <module-ref>)
-       exp)
-      (($ <primitive-ref>)
-       exp)
-      (($ <toplevel-set> src name exp)
-       (make-toplevel-set src name (loop exp mapping)))
-      (($ <toplevel-define> src name exp)
-       (make-toplevel-define src name (loop exp mapping)))
-      (($ <module-set> src mod name public? exp)
-       (make-module-set src mod name public? (loop exp mapping)))
-      (($ <dynlet> src fluids vals body)
-       (make-dynlet src
-                    (map (cut loop <> mapping) fluids)
-                    (map (cut loop <> mapping) vals)
-                    (loop body mapping)))
-      (($ <dynwind> src winder body unwinder)
-       (make-dynwind src
-                     (loop winder mapping)
-                     (loop body mapping)
-                     (loop unwinder mapping)))
-      (($ <dynref> src fluid)
-       (make-dynref src (loop fluid mapping)))
-      (($ <dynset> src fluid exp)
-       (make-dynset src (loop fluid mapping) (loop exp mapping)))
-      (($ <conditional> src condition subsequent alternate)
-       (make-conditional src
-                         (loop condition mapping)
-                         (loop subsequent mapping)
-                         (loop alternate mapping)))
-      (($ <call> src proc args)
-       (make-call src (loop proc mapping)
-                  (map (cut loop <> mapping) args)))
-      (($ <primcall> src name args)
-       (make-primcall src name (map (cut loop <> mapping) args)))
-      (($ <seq> src head tail)
-       (make-seq src (loop head mapping) (loop tail mapping)))
-      (($ <prompt> src tag body handler)
-       (make-prompt src (loop tag mapping) (loop body mapping)
-                    (loop handler mapping)))
-      (($ <abort> src tag args tail)
-       (make-abort src (loop tag mapping) (map (cut loop <> mapping) args)
-                   (loop tail mapping))))))
+;; First, some helpers.
+;;
+(define-syntax *logging* (identifier-syntax #f))
+
+;; For efficiency we define *logging* to inline to #f, so that the call
+;; to log* gets optimized out.  If you want to log, uncomment these
+;; lines:
+;;
+;; (define %logging #f)
+;; (define-syntax *logging* (identifier-syntax %logging))
+;;
+;; Then you can change %logging at runtime.
+
+(define-syntax log
+  (syntax-rules (quote)
+    ((log 'event arg ...)
+     (if (and *logging*
+              (or (eq? *logging* #t)
+                  (memq 'event *logging*)))
+         (log* 'event arg ...)))))
+
+(define (log* event . args)
+  (let ((pp (module-ref (resolve-interface '(ice-9 pretty-print))
+                        'pretty-print)))
+    (pp `(log ,event . ,args))
+    (newline)
+    (values)))
 
 (define-syntax-rule (let/ec k e e* ...)
   (let ((tag (make-prompt-tag)))
@@ -177,6 +99,10 @@ references to the new symbols."
            (or (proc (vlist-ref vlist i))
                (lp (1+ i)))))))
 
+;; Peval will do a one-pass analysis on the source program to determine
+;; the set of assigned lexicals, and to identify unreferenced and
+;; singly-referenced lexicals.
+;;
 (define-record-type <var>
   (make-var name gensym refcount set?)
   var?
@@ -190,33 +116,81 @@ references to the new symbols."
    (lambda (exp res)
      (match exp
        (($ <lexical-ref> src name gensym)
-        (let ((var (vhash-assq gensym res)))
-          (if var
-              (begin
-                (set-var-refcount! (cdr var) (1+ (var-refcount (cdr var))))
-                res)
-              (vhash-consq gensym (make-var name gensym 1 #f) res))))
+        (let ((var (cdr (vhash-assq gensym res))))
+          (set-var-refcount! var (1+ (var-refcount var)))
+          res))
        (_ res)))
    (lambda (exp res)
      (match exp
+       (($ <lambda-case> src req opt rest kw init gensyms body alt)
+        (fold (lambda (name sym res)
+                (vhash-consq sym (make-var name sym 0 #f) res))
+              res
+              (append req (or opt '()) (if rest (list rest) '())
+                      (match kw
+                        ((aok? (kw name sym) ...) name)
+                        (_ '())))
+              gensyms))
+       (($ <let> src names gensyms vals body)
+        (fold (lambda (name sym res)
+                (vhash-consq sym (make-var name sym 0 #f) res))
+              res names gensyms))
+       (($ <letrec> src in-order? names gensyms vals body)
+        (fold (lambda (name sym res)
+                (vhash-consq sym (make-var name sym 0 #f) res))
+              res names gensyms))
+       (($ <fix> src names gensyms vals body)
+        (fold (lambda (name sym res)
+                (vhash-consq sym (make-var name sym 0 #f) res))
+              res names gensyms))
        (($ <lexical-set> src name gensym exp)
-        (let ((var (vhash-assq gensym res)))
-          (if var
-              (begin
-                (set-var-set?! (cdr var) #t)
-                res)
-              (vhash-consq gensym (make-var name gensym 0 #t) res))))
+        (set-var-set?! (cdr (vhash-assq gensym res)) #t)
+        res)
        (_ res)))
    (lambda (exp res) res)
    table exp))
 
+;; Counters are data structures used to limit the effort that peval
+;; spends on particular inlining attempts.  Each call site in the source
+;; program is allocated some amount of effort.  If peval exceeds the
+;; effort counter while attempting to inline a call site, it aborts the
+;; inlining attempt and residualizes a call instead.
+;;
+;; As there is a fixed number of call sites, that makes `peval' O(N) in
+;; the number of call sites in the source program.
+;;
+;; Counters should limit the size of the residual program as well, but
+;; currently this is not implemented.
+;;
+;; At the top level, before seeing any peval call, there is no counter,
+;; because inlining will terminate as there is no recursion.  When peval
+;; sees a call at the top level, it will make a new counter, allocating
+;; it some amount of effort and size.
+;;
+;; This top-level effort counter effectively "prints money".  Within a
+;; toplevel counter, no more effort is printed ex nihilo; for a nested
+;; inlining attempt to proceed, effort must be transferred from the
+;; toplevel counter to the nested counter.
+;;
+;; Via `data' and `prev', counters form a linked list, terminating in a
+;; toplevel counter.  In practice `data' will be the a pointer to the
+;; source expression of the procedure being inlined.
+;;
+;; In this way peval can detect a recursive inlining attempt, by walking
+;; back on the `prev' links looking for matching `data'.  Recursive
+;; counters receive a more limited effort allocation, as we don't want
+;; to spend all of the effort for a toplevel inlining site on loops.
+;; Also, recursive counters don't need a prompt at each inlining site:
+;; either the call chain folds entirely, or it will be residualized at
+;; its original call.
+;;
 (define-record-type <counter>
   (%make-counter effort size continuation recursive? data prev)
   counter?
   (effort effort-counter)
   (size size-counter)
   (continuation counter-continuation)
-  (recursive? counter-recursive?)
+  (recursive? counter-recursive? set-counter-recursive?!)
   (data counter-data)
   (prev counter-prev))
 
@@ -282,6 +256,65 @@ references to the new symbols."
     (transfer! current c effort-limit size-limit)
     c))
 
+;; Operand structures allow bindings to be processed lazily instead of
+;; eagerly.  By doing so, hopefully we can get process them in a way
+;; appropriate to their use contexts.  Operands also prevent values from
+;; being visited multiple times, wasting effort.
+;;
+;; TODO: Record value size in operand structure?
+;; 
+(define-record-type <operand>
+  (%make-operand var sym visit source visit-count residualize?
+                 copyable? residual-value constant-value)
+  operand?
+  (var operand-var)
+  (sym operand-sym)
+  (visit %operand-visit)
+  (source operand-source)
+  (visit-count operand-visit-count set-operand-visit-count!)
+  (residualize? operand-residualize? set-operand-residualize?!)
+  (copyable? operand-copyable? set-operand-copyable?!)
+  (residual-value operand-residual-value set-operand-residual-value!)
+  (constant-value operand-constant-value set-operand-constant-value!))
+
+(define* (make-operand var sym #:optional source visit)
+  ;; Bound operands are considered copyable until we prove otherwise.
+  (%make-operand var sym visit source 0 #f (and source #t) #f #f))
+
+(define (make-bound-operands vars syms sources visit)
+  (map (lambda (x y z) (make-operand x y z visit)) vars syms sources))
+
+(define (make-unbound-operands vars syms)
+  (map make-operand vars syms))
+
+(define* (visit-operand op counter ctx #:optional effort-limit size-limit)
+  ;; Peval is O(N) in call sites of the source program.  However,
+  ;; visiting an operand can introduce new call sites.  If we visit an
+  ;; operand outside a counter -- i.e., outside an inlining attempt --
+  ;; this can lead to divergence.  So, if we are visiting an operand to
+  ;; try to copy it, and there is no counter, make a new one.
+  ;;
+  ;; This will only happen at most as many times as there are lexical
+  ;; references in the source program.
+  (and (zero? (operand-visit-count op))
+       (dynamic-wind
+         (lambda ()
+           (set-operand-visit-count! op (1+ (operand-visit-count op))))
+         (lambda ()
+           (and (operand-source op)
+                (if (or counter (and (not effort-limit) (not size-limit)))
+                    ((%operand-visit op) (operand-source op) counter ctx)
+                    (let/ec k
+                      (define (abort) (k #f))
+                      ((%operand-visit op)
+                       (operand-source op) 
+                       (make-top-counter effort-limit size-limit abort op)
+                       ctx)))))
+         (lambda ()
+           (set-operand-visit-count! op (1- (operand-visit-count op)))))))
+
+;; A helper for constant folding.
+;;
 (define (types-check? primitive-name args)
   (case primitive-name
     ((values) #t)
@@ -300,18 +333,18 @@ references to the new symbols."
                 (effort-limit 500)
                 (recursive-effort-limit 100))
   "Partially evaluate EXP in compilation environment CENV, with
-top-level bindings from ENV and return the resulting expression.  Since
-it does not handle <fix> and <let-values>, it should be called before
-`fix-letrec'."
+top-level bindings from ENV and return the resulting expression."
 
   ;; This is a simple partial evaluator.  It effectively performs
   ;; constant folding, copy propagation, dead code elimination, and
-  ;; inlining, but not across top-level bindings---there should be a way
-  ;; to allow this (TODO).
+  ;; inlining.
+
+  ;; TODO:
+  ;;
+  ;; Propagate copies across toplevel bindings, if we can prove the
+  ;; bindings to be immutable.
   ;;
-  ;; Unlike a full-blown partial evaluator, it does not emit definitions
-  ;; of specialized versions of lambdas encountered on its way.  Also,
-  ;; it's not yet complete: it bails out for `prompt', etc.
+  ;; Specialize lambda expressions with invariant arguments.
 
   (define local-toplevel-env
     ;; The top-level environment of the module being compiled.
@@ -328,30 +361,52 @@ it does not handle <fix> and <let-values>, it should be 
called before
   (define (local-toplevel? name)
     (vhash-assq name local-toplevel-env))
 
+  ;; gensym -> <var>
+  ;; renamed-term -> original-term
+  ;;
   (define store (build-var-table exp))
 
-  (define (assigned-lexical? sym)
+  (define (record-new-temporary! name sym refcount)
+    (set! store (vhash-consq sym (make-var name sym refcount #f) store)))
+
+  (define (lookup-var sym)
     (let ((v (vhash-assq sym store)))
-      (and v (var-set? (cdr v)))))
+      (if v (cdr v) (error "unbound var" sym (vlist->list store)))))
+
+  (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))
+
+  (define (assigned-lexical? sym)
+    (var-set? (lookup-var sym)))
 
   (define (lexical-refcount sym)
-    (let ((v (vhash-assq sym store)))
-      (if v (var-refcount (cdr v)) 0)))
+    (var-refcount (lookup-var sym)))
 
+  ;; ORIG has been alpha-renamed to NEW.  Analyze NEW and record a link
+  ;; from it to ORIG.
+  ;;
   (define (record-source-expression! orig new)
-    (set! store (vhash-consq new
-                             (source-expression orig)
-                             (build-var-table new store)))
+    (set! store (vhash-consq new (source-expression orig) store))
     new)
 
+  ;; Find the source expression corresponding to NEW.  Used to detect
+  ;; recursive inlining attempts.
+  ;;
   (define (source-expression new)
     (let ((x (vhash-assq new store)))
       (if x (cdr x) new)))
 
-  (define residual-lexical-references (make-hash-table))
-
-  (define (record-residual-lexical-reference! sym)
-    (hashq-set! residual-lexical-references sym #t))
+  (define* (residualize-lexical op #:optional ctx val)
+    (log 'residualize op)
+    (set-operand-residualize?! op #t)
+    (if (eq? ctx 'value)
+        (set-operand-residual-value! op val))
+    (make-lexical-ref #f (var-name (operand-var op)) (operand-sym op)))
 
   (define (apply-primitive name args)
     ;; todo: further optimize commutative primitives
@@ -452,7 +507,8 @@ it does not handle <fix> and <let-values>, it should be 
called before
         (($ <const>) #t)
         (($ <lambda>) #t)
         (($ <lambda-case> _ req opt rest kw inits _ body alternate)
-         (and (every loop inits) (loop body) (loop alternate)))
+         (and (every loop inits) (loop body)
+              (or (not alternate) (loop alternate))))
         (($ <lexical-ref> _ _ gensym)
          (not (assigned-lexical? gensym)))
         (($ <primitive-ref>) #t)
@@ -461,6 +517,7 @@ it does not handle <fix> and <let-values>, it should be 
called before
         (($ <primcall> _ name args)
          (and (effect-free-primitive? name)
               (not (constructor-primitive? name))
+              (not (accessor-primitive? name))
               (types-check? name args)
               (every loop args)))
         (($ <call> _ ($ <lambda> _ _ body) args)
@@ -479,29 +536,81 @@ it does not handle <fix> and <let-values>, it should be 
called before
          (and (loop tag) (loop body) (loop handler)))
         (_ #f))))
 
-  (define (prune-bindings names syms vals body for-effect
-                          build-result)
-    (let lp ((names names) (syms syms) (vals vals)
-             (names* '()) (syms* '()) (vals* '())
-             (effects '()))
-      (match (list names syms vals)
-       ((() () ())
-        (let ((body (list->seq #f (append effects (list body)))))
-          (if (null? names*)
+  (define (prune-bindings ops in-order? body counter ctx build-result)
+    ;; This helper handles both `let' and `letrec'/`fix'.  In the latter
+    ;; cases we need to make sure that if referenced binding A needs
+    ;; as-yet-unreferenced binding B, that B is processed for value.
+    ;; Likewise if C, when processed for effect, needs otherwise
+    ;; unreferenced D, then D needs to be processed for value too.
+    ;;
+    (define (referenced? op)
+      ;; When we visit lambdas in operator context, we just copy them,
+      ;; as we will process their body later.  However this does have
+      ;; the problem that any free var referenced by the lambda is not
+      ;; marked as needing residualization.  Here we hack around this
+      ;; and treat all bindings as referenced if we are in operator
+      ;; context.
+      (or (eq? ctx 'operator) (operand-residualize? op)))
+    
+    ;; values := (op ...)
+    ;; effects := (op ...)
+    (define (residualize values effects)
+      ;; Note, values and effects are reversed.
+      (cond
+       (in-order?
+        (let ((values (filter operand-residual-value ops)))
+          (if (null? values)
               body
-              (build-result (reverse names*) (reverse syms*)
-                            (reverse vals*) body))))
-       (((name . names) (sym . syms) (val . vals))
-        (if (hashq-ref residual-lexical-references sym)
-            (lp names syms vals
-                (cons name names*) (cons sym syms*) (cons val vals*)
-                effects)
-            (let ((effect (for-effect val)))
-              (lp names syms vals
-                  names* syms* vals*
-                  (if (void? effect)
-                      effects
-                      (cons effect effects)))))))))
+              (build-result (map (compose var-name operand-var) values)
+                            (map operand-sym values)
+                            (map operand-residual-value values)
+                            body))))
+       (else
+        (let ((body
+               (if (null? effects)
+                   body
+                   (let ((effect-vals (map operand-residual-value effects)))
+                     (list->seq #f (reverse (cons body effect-vals)))))))
+          (if (null? values)
+              body
+              (let ((values (reverse values)))
+                (build-result (map (compose var-name operand-var) values)
+                              (map operand-sym values)
+                              (map operand-residual-value values)
+                              body)))))))
+
+    ;; old := (bool ...)
+    ;; values := (op ...)
+    ;; effects := ((op . value) ...)
+    (let prune ((old (map referenced? ops)) (values '()) (effects '()))
+      (let lp ((ops* ops) (values values) (effects effects))
+        (cond
+         ((null? ops*)
+          (let ((new (map referenced? ops)))
+            (if (not (equal? new old))
+                (prune new values '())
+                (residualize values
+                             (map (lambda (op val)
+                                    (set-operand-residual-value! op val)
+                                    op)
+                                  (map car effects) (map cdr effects))))))
+         (else
+          (let ((op (car ops*)))
+            (cond
+             ((memq op values)
+              (lp (cdr ops*) values effects))
+             ((operand-residual-value op)
+              (lp (cdr ops*) (cons op values) effects))
+             ((referenced? op)
+              (set-operand-residual-value! op (visit-operand op counter 
'value))
+              (lp (cdr ops*) (cons op values) effects))
+             (else
+              (lp (cdr ops*)
+                  values
+                  (let ((effect (visit-operand op counter 'effect)))
+                    (if (void? effect)
+                        effects
+                        (acons op effect effects))))))))))))
   
   (define (small-expression? x limit)
     (let/ec k
@@ -517,27 +626,33 @@ it does not handle <fix> and <let-values>, it should be 
called before
        0 x)
       #t))
   
+  (define (extend-env sym op env)
+    (vhash-consq (operand-sym op) op (vhash-consq sym op env)))
+      
   (let loop ((exp   exp)
-             (env   vlist-null)         ; static environment
+             (env   vlist-null)         ; vhash of gensym -> <operand>
              (counter #f)               ; inlined call stack
-             (ctx 'value))   ; effect, value, test, operator, or operand
+             (ctx 'value))   ; effect, value, test, operator, or call
     (define (lookup var)
-      (and=> (vhash-assq var env) cdr))
-
-    (define (for-value exp)
-      (loop exp env counter 'value))
-    (define (for-operand exp)
-      (loop exp env counter 'operand))
-    (define (for-test exp)
-      (loop exp env counter 'test))
-    (define (for-effect exp)
-      (loop exp env counter 'effect))
-    (define (for-tail exp)
+      (cond 
+       ((vhash-assq var env) => cdr)
+       (else (error "unbound var" var))))
+
+    (define (visit exp ctx)
       (loop exp env counter ctx))
 
+    (define (for-value exp)    (visit exp 'value))
+    (define (for-test exp)     (visit exp 'test))
+    (define (for-effect exp)   (visit exp 'effect))
+    (define (for-call exp)     (visit exp 'call))
+    (define (for-tail exp)     (visit exp ctx))
+
     (if counter
         (record-effort! counter))
 
+    (log 'visit ctx (and=> counter effort-counter)
+         (unparse-tree-il exp))
+
     (match exp
       (($ <const>)
        (case ctx
@@ -548,89 +663,117 @@ it does not handle <fix> and <let-values>, it should be 
called before
          ((test) (make-const #f #t))
          (else exp)))
       (($ <lexical-ref> _ _ gensym)
-       (case ctx
-         ((effect) (make-void #f))
-         (else
-          (let ((val (lookup gensym)))
-            (cond
-             ((or (not val)
-                  (assigned-lexical? gensym)
-                  (not (constant-expression? val)))
-              ;; Don't copy-propagate through assigned variables,
-              ;; and don't reorder effects.
-              (record-residual-lexical-reference! gensym)
-              exp)
-             ((lexical-ref? val)
-              (for-tail val))
-             ((or (const? val)
-                  (void? val)
-                  (primitive-ref? val))
-              ;; Always propagate simple values that cannot lead to
-              ;; code bloat.
-              (for-tail val))
-             ((= 1 (lexical-refcount gensym))
-              ;; Always propagate values referenced only once.
-              ;; There is no need to rename the bindings, as they
-              ;; are only being moved, not copied.  However in
-              ;; operator context we do rename it, as that
-              ;; effectively clears out the residualized-lexical
-              ;; flags that may have been set when this value was
-              ;; visited previously as an operand.
-              (case ctx
-                ((test) (for-test val))
-                ((operator) (record-source-expression! val (alpha-rename val)))
-                (else val)))
-             ;; FIXME: do demand-driven size accounting rather than
-             ;; these heuristics.
-             ((eq? ctx 'operator)
-              ;; A pure expression in the operator position.  Inline
-              ;; if it's a lambda that's small enough.
-              (if (and (lambda? val)
-                       (small-expression? val operator-size-limit))
-                  (record-source-expression! val (alpha-rename val))
-                  (begin
-                    (record-residual-lexical-reference! gensym)
-                    exp)))
-             ((eq? ctx 'operand)
-              ;; A pure expression in the operand position.  Inline
-              ;; if it's small enough.
-              (if (small-expression? val operand-size-limit)
-                  (record-source-expression! val (alpha-rename val))
-                  (begin
-                    (record-residual-lexical-reference! gensym)
-                    exp)))
-             (else
-              ;; A pure expression, processed for value.  Don't
-              ;; inline lambdas, because they will probably won't
-              ;; fold because we don't know the operator.
-              (if (and (small-expression? val value-size-limit)
-                       (not (tree-il-any lambda? val)))
-                  (record-source-expression! val (alpha-rename val))
-                  (begin
-                    (record-residual-lexical-reference! gensym)
-                    exp))))))))
+       (log 'begin-copy gensym)
+       (let ((op (lookup gensym)))
+         (cond
+          ((eq? ctx 'effect)
+           (log 'lexical-for-effect gensym)
+           (make-void #f))
+          ((eq? ctx 'call)
+           ;; Don't propagate copies if we are residualizing a call.
+           (log 'residualize-lexical-call gensym op)
+           (residualize-lexical op))
+          ((var-set? (operand-var op))
+           ;; Assigned lexicals don't copy-propagate.
+           (log 'assigned-var gensym op)
+           (residualize-lexical op))
+          ((not (operand-copyable? op))
+           ;; We already know that this operand is not copyable.
+           (log 'not-copyable gensym op)
+           (residualize-lexical op))
+          ((and=> (operand-constant-value op)
+                  (lambda (x) (or (const? x) (void? x) (primitive-ref? x))))
+           ;; A cache hit.
+           (let ((val (operand-constant-value op)))
+             (log 'memoized-constant gensym val)
+             (for-tail val)))
+          ((visit-operand op counter ctx recursive-effort-limit 
operand-size-limit)
+           =>
+           ;; If we end up deciding to residualize this value instead of
+           ;; copying it, save that residualized value.
+           (lambda (val)
+             (cond
+              ((not (constant-expression? val))
+               (log 'not-constant gensym op)
+               ;; At this point, ctx is operator, test, or value.  A
+               ;; value that is non-constant in one context will be
+               ;; non-constant in the others, so it's safe to record
+               ;; that here, and avoid future visits.
+               (set-operand-copyable?! op #f)
+               (residualize-lexical op ctx val))
+              ((or (const? val)
+                   (void? val)
+                   (primitive-ref? val))
+               ;; Always propagate simple values that cannot lead to
+               ;; code bloat.
+               (log 'copy-simple gensym val)
+               ;; It could be this constant is the result of folding.
+               ;; If that is the case, cache it.  This helps loop
+               ;; unrolling get farther.
+               (if (eq? ctx 'value)
+                   (begin
+                     (log 'memoize-constant gensym val)
+                     (set-operand-constant-value! op val)))
+               val)
+              ((= 1 (var-refcount (operand-var op)))
+               ;; Always propagate values referenced only once.
+               (log 'copy-single gensym val)
+               val)
+              ;; FIXME: do demand-driven size accounting rather than
+              ;; these heuristics.
+              ((eq? ctx 'operator)
+               ;; A pure expression in the operator position.  Inline
+               ;; if it's a lambda that's small enough.
+               (if (and (lambda? val)
+                        (small-expression? val operator-size-limit))
+                   (begin
+                     (log 'copy-operator gensym val)
+                     val)
+                   (begin
+                     (log 'too-big-for-operator gensym val)
+                     (residualize-lexical op ctx val))))
+              (else
+               ;; A pure expression, processed for call or for value.
+               ;; Don't inline lambdas, because they will probably won't
+               ;; fold because we don't know the operator.
+               (if (and (small-expression? val value-size-limit)
+                        (not (tree-il-any lambda? val)))
+                   (begin
+                     (log 'copy-value gensym val)
+                     val)
+                   (begin
+                     (log 'too-big-or-has-lambda gensym val)
+                     (residualize-lexical op ctx val)))))))
+          (else
+           ;; Visit failed.  Either the operand isn't bound, as in
+           ;; lambda formal parameters, or the copy was aborted.
+           (log 'unbound-or-aborted gensym op)
+           (residualize-lexical op)))))
       (($ <lexical-set> src name gensym exp)
-       (if (zero? (lexical-refcount gensym))
-           (let ((exp (for-effect exp)))
-             (if (void? exp)
-                 exp
-                 (make-seq src exp (make-void #f))))
-           (begin
-             (record-residual-lexical-reference! gensym)
-             (make-lexical-set src name gensym (for-value exp)))))
+       (let ((op (lookup gensym)))
+         (if (zero? (var-refcount (operand-var op)))
+             (let ((exp (for-effect exp)))
+               (if (void? exp)
+                   exp
+                   (make-seq src exp (make-void #f))))
+             (begin
+               (set-operand-residualize?! op #t)
+               (make-lexical-set src name (operand-sym op) (for-value exp))))))
       (($ <let> src names gensyms vals body)
-       (let* ((vals (map for-operand vals))
-              (body (loop body
-                      (fold vhash-consq env gensyms vals)
-                      counter
-                      ctx)))
+       (let* ((vars (map lookup-var gensyms))
+              (new (fresh-gensyms vars))
+              (ops (make-bound-operands vars new vals
+                                        (lambda (exp counter ctx)
+                                          (loop exp env counter ctx))))
+              (env (fold extend-env env gensyms ops))
+              (body (loop body env counter ctx)))
          (cond
           ((const? body)
            (for-tail (list->seq src (append vals (list body)))))
           ((and (lexical-ref? body)
-                (memq (lexical-ref-gensym body) gensyms))
+                (memq (lexical-ref-gensym body) new))
            (let ((sym (lexical-ref-gensym body))
-                 (pairs (map cons gensyms vals)))
+                 (pairs (map cons new vals)))
              ;; (let ((x foo) (y bar) ...) x) => (begin bar ... foo)
              (for-tail
               (list->seq
@@ -640,35 +783,39 @@ it does not handle <fix> and <let-values>, it should be 
called before
           (else
            ;; Only include bindings for which lexical references
            ;; have been residualized.
-           (prune-bindings names gensyms vals body for-effect
+           (prune-bindings ops #f body counter ctx
                            (lambda (names gensyms vals body)
                              (if (null? names) (error "what!" names))
                              (make-let src names gensyms vals body)))))))
       (($ <letrec> src in-order? names gensyms vals body)
-       ;; Things could be done more precisely when IN-ORDER? but
-       ;; it's OK not to do it---at worst we lost an optimization
-       ;; opportunity.
-       (let* ((vals (map for-operand vals))
-              (body (loop body
-                      (fold vhash-consq env gensyms vals)
-                      counter
-                      ctx)))
-         (if (and (const? body)
+       ;; Note the difference from the `let' case: here we use letrec*
+       ;; so that the `visit' procedure for the new operands closes over
+       ;; an environment that includes the operands.
+       (letrec* ((visit (lambda (exp counter ctx)
+                          (loop exp env* counter ctx)))
+                 (vars (map lookup-var gensyms))
+                 (new (fresh-gensyms vars))
+                 (ops (make-bound-operands vars new vals visit))
+                 (env* (fold extend-env env gensyms ops))
+                 (body* (visit body counter ctx)))
+         (if (and (const? body*)
                   (every constant-expression? vals))
-             body
-             (prune-bindings names gensyms vals body for-effect
+             body*
+             (prune-bindings ops in-order? body* counter ctx
                              (lambda (names gensyms vals body)
                                (make-letrec src in-order?
                                             names gensyms vals body))))))
       (($ <fix> src names gensyms vals body)
-       (let* ((vals (map for-operand vals))
-              (body (loop body
-                      (fold vhash-consq env gensyms vals)
-                      counter
-                      ctx)))
-         (if (const? body)
-             body
-             (prune-bindings names gensyms vals body for-effect
+       (letrec* ((visit (lambda (exp counter ctx)
+                          (loop exp env* counter ctx)))
+                 (vars (map lookup-var gensyms))
+                 (new (fresh-gensyms vars))
+                 (ops (make-bound-operands vars new vals visit))
+                 (env* (fold extend-env env gensyms ops))
+                 (body* (visit body counter ctx)))
+         (if (const? body*)
+             body*
+             (prune-bindings ops #f body* counter ctx
                              (lambda (names gensyms vals body)
                                (make-fix src names gensyms vals body))))))
       (($ <let-values> lv-src producer consumer)
@@ -697,10 +844,22 @@ it does not handle <fix> and <let-values>, it should be 
called before
       (($ <toplevel-ref> src (? effect-free-primitive? name))
        (if (local-toplevel? name)
            exp
-           (resolve-primitives! exp cenv)))
+           (let ((exp (resolve-primitives! exp cenv)))
+             (if (primitive-ref? exp)
+                 (for-tail exp)
+                 exp))))
       (($ <toplevel-ref>)
        ;; todo: open private local bindings.
        exp)
+      (($ <module-ref> src module (? effect-free-primitive? name) #f)
+       (let ((module (false-if-exception
+                      (resolve-module module #:ensure #f))))
+         (if (module? module)
+             (let ((var (module-variable module name)))
+               (if (eq? var (module-variable the-scm-module name))
+                   (make-primitive-ref src name)
+                   exp))
+             exp)))
       (($ <module-ref>)
        exp)
       (($ <module-set> src mod name public? exp)
@@ -734,43 +893,92 @@ it does not handle <fix> and <let-values>, it should be 
called before
                                   consumer)))
 
       (($ <primcall> src (? constructor-primitive? name) args)
-       (case ctx
-         ((effect test)
-          (let ((res (if (eq? ctx 'effect)
-                         (make-void #f)
-                         (make-const #f #t))))
-            (match (cons name (map for-value args))
-              (('cons x xs)
-               (for-tail (make-seq src (make-seq src x xs) res)))
-              (((or 'list 'vector) . elts)
-               (for-tail (list->seq src (append elts (list res)))))
-              (('make-prompt-tag . (or () (($ <const> _ (? string?)))))
-               res)
-              ((name . args)
-               (make-primcall src name args)))))
-         (else
-          (match (cons name (map for-value args))
-            (('cons x ($ <const> _ ()))
-             (make-primcall src 'list (list x)))
-            (('cons x ($ <primcall> _ 'list elts))
-             (make-primcall src 'list (cons x elts)))
-            ;; FIXME: these for-tail recursions could take
-            ;; place outside an effort counter.
-            (('car ($ <primcall> _ 'cons (x xs)))
-             (for-tail (make-seq src xs x)))
-            (('cdr ($ <primcall> _ 'cons (x xs)))
-             (for-tail (make-seq src x xs)))
-            (('car ($ <primcall> _ 'list (head . rest)))
-             (for-tail (list->seq src (append rest (list head)))))
-            (('cdr ($ <primcall> _ 'list (head . rest)))
-             (for-tail (make-seq src head
-                                 (make-primcall src 'list rest))))
-            (('car ($ <const> _ (head . tail)))
-             (for-tail (make-const src head)))
-            (('cdr ($ <const> _ (head . tail)))
-             (for-tail (make-const src tail)))
-            ((name . args)
-             (make-primcall src name args))))))
+       (cond
+        ((and (memq ctx '(effect test))
+              (match (cons name args)
+                ((or ('cons _ _)
+                     ('list . _)
+                     ('vector . _)
+                     ('make-prompt-tag)
+                     ('make-prompt-tag ($ <const> _ (? string?))))
+                 #t)
+                (_ #f)))
+         ;; Some expressions can be folded without visiting the
+         ;; arguments for value.
+         (let ((res (if (eq? ctx 'effect)
+                        (make-void #f)
+                        (make-const #f #t))))
+           (for-tail (list->seq src (append args (list res))))))
+        (else
+         (match (cons name (map for-value args))
+           (('cons x ($ <const> _ ()))
+            (make-primcall src 'list (list x)))
+           (('cons x ($ <primcall> _ 'list elts))
+            (make-primcall src 'list (cons x elts)))
+           ((name . args)
+            (make-primcall src name args))))))
+
+      (($ <primcall> src (? accessor-primitive? name) args)
+       (match (cons name (map for-value args))
+         ;; FIXME: these for-tail recursions could take place outside
+         ;; an effort counter.
+         (('car ($ <primcall> src 'cons (head tail)))
+          (for-tail (make-seq src tail head)))
+         (('cdr ($ <primcall> src 'cons (head tail)))
+          (for-tail (make-seq src head tail)))
+         (('car ($ <primcall> src 'list (head . tail)))
+          (for-tail (list->seq src (append tail (list head)))))
+         (('cdr ($ <primcall> src 'list (head . tail)))
+          (for-tail (make-seq src head (make-primcall #f 'list tail))))
+                  
+         (('car ($ <const> src (head . tail)))
+          (for-tail (make-const src head)))
+         (('cdr ($ <const> src (head . tail)))
+          (for-tail (make-const src tail)))
+         (((or 'memq 'memv) k ($ <const> _ (elts ...)))
+          ;; FIXME: factor 
+          (case ctx
+            ((effect)
+             (for-tail
+              (make-seq src k (make-void #f))))
+            ((test)
+             (cond
+              ((const? k)
+               ;; A shortcut.  The `else' case would handle it, but
+               ;; this way is faster.
+               (let ((member (case name ((memq) memq) ((memv) memv))))
+                 (make-const #f (and (member (const-exp k) elts) #t))))
+              ((null? elts)
+               (for-tail
+                (make-seq src k (make-const #f #f))))
+              (else
+               (let ((t (gensym "t "))
+                     (eq (if (eq? name 'memq) 'eq? 'eqv?)))
+                 (record-new-temporary! 't t (length elts))
+                 (for-tail
+                  (make-let
+                   src (list 't) (list t) (list k)
+                   (let lp ((elts elts))
+                     (define test
+                       (make-primcall #f eq
+                                      (list (make-lexical-ref #f 't t)
+                                            (make-const #f (car elts)))))
+                     (if (null? (cdr elts))
+                         test
+                         (make-conditional src test
+                                           (make-const #f #t)
+                                           (lp (cdr elts)))))))))))
+            (else
+             (cond
+              ((const? k)
+               (let ((member (case name ((memq) memq) ((memv) memv))))
+                 (make-const #f (member (const-exp k) elts))))
+              ((null? elts)
+               (for-tail (make-seq src k (make-const #f #f))))
+              (else
+               (make-primcall src name (list k (make-const #f elts))))))))
+         ((name . args)
+          (make-primcall src name args))))
 
       (($ <primcall> src (? effect-free-primitive? name) args)
        (let ((args (map for-value args)))
@@ -778,6 +986,7 @@ it does not handle <fix> and <let-values>, it should be 
called before
              (let-values (((success? values)
                            (apply-primitive name
                                             (map const-exp args))))
+               (log 'fold success? values exp)
                (if success?
                    (case ctx
                      ((effect) (make-void #f))
@@ -802,11 +1011,10 @@ it does not handle <fix> and <let-values>, it should be 
called before
 
       (($ <call> src orig-proc orig-args)
        ;; todo: augment the global env with specialized functions
-       (let ((proc (loop orig-proc env counter 'operator)))
+       (let ((proc (visit orig-proc 'operator)))
          (match proc
            (($ <primitive-ref> _ name)
             (for-tail (make-primcall src name orig-args)))
-
            (($ <lambda> _ _
                ($ <lambda-case> _ req opt #f #f inits gensyms body #f))
             ;; Simple case: no rest, no keyword arguments.
@@ -818,12 +1026,28 @@ it does not handle <fix> and <let-values>, it should be 
called before
               (cond
                ((or (< nargs nreq) (> nargs (+ nreq nopt)))
                 ;; An error, or effecting arguments.
-                (make-call src (for-value orig-proc) (map for-value 
orig-args)))
+                (make-call src (for-call orig-proc) (map for-value orig-args)))
                ((or (and=> (find-counter key counter) counter-recursive?)
                     (lambda? orig-proc))
                 ;; A recursive call, or a lambda in the operator
                 ;; position of the source expression.  Process again in
                 ;; tail context.
+                ;;
+                ;; In the recursive case, mark intervening counters as
+                ;; recursive, so we can handle a toplevel counter that
+                ;; recurses mutually with some other procedure.
+                ;; Otherwise, the next time we see the other procedure,
+                ;; the effort limit would be clamped to 100.
+                ;;
+                (let ((found (find-counter key counter)))
+                  (if (and found (counter-recursive? found))
+                      (let lp ((counter counter))
+                        (if (not (eq? counter found))
+                            (begin
+                              (set-counter-recursive?! counter #t)
+                              (lp (counter-prev counter)))))))
+
+                (log 'inline-recurse key)
                 (loop (make-let src (append req (or opt '()))
                                 gensyms
                                 (append orig-args
@@ -835,10 +1059,11 @@ it does not handle <fix> and <let-values>, it should be 
called before
                 ;; recursion of a recursive procedure, or a nested
                 ;; integration of a procedure that hasn't been seen
                 ;; yet.
+                (log 'inline-begin exp)
                 (let/ec k
                   (define (abort)
-                    (k (make-call src
-                                  (for-value orig-proc)
+                    (log 'inline-abort exp)
+                    (k (make-call src (for-call orig-proc)
                                   (map for-value orig-args))))
                   (define new-counter
                     (cond
@@ -872,22 +1097,34 @@ it does not handle <fix> and <let-values>, it should be 
called before
                       ;; into the current counter.
                       (transfer! new-counter counter))
 
+                  (log 'inline-end result exp)
                   result)))))
            (_
-            (make-call src proc (map for-value orig-args))))))
+            (make-call src (for-call orig-proc) (map for-value orig-args))))))
       (($ <lambda> src meta body)
        (case ctx
          ((effect) (make-void #f))
          ((test) (make-const #f #t))
          ((operator) exp)
-         (else
-          (make-lambda src meta (for-value body)))))
+         (else (record-source-expression!
+                exp
+                (make-lambda src meta (for-tail body))))))
       (($ <lambda-case> src req opt rest kw inits gensyms body alt)
-       (make-lambda-case src req opt rest kw
-                         (map for-value inits)
-                         gensyms
-                         (for-tail body)
-                         (and alt (for-tail alt))))
+       (let* ((vars (map lookup-var gensyms))
+              (new (fresh-gensyms vars))
+              (env (fold extend-env env gensyms
+                         (make-unbound-operands vars new)))
+              (new-sym (lambda (old)
+                         (operand-sym (cdr (vhash-assq old env))))))
+         (make-lambda-case src req opt rest
+                           (match kw
+                             ((aok? (kw name old) ...)
+                              (cons aok? (map list kw name (map new-sym old))))
+                             (_ #f))
+                           (map (cut loop <> env counter 'value) inits)
+                           new
+                           (loop body env counter ctx)
+                           (and alt (for-tail alt)))))
       (($ <seq> src head tail)
        (let ((head (for-effect head))
              (tail (for-tail tail)))
@@ -906,7 +1143,8 @@ it does not handle <fix> and <let-values>, it should be 
called before
                 ;; Only fetch definitions with single uses.
                 (= (lexical-refcount (lexical-ref-gensym x)) 1)
                 (lookup (lexical-ref-gensym x)))
-           => singly-used-definition)
+           => (lambda (x)
+                (singly-used-definition (visit-operand x counter 'value 10 
10))))
           (else x)))
        (match (singly-used-definition tag)
          (($ <primcall> _ 'make-prompt-tag (or () ((? constant-expression?))))
diff --git a/module/language/tree-il/primitives.scm 
b/module/language/tree-il/primitives.scm
index ae35306..718ff84 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -28,7 +28,8 @@
   #:export (resolve-primitives! add-interesting-primitive!
             expand-primitives!
             effect-free-primitive? effect+exception-free-primitive?
-            constructor-primitive? singly-valued-primitive?))
+            constructor-primitive? accessor-primitive?
+            singly-valued-primitive?))
 
 (define *interesting-primitive-names* 
   '(apply @apply
@@ -110,7 +111,24 @@
 (define *primitive-constructors*
   ;; Primitives that return a fresh object.
   '(acons cons cons* list vector make-struct make-struct/no-tail
-          car cdr vector-ref struct-ref make-prompt-tag))
+    make-prompt-tag))
+
+(define *primitive-accessors*
+  ;; Primitives that are pure, but whose result depends on the mutable
+  ;; memory pointed to by their operands.
+  '(vector-ref
+    car cdr
+    memq memv
+    struct-vtable struct-ref
+    bytevector-u8-ref bytevector-s8-ref
+    bytevector-u16-ref bytevector-u16-native-ref
+    bytevector-s16-ref bytevector-s16-native-ref
+    bytevector-u32-ref bytevector-u32-native-ref
+    bytevector-s32-ref bytevector-s32-native-ref
+    bytevector-u64-ref bytevector-u64-native-ref
+    bytevector-s64-ref bytevector-s64-native-ref
+    bytevector-ieee-single-ref bytevector-ieee-single-native-ref
+    bytevector-ieee-double-ref bytevector-ieee-double-native-ref))
 
 (define *effect-free-primitives*
   `(values
@@ -118,22 +136,14 @@
     = < > <= >= zero?
     + * - / 1- 1+ quotient remainder modulo
     not
-    pair? null? list? symbol? vector?
+    pair? null? list? symbol? vector? struct?
+    ;; These all should get expanded out by expand-primitives!.
     caar cadr cdar cddr
     caaar caadr cadar caddr cdaar cdadr cddar cdddr
     caaaar caaadr caadar caaddr cadaar cadadr caddar cadddr
     cdaaar cdaadr cdadar cdaddr cddaar cddadr cdddar cddddr
-    struct? struct-vtable
-    bytevector-u8-ref bytevector-s8-ref
-    bytevector-u16-ref bytevector-u16-native-ref
-    bytevector-s16-ref bytevector-s16-native-ref
-    bytevector-u32-ref bytevector-u32-native-ref
-    bytevector-s32-ref bytevector-s32-native-ref
-    bytevector-u64-ref bytevector-u64-native-ref
-    bytevector-s64-ref bytevector-s64-native-ref
-    bytevector-ieee-single-ref bytevector-ieee-single-native-ref
-    bytevector-ieee-double-ref bytevector-ieee-double-native-ref
-    ,@*primitive-constructors*))
+    ,@*primitive-constructors*
+    ,@*primitive-accessors*))
 
 ;; Like *effect-free-primitives* above, but further restricted in that they
 ;; cannot raise exceptions.
@@ -141,9 +151,8 @@
   '(values
     eq? eqv? equal?
     not
-    pair? null? list? symbol? vector? acons cons cons*
-    list vector
-    struct?))
+    pair? null? list? symbol? vector? struct?
+    acons cons cons* list vector))
 
 ;; Primitives that only return one value.
 (define *singly-valued-primitives* 
@@ -207,6 +216,8 @@
 
 (define (constructor-primitive? prim)
   (memq prim *primitive-constructors*))
+(define (accessor-primitive? prim)
+  (memq prim *primitive-accessors*))
 (define (effect-free-primitive? prim)
   (hashq-ref *effect-free-primitive-table* prim))
 (define (effect+exception-free-primitive? prim)
diff --git a/test-suite/standalone/test-conversion.c 
b/test-suite/standalone/test-conversion.c
index 124ae9d..09b74bf 100644
--- a/test-suite/standalone/test-conversion.c
+++ b/test-suite/standalone/test-conversion.c
@@ -1079,6 +1079,37 @@ test_locale_strings ()
 }
 
 static void
+test_is_exact ()
+{
+  if (1 != scm_is_exact (scm_c_eval_string ("3")))
+    {
+      fprintf (stderr, "fail: scm_is_exact (\"3\") = 1\n");
+      exit (EXIT_FAILURE);
+    }
+  if (0 != scm_is_exact (scm_c_eval_string ("3.0")))
+    {
+      fprintf (stderr, "fail: scm_is_exact (\"3.0\") = 0\n");
+      exit (EXIT_FAILURE);
+    }
+}
+
+static void
+test_is_inexact ()
+{
+  if (1 !=scm_is_inexact (scm_c_eval_string ("3.0")))
+    {
+      fprintf (stderr, "fail: scm_is_inexact (\"3.0\") = 1\n");
+      exit (EXIT_FAILURE);
+    }
+  if (0 != scm_is_inexact (scm_c_eval_string ("3")))
+    {
+      fprintf (stderr, "fail: scm_is_inexact (\"3\") = 0\n");
+      exit (EXIT_FAILURE);
+    }
+}
+
+
+static void
 tests (void *data, int argc, char **argv)
 {
   test_is_signed_integer ();
@@ -1091,6 +1122,8 @@ tests (void *data, int argc, char **argv)
   test_from_double ();
   test_to_double ();
   test_locale_strings ();
+  test_is_exact ();
+  test_is_inexact ();
 }
 
 int
diff --git a/test-suite/tests/reader.test b/test-suite/tests/reader.test
index 437706b..60c853c 100644
--- a/test-suite/tests/reader.test
+++ b/test-suite/tests/reader.test
@@ -110,6 +110,14 @@
     (equal? '(a b c)
             (read-string "(a b c #| d #| e |# f |#)")))
 
+  (pass-if "R6RS/SRFI-30 nested block comment (2)"
+    (equal? '(a b c)
+            (read-string "(a b c #|||||||#)")))
+
+  (pass-if "R6RS/SRFI-30 nested block comment (3)"
+    (equal? '(a b c)
+            (read-string "(a b c #||||||||#)")))
+
   (pass-if "R6RS/SRFI-30 block comment syntax overridden"
     ;; To be compatible with 1.8 and earlier, we should be able to override
     ;; this syntax.
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index 9a7f051..1ddd720 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -716,17 +716,16 @@
      (if (zero? i)
          r
          (loop (1- i) (cons (cons i i) r))))
-   (letrec (loop) (_) (_)
-           (let (r) (_)
-                ((primcall list
-                           (primcall cons (const 3) (const 3))))
-                (let (r) (_)
-                     ((primcall cons
-                                (primcall cons (const 2) (const 2))
-                                (lexical r _)))
-                     (primcall cons
-                               (primcall cons (const 1) (const 1))
-                               (lexical r _))))))
+   (let (r) (_)
+        ((primcall list
+                   (primcall cons (const 3) (const 3))))
+        (let (r) (_)
+             ((primcall cons
+                        (primcall cons (const 2) (const 2))
+                        (lexical r _)))
+             (primcall cons
+                       (primcall cons (const 1) (const 1))
+                       (lexical r _)))))
 
   ;; See above.
   (pass-if-peval
@@ -735,23 +734,22 @@
      (if (<= i 0)
          (car r)
          (loop (1- i) (cons i r))))
-   (letrec (loop) (_) (_)
-           (let (r) (_)
-                ((primcall list (const 4)))
-                (let (r) (_)
-                     ((primcall cons
-                                (const 3)
-                                (lexical r _)))
-                     (let (r) (_)
-                          ((primcall cons
-                                     (const 2)
-                                     (lexical r _)))
-                          (let (r) (_)
-                               ((primcall cons
-                                          (const 1)
-                                          (lexical r _)))
-                               (primcall car
-                                         (lexical r _))))))))
+   (let (r) (_)
+        ((primcall list (const 4)))
+        (let (r) (_)
+             ((primcall cons
+                        (const 3)
+                        (lexical r _)))
+             (let (r) (_)
+                  ((primcall cons
+                             (const 2)
+                             (lexical r _)))
+                  (let (r) (_)
+                       ((primcall cons
+                                  (const 1)
+                                  (lexical r _)))
+                       (primcall car
+                                 (lexical r _)))))))
 
    ;; Static sums.
   (pass-if-peval
@@ -762,6 +760,18 @@
    (const 10))
 
   (pass-if-peval
+    ;; Primitives in module-refs are resolved (the expansion of `pmatch'
+    ;; below leads to calls to (@@ (system base pmatch) car) and
+    ;; similar, which is what we want to be inlined.)
+    (begin
+      (use-modules (system base pmatch))
+      (pmatch '(a b c d)
+        ((a b . _)
+         #t)))
+    (seq (call . _)
+         (const #t)))
+
+  (pass-if-peval
    ;; Mutability preserved.
    ((lambda (x y z) (list x y z)) 1 2 3)
    (primcall list (const 1) (const 2) (const 3)))
@@ -1037,15 +1047,69 @@
       (_ #f)))
 
   (pass-if-peval
+   ;; Unused letrec bindings are pruned.
+   (letrec ((a (lambda () (b)))
+            (b (lambda () (a)))
+            (c (lambda (x) x)))
+     (c 10))
+   (const 10))
+
+  (pass-if-peval
+   ;; Unused letrec bindings are pruned.
+   (letrec ((a (foo!))
+            (b (lambda () (a)))
+            (c (lambda (x) x)))
+     (c 10))
+   (seq (call (toplevel foo!))
+        (const 10)))
+
+  (pass-if-peval
     ;; Higher order, mutually recursive procedures.
     (letrec ((even? (lambda (x)
                       (or (= 0 x)
                           (odd? (- x 1)))))
              (odd?  (lambda (x)
-                      (not (even? (- x 1))))))
+                      (not (even? x)))))
       (and (even? 4) (odd? 7)))
     (const #t))
 
+  (pass-if-peval
+    ;; Memv with constants.
+    (memv 1 '(3 2 1))
+    (const '(1)))
+
+  (pass-if-peval
+    ;; Memv with non-constant list.  It could fold but doesn't
+    ;; currently.
+    (memv 1 (list 3 2 1))
+    (primcall memv
+              (const 1)
+              (primcall list (const 3) (const 2) (const 1))))
+
+  (pass-if-peval
+    ;; Memv with non-constant key, constant list, test context
+    (case foo
+      ((3 2 1) 'a)
+      (else 'b))
+    (if (let (t) (_) ((toplevel foo))
+             (if (primcall eqv? (lexical t _) (const 3))
+                 (const #t)
+                 (if (primcall eqv? (lexical t _) (const 2))
+                     (const #t)
+                     (primcall eqv? (lexical t _) (const 1)))))
+        (const a)
+        (const b)))
+
+  (pass-if-peval
+    ;; Memv with non-constant key, empty list, test context.  Currently
+    ;; doesn't fold entirely.
+    (case foo
+      (() 'a)
+      (else 'b))
+    (if (seq (toplevel foo) (const #f))
+        (const a)
+        (const b)))
+
   ;;
   ;; Below are cases where constant propagation should bail out.
   ;;
@@ -1190,8 +1254,7 @@
             (loop x (1- y))
             (foo x y))))
     (let (x) (_) ((call (toplevel top)))
-         (letrec (loop) (_) (_)
-                 (call (toplevel foo) (lexical x _) (const 0)))))
+         (call (toplevel foo) (lexical x _) (const 0))))
 
   (pass-if-peval
     ;; Inlining aborted when residual code contains recursive calls.
@@ -1220,6 +1283,94 @@
     (letrec _ . _))
 
   (pass-if-peval
+    ;; Infinite recursion: all the arguments to `loop' are static, but
+    ;; unrolling it would lead `peval' to enter an infinite loop.
+    (let loop ((x 0))
+      (and (< x top)
+           (loop (1+ x))))
+    (letrec (loop) (_) ((lambda . _))
+            (call (lexical loop _) (const 0))))
+
+  (pass-if-peval
+    ;; This test checks that the `start' binding is indeed residualized.
+    ;; See the `referenced?' procedure in peval's `prune-bindings'.
+    (let ((pos 0))
+      (set! pos 1) ;; Cause references to `pos' to residualize.
+      (let ((here (let ((start pos)) (lambda () start))))
+        (here)))
+    (let (pos) (_) ((const 0))
+         (seq
+           (set! (lexical pos _) (const 1))
+           (let (here) (_) (_)
+                (call (lexical here _))))))
+  
+  (pass-if-peval
+   ;; FIXME: should this one residualize the binding?
+   (letrec ((a a))
+     1)
+   (const 1))
+
+  (pass-if-peval
+   ;; This is a fun one for peval to handle.
+   (letrec ((a a))
+     a)
+   (letrec (a) (_) ((lexical a _))
+           (lexical a _)))
+
+  (pass-if-peval
+   ;; Another interesting recursive case.
+   (letrec ((a b) (b a))
+     a)
+   (letrec (a) (_) ((lexical a _))
+           (lexical a _)))
+
+  (pass-if-peval
+   ;; Another pruning case, that `a' is residualized.
+   (letrec ((a (lambda () (a)))
+            (b (lambda () (a)))
+            (c (lambda (x) x)))
+     (let ((d (foo b)))
+       (c d)))
+
+   ;; "b c a" is the current order that we get with unordered letrec,
+   ;; but it's not important to this test, so if it changes, just adapt
+   ;; the test.
+   (letrec (b c a) (_ _ _)
+     ((lambda _
+        (lambda-case
+         ((() #f #f #f () ())
+          (call (lexical a _)))))
+      (lambda _
+        (lambda-case
+         (((x) #f #f #f () (_))
+          (lexical x _))))
+      (lambda _
+        (lambda-case
+         ((() #f #f #f () ())
+          (call (lexical a _))))))
+     (let (d)
+       (_)
+       ((call (toplevel foo) (lexical b _)))
+       (call (lexical c _) (lexical d _)))))
+
+  (pass-if-peval
+   ;; In this case, we can prune the bindings.  `a' ends up being copied
+   ;; because it is only referenced once in the source program.  Oh
+   ;; well.
+   (letrec* ((a (lambda (x) (top x)))
+             (b (lambda () a)))
+     (foo (b) (b)))
+   (call (toplevel foo)
+         (lambda _
+           (lambda-case
+            (((x) #f #f #f () (_))
+             (call (toplevel top) (lexical x _)))))
+         (lambda _
+           (lambda-case
+            (((x) #f #f #f () (_))
+             (call (toplevel top) (lexical x _)))))))
+  
+  (pass-if-peval
     ;; Constant folding: cons
    (begin (cons 1 2) #f)
    (const #f))


hooks/post-receive
-- 
GNU Guile



reply via email to

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