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-102-g0f9f51a


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-102-g0f9f51a
Date: Mon, 07 Nov 2011 10:58:55 +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=0f9f51a153db3e669a12c416c4958d71bd3c2a8b

The branch, master has been updated
       via  0f9f51a153db3e669a12c416c4958d71bd3c2a8b (commit)
       via  adf91e1cc5587a62fa77b07d512a5d673492446f (commit)
       via  de41e56492666801078e73860a358e1c63cbc8c2 (commit)
       via  49689a3f2d60a4e72f14ad85df382de33dadc285 (commit)
       via  ab2d0f8f0c3a5b6ca1648ccb36b7309eb3bd65d3 (commit)
       via  47e9919d22ef0d942a9deb8a2e9a6928bd057c6b (commit)
       via  1ce645567d40537eb3603215c6b569033eb55d01 (commit)
       via  19ef14f9b8b73c04acbbfa6bd993908171bc69f7 (commit)
       via  5b36d6034b015e540285770aaf920b92852fa705 (commit)
       via  ea3ca4e4d07d2bf7a491a5f2bc26297660e982f8 (commit)
       via  c2d822de199b55c2b10d855265aeaac723282dcb (commit)
       via  c070de6345fd03591e5f06961580b119de22b389 (commit)
       via  45f584674ad9c29d6bc63f83cc3b05e7c81f1357 (commit)
       via  f698b7286f08fa23e7f71b072c5104a64c21947e (commit)
       via  ef9ffe5efd341af085e9dcd5a00288a6d33e99f7 (commit)
       via  14b208185cfe8811ac46f11bc69ec62eecdcb623 (commit)
       via  58e68be4bb41ccbcd25a249ca872f99acf8065d5 (commit)
      from  148dfc2409786996834f6ee1d0fdda563db182c0 (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 0f9f51a153db3e669a12c416c4958d71bd3c2a8b
Author: Andy Wingo <address@hidden>
Date:   Mon Nov 7 11:48:30 2011 +0100

    regenerate psyntax-pp
    
    * module/ice-9/psyntax-pp.scm: Regenerate.

commit adf91e1cc5587a62fa77b07d512a5d673492446f
Author: Andy Wingo <address@hidden>
Date:   Mon Nov 7 11:47:26 2011 +0100

    add tests for hygienic name introduction
    
    * test-suite/tests/syntax.test ("top-level define"): Add tests for
      hygienic introduction of names.

commit de41e56492666801078e73860a358e1c63cbc8c2
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 19:34:22 2011 +0100

    hygienically rename macro-introduced bindings, reproducibly
    
    * module/ice-9/psyntax.scm (chi-top-sequence): Detect bindings to
      identifiers introduced by macros.  In that case, in order to preserve
      hygiene, uniquify the variable's name, but in a way that is
      reproduceable (i.e., yields the same uniquified name after a
      recompile).

commit 49689a3f2d60a4e72f14ad85df382de33dadc285
Author: Andy Wingo <address@hidden>
Date:   Mon Nov 7 10:22:26 2011 +0100

    fix scope bug in <module> definition in boot-9
    
    * module/ice-9/boot-9.scm (define-record-type): Fix scope bug when
      generating identifiers.

commit ab2d0f8f0c3a5b6ca1648ccb36b7309eb3bd65d3
Author: Andy Wingo <address@hidden>
Date:   Mon Nov 7 11:44:54 2011 +0100

    another scoping test
    
    * test-suite/tests/syntax.test ("top-level define"): Add another test
      for scoping.

commit 47e9919d22ef0d942a9deb8a2e9a6928bd057c6b
Author: Andy Wingo <address@hidden>
Date:   Mon Nov 7 09:55:57 2011 +0100

    resolve-identifier for toplevel definitions resolves by module
    
    * module/ice-9/psyntax.scm (id-var-name): For mapping identifiers to
      toplevel definitions, also compare against the module.
      (resolve-identifier): Pass the module to id-var-name when looking up
      identifiers.
      (free-id=?): Adapt to id-var-name change.
      (chi-top-sequence): When adding a mapping from the given identifier
      to a toplevel definition, make the name be a pair.

commit 1ce645567d40537eb3603215c6b569033eb55d01
Author: Andy Wingo <address@hidden>
Date:   Mon Nov 7 11:41:00 2011 +0100

    add scoping test
    
    * test-suite/tests/syntax.test ("top-level define"): Add a test for
      module scoping of introduced identifiers.

commit 19ef14f9b8b73c04acbbfa6bd993908171bc69f7
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 19:37:04 2011 +0100

    defined identifiers scoped in the current module
    
    * ice-9/psyntax.scm (chi-top-sequence): Wrap defined identifiers with
      the current module.  Fixes http://savannah.gnu.org/bugs/?31472.

commit 5b36d6034b015e540285770aaf920b92852fa705
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 5 15:36:02 2011 +0100

    syntax parameters implemented properly
    
    * module/ice-9/psyntax.scm (resolve-identifier): Take an additional
      argument, indicating whether syntax parameters should be resolved or
      not.  Just return three values: the binding type and value, and the
      module for resolving toplevels.
      (chi-install-global): Take an extra arg, the type.  If we are defining
      a syntax parameter, construct a pair for the binding.
      (chi-body): Syntax parameters now use a per-parameter unique value (a
      pair) as a key in the expansion-time environment `r'.
      (syntax-parameterize): Don't allow parameterization of
      non-parameters.  This is an incompatible change, but it is for the
      better; you don't want to allow users to parameterize `lambda', after
      all.

commit ea3ca4e4d07d2bf7a491a5f2bc26297660e982f8
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 5 13:53:33 2011 +0100

    syntax-parameterize, not fluid-let-syntax
    
    * module/ice-9/psyntax.scm (syntax-parameterize): Rename from
      fluid-let-syntax.
    
    * module/ice-9/boot-9.scm (define-inlinable): Use syntax-parameterize
      (and define-syntax-parameter).

commit c2d822de199b55c2b10d855265aeaac723282dcb
Author: Andy Wingo <address@hidden>
Date:   Sat Nov 5 12:40:58 2011 +0100

    add define-syntax-parameter, same as define-syntax
    
    * module/ice-9/psyntax.scm (define-syntax-parameter): New toplevel form.
      Will be used to implement syntax parameters, following Barzilay,
      Culpepper, and Flatt's 2011 SFP workshop paper, "Keeping it Clean with
      syntax-parameterize".  Adds a new binding type and definition form.

commit c070de6345fd03591e5f06961580b119de22b389
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 18:50:38 2011 +0100

    psyntax: resolve-identifier refactor
    
    * module/ice-9/psyntax.scm (id-var-name): Add a nice long comment.
      (lookup): Remove, as it is no longer used.
      (resolve-identifier): New helper, replaces most uses of id-var-name
      then `lookup'.
      (syntax-type, syntax, set!, fluid-let-syntax): Adapt to use
      resolve-identifier.
      (free-id=?): Adapt to id-var-name returning syntax objects.

commit 45f584674ad9c29d6bc63f83cc3b05e7c81f1357
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 13:47:24 2011 +0100

    chi-top-sequence refactor
    
    * module/ice-9/psyntax.scm (chi-top-sequence): Reimplement, more like
      chi-body.  Instead of adding empty definitions to the toplevel, add
      toplevel definitions to the wrap shared by all forms in the sequence.

commit f698b7286f08fa23e7f71b072c5104a64c21947e
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 13:44:41 2011 +0100

    minor psyntax refactors
    
    * module/ice-9/psyntax.scm (syntax-type): Remove redundant lexical
      case.
      (syntax-rules, define-syntax-rule): Use `_' instead of `dummy' for the
      keyword.
    
    * module/ice-9/boot-9.scm (define-syntax-rule): Remove redundant
      definition.

commit ef9ffe5efd341af085e9dcd5a00288a6d33e99f7
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 13:38:28 2011 +0100

    peval doesn't resolve primitives
    
    * module/language/tree-il/peval.scm (peval): Don't resolve primitives,
      as resolve-primitives! handles that already.
    
    * test-suite/tests/tree-il.test (pass-if-peval): Always resolve and
      expand primitives.
      ("partial evaluation"): Update tests to assume expanded primitives.

commit 14b208185cfe8811ac46f11bc69ec62eecdcb623
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 13:37:58 2011 +0100

    resolve-primitives! does not primitivize local definitions
    
    * module/language/tree-il/primitives.scm (resolve-primitives!): Don't
      resolve toplevels defined in the same compilation unit to primitives,
      as it could be that the module doesn't have those bindings yet.

commit 58e68be4bb41ccbcd25a249ca872f99acf8065d5
Author: Andy Wingo <address@hidden>
Date:   Fri Nov 4 13:35:19 2011 +0100

    more robust scm_exit_status
    
    * libguile/throw.c (scm_exit_status): In one of my bogus patches, I
      managed to make #<unspecified> reach this function, causing a segfault
      on SCM_CAR.  Refactor to be more robust.

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

Summary of changes:
 libguile/throw.c                       |   10 +-
 module/ice-9/boot-9.scm                |   22 +-
 module/ice-9/psyntax-pp.scm            |20055 +++++++++++++++++---------------
 module/ice-9/psyntax.scm               | 1031 +-
 module/language/tree-il/peval.scm      |    7 +-
 module/language/tree-il/primitives.scm |   17 +-
 test-suite/tests/syntax.test           |   68 +-
 test-suite/tests/tree-il.test          |   75 +-
 8 files changed, 11482 insertions(+), 9803 deletions(-)

diff --git a/libguile/throw.c b/libguile/throw.c
index 4b3c75e..e3b5afa 100644
--- a/libguile/throw.c
+++ b/libguile/throw.c
@@ -322,7 +322,7 @@ scm_handle_by_proc_catching_all (void *handler_data, SCM 
tag, SCM throw_args)
 int
 scm_exit_status (SCM args)
 {
-  if (!SCM_NULL_OR_NIL_P (args))
+  if (scm_is_pair (args))
     {
       SCM cqa = SCM_CAR (args);
       
@@ -330,8 +330,14 @@ scm_exit_status (SCM args)
        return (scm_to_int (cqa));
       else if (scm_is_false (cqa))
        return EXIT_FAILURE;
+      else
+        return EXIT_SUCCESS;
     }
-  return EXIT_SUCCESS;
+  else if (scm_is_null (args))
+    return EXIT_SUCCESS;
+  else
+    /* A type error.  Strictly speaking we shouldn't get here.  */
+    return EXIT_FAILURE;
 }
        
 
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index b2e1271..84d8dd1 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -410,20 +410,6 @@ If there is no handler at all, Guile prints an error and 
then exits."
 ;; The binding for `macroexpand' has now been overridden, making psyntax the
 ;; expander now.
 
-(define-syntax define-syntax-rule
-  (lambda (x)
-    (syntax-case x ()
-      ((_ (name . pattern) template)
-       #'(define-syntax name
-           (syntax-rules ()
-             ((_ . pattern) template))))
-      ((_ (name . pattern) docstring template)
-       (string? (syntax->datum #'docstring))
-       #'(define-syntax name
-           (syntax-rules ()
-             docstring
-             ((_ . pattern) template)))))))
-
 (define-syntax and
   (syntax-rules ()
     ((_) #t)
@@ -1590,7 +1576,7 @@ VALUE."
     ((define-record-type
        (lambda (x)
          (define (make-id scope . fragments)
-           (datum->syntax #'scope
+           (datum->syntax scope
                           (apply symbol-append
                                  (map (lambda (x)
                                         (if (symbol? x) x (syntax->datum x)))
@@ -3677,13 +3663,13 @@ module '(ice-9 q) '(make-q q-length))}."
                      ((args ...) (generate-temporaries #'(formals ...))))
          #`(begin
              (define (proc-name formals ...)
-               (fluid-let-syntax ((name (identifier-syntax proc-name)))
+               (syntax-parameterize ((name (identifier-syntax proc-name)))
                  body ...))
-             (define-syntax name
+             (define-syntax-parameter name
                (lambda (x)
                  (syntax-case x ()
                    ((_ args ...)
-                    #'((fluid-let-syntax ((name (identifier-syntax proc-name)))
+                    #'((syntax-parameterize ((name (identifier-syntax 
proc-name)))
                          (lambda (formals ...)
                            body ...))
                        args ...))
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index b6f8269..d563bbf 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -2,1947 +2,2060 @@
 (if #f #f)
 
 (letrec*
-  ((#{top-level-eval-hook 4300}#
-     (lambda (#{x 36829}# #{mod 36830}#)
-       (primitive-eval #{x 36829}#)))
-   (#{maybe-name-value! 4305}#
-     (lambda (#{name 19449}# #{val 19450}#)
-       (if (if (struct? #{val 19450}#)
-             (eq? (struct-vtable #{val 19450}#)
+  ((#{top-level-eval-hook 4373}#
+     (lambda (#{x 35449}# #{mod 35450}#)
+       (primitive-eval #{x 35449}#)))
+   (#{maybe-name-value! 4378}#
+     (lambda (#{name 18994}# #{val 18995}#)
+       (if (if (struct? #{val 18995}#)
+             (eq? (struct-vtable #{val 18995}#)
                   (vector-ref %expanded-vtables 14))
              #f)
-         (let ((#{meta 19457}# (struct-ref #{val 19450}# 1)))
-           (if (not (assq 'name #{meta 19457}#))
-             (let ((#{v 19462}#
-                     (cons (cons 'name #{name 19449}#) #{meta 19457}#)))
-               (struct-set! #{val 19450}# 1 #{v 19462}#)))))))
-   (#{build-call 4307}#
-     (lambda (#{source 19194}#
-              #{fun-exp 19195}#
-              #{arg-exps 19196}#)
+         (let ((#{meta 19002}# (struct-ref #{val 18995}# 1)))
+           (if (not (assq 'name #{meta 19002}#))
+             (let ((#{v 19007}#
+                     (cons (cons 'name #{name 18994}#) #{meta 19002}#)))
+               (struct-set! #{val 18995}# 1 #{v 19007}#)))))))
+   (#{build-call 4380}#
+     (lambda (#{source 18739}#
+              #{fun-exp 18740}#
+              #{arg-exps 18741}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 11)
-         #{source 19194}#
-         #{fun-exp 19195}#
-         #{arg-exps 19196}#)))
-   (#{build-conditional 4308}#
-     (lambda (#{source 19202}#
-              #{test-exp 19203}#
-              #{then-exp 19204}#
-              #{else-exp 19205}#)
+         #{source 18739}#
+         #{fun-exp 18740}#
+         #{arg-exps 18741}#)))
+   (#{build-conditional 4381}#
+     (lambda (#{source 18747}#
+              #{test-exp 18748}#
+              #{then-exp 18749}#
+              #{else-exp 18750}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 10)
-         #{source 19202}#
-         #{test-exp 19203}#
-         #{then-exp 19204}#
-         #{else-exp 19205}#)))
-   (#{build-dynlet 4309}#
-     (lambda (#{source 19212}#
-              #{fluids 19213}#
-              #{vals 19214}#
-              #{body 19215}#)
+         #{source 18747}#
+         #{test-exp 18748}#
+         #{then-exp 18749}#
+         #{else-exp 18750}#)))
+   (#{build-dynlet 4382}#
+     (lambda (#{source 18757}#
+              #{fluids 18758}#
+              #{vals 18759}#
+              #{body 18760}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 18)
-         #{source 19212}#
-         #{fluids 19213}#
-         #{vals 19214}#
-         #{body 19215}#)))
-   (#{build-lexical-reference 4310}#
-     (lambda (#{type 36831}#
-              #{source 36832}#
-              #{name 36833}#
-              #{var 36834}#)
+         #{source 18757}#
+         #{fluids 18758}#
+         #{vals 18759}#
+         #{body 18760}#)))
+   (#{build-lexical-reference 4383}#
+     (lambda (#{type 35451}#
+              #{source 35452}#
+              #{name 35453}#
+              #{var 35454}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 3)
-         #{source 36832}#
-         #{name 36833}#
-         #{var 36834}#)))
-   (#{build-lexical-assignment 4311}#
-     (lambda (#{source 19222}#
-              #{name 19223}#
-              #{var 19224}#
-              #{exp 19225}#)
+         #{source 35452}#
+         #{name 35453}#
+         #{var 35454}#)))
+   (#{build-lexical-assignment 4384}#
+     (lambda (#{source 18767}#
+              #{name 18768}#
+              #{var 18769}#
+              #{exp 18770}#)
        (begin
-         (if (if (struct? #{exp 19225}#)
-               (eq? (struct-vtable #{exp 19225}#)
+         (if (if (struct? #{exp 18770}#)
+               (eq? (struct-vtable #{exp 18770}#)
                     (vector-ref %expanded-vtables 14))
                #f)
-           (let ((#{meta 19241}# (struct-ref #{exp 19225}# 1)))
-             (if (not (assq 'name #{meta 19241}#))
-               (let ((#{v 19248}#
-                       (cons (cons 'name #{name 19223}#) #{meta 19241}#)))
-                 (struct-set! #{exp 19225}# 1 #{v 19248}#)))))
+           (let ((#{meta 18786}# (struct-ref #{exp 18770}# 1)))
+             (if (not (assq 'name #{meta 18786}#))
+               (let ((#{v 18793}#
+                       (cons (cons 'name #{name 18768}#) #{meta 18786}#)))
+                 (struct-set! #{exp 18770}# 1 #{v 18793}#)))))
          (make-struct/no-tail
            (vector-ref %expanded-vtables 4)
-           #{source 19222}#
-           #{name 19223}#
-           #{var 19224}#
-           #{exp 19225}#))))
-   (#{analyze-variable 4312}#
-     (lambda (#{mod 36840}#
-              #{var 36841}#
-              #{modref-cont 36842}#
-              #{bare-cont 36843}#)
-       (if (not #{mod 36840}#)
-         (#{bare-cont 36843}# #{var 36841}#)
-         (let ((#{kind 36844}# (car #{mod 36840}#))
-               (#{mod 36845}# (cdr #{mod 36840}#)))
-           (if (eqv? #{kind 36844}# 'public)
-             (#{modref-cont 36842}#
-               #{mod 36845}#
-               #{var 36841}#
+           #{source 18767}#
+           #{name 18768}#
+           #{var 18769}#
+           #{exp 18770}#))))
+   (#{analyze-variable 4385}#
+     (lambda (#{mod 35460}#
+              #{var 35461}#
+              #{modref-cont 35462}#
+              #{bare-cont 35463}#)
+       (if (not #{mod 35460}#)
+         (#{bare-cont 35463}# #{var 35461}#)
+         (let ((#{kind 35464}# (car #{mod 35460}#))
+               (#{mod 35465}# (cdr #{mod 35460}#)))
+           (if (eqv? #{kind 35464}# 'public)
+             (#{modref-cont 35462}#
+               #{mod 35465}#
+               #{var 35461}#
                #t)
-             (if (eqv? #{kind 36844}# 'private)
+             (if (eqv? #{kind 35464}# 'private)
                (if (not (equal?
-                          #{mod 36845}#
+                          #{mod 35465}#
                           (module-name (current-module))))
-                 (#{modref-cont 36842}#
-                   #{mod 36845}#
-                   #{var 36841}#
+                 (#{modref-cont 35462}#
+                   #{mod 35465}#
+                   #{var 35461}#
                    #f)
-                 (#{bare-cont 36843}# #{var 36841}#))
-               (if (eqv? #{kind 36844}# 'bare)
-                 (#{bare-cont 36843}# #{var 36841}#)
-                 (if (eqv? #{kind 36844}# 'hygiene)
+                 (#{bare-cont 35463}# #{var 35461}#))
+               (if (eqv? #{kind 35464}# 'bare)
+                 (#{bare-cont 35463}# #{var 35461}#)
+                 (if (eqv? #{kind 35464}# 'hygiene)
                    (if (if (not (equal?
-                                  #{mod 36845}#
+                                  #{mod 35465}#
                                   (module-name (current-module))))
                          (module-variable
-                           (resolve-module #{mod 36845}#)
-                           #{var 36841}#)
+                           (resolve-module #{mod 35465}#)
+                           #{var 35461}#)
                          #f)
-                     (#{modref-cont 36842}#
-                       #{mod 36845}#
-                       #{var 36841}#
+                     (#{modref-cont 35462}#
+                       #{mod 35465}#
+                       #{var 35461}#
                        #f)
-                     (#{bare-cont 36843}# #{var 36841}#))
+                     (#{bare-cont 35463}# #{var 35461}#))
                    (syntax-violation
                      #f
                      "bad module kind"
-                     #{var 36841}#
-                     #{mod 36845}#)))))))))
-   (#{build-global-reference 4313}#
-     (lambda (#{source 36860}# #{var 36861}# #{mod 36862}#)
-       (#{analyze-variable 4312}#
-         #{mod 36862}#
-         #{var 36861}#
-         (lambda (#{mod 36865}# #{var 36866}# #{public? 36867}#)
+                     #{var 35461}#
+                     #{mod 35465}#)))))))))
+   (#{build-global-reference 4386}#
+     (lambda (#{source 35480}# #{var 35481}# #{mod 35482}#)
+       (#{analyze-variable 4385}#
+         #{mod 35482}#
+         #{var 35481}#
+         (lambda (#{mod 35485}# #{var 35486}# #{public? 35487}#)
            (make-struct/no-tail
              (vector-ref %expanded-vtables 5)
-             #{source 36860}#
-             #{mod 36865}#
-             #{var 36866}#
-             #{public? 36867}#))
-         (lambda (#{var 36874}#)
+             #{source 35480}#
+             #{mod 35485}#
+             #{var 35486}#
+             #{public? 35487}#))
+         (lambda (#{var 35494}#)
            (make-struct/no-tail
              (vector-ref %expanded-vtables 7)
-             #{source 36860}#
-             #{var 36874}#)))))
-   (#{build-global-assignment 4314}#
-     (lambda (#{source 19257}#
-              #{var 19258}#
-              #{exp 19259}#
-              #{mod 19260}#)
+             #{source 35480}#
+             #{var 35494}#)))))
+   (#{build-global-assignment 4387}#
+     (lambda (#{source 18802}#
+              #{var 18803}#
+              #{exp 18804}#
+              #{mod 18805}#)
        (begin
-         (if (if (struct? #{exp 19259}#)
-               (eq? (struct-vtable #{exp 19259}#)
+         (if (if (struct? #{exp 18804}#)
+               (eq? (struct-vtable #{exp 18804}#)
                     (vector-ref %expanded-vtables 14))
                #f)
-           (let ((#{meta 19276}# (struct-ref #{exp 19259}# 1)))
-             (if (not (assq 'name #{meta 19276}#))
-               (let ((#{v 19283}#
-                       (cons (cons 'name #{var 19258}#) #{meta 19276}#)))
-                 (struct-set! #{exp 19259}# 1 #{v 19283}#)))))
-         (#{analyze-variable 4312}#
-           #{mod 19260}#
-           #{var 19258}#
-           (lambda (#{mod 19288}# #{var 19289}# #{public? 19290}#)
+           (let ((#{meta 18821}# (struct-ref #{exp 18804}# 1)))
+             (if (not (assq 'name #{meta 18821}#))
+               (let ((#{v 18828}#
+                       (cons (cons 'name #{var 18803}#) #{meta 18821}#)))
+                 (struct-set! #{exp 18804}# 1 #{v 18828}#)))))
+         (#{analyze-variable 4385}#
+           #{mod 18805}#
+           #{var 18803}#
+           (lambda (#{mod 18833}# #{var 18834}# #{public? 18835}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 6)
-               #{source 19257}#
-               #{mod 19288}#
-               #{var 19289}#
-               #{public? 19290}#
-               #{exp 19259}#))
-           (lambda (#{var 19298}#)
+               #{source 18802}#
+               #{mod 18833}#
+               #{var 18834}#
+               #{public? 18835}#
+               #{exp 18804}#))
+           (lambda (#{var 18843}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 8)
-               #{source 19257}#
-               #{var 19298}#
-               #{exp 19259}#))))))
-   (#{build-global-definition 4315}#
-     (lambda (#{source 36879}# #{var 36880}# #{exp 36881}#)
+               #{source 18802}#
+               #{var 18843}#
+               #{exp 18804}#))))))
+   (#{build-global-definition 4388}#
+     (lambda (#{source 35499}# #{var 35500}# #{exp 35501}#)
        (begin
-         (if (if (struct? #{exp 36881}#)
-               (eq? (struct-vtable #{exp 36881}#)
+         (if (if (struct? #{exp 35501}#)
+               (eq? (struct-vtable #{exp 35501}#)
                     (vector-ref %expanded-vtables 14))
                #f)
-           (let ((#{meta 36897}# (struct-ref #{exp 36881}# 1)))
-             (if (not (assq 'name #{meta 36897}#))
-               (let ((#{v 36904}#
-                       (cons (cons 'name #{var 36880}#) #{meta 36897}#)))
-                 (struct-set! #{exp 36881}# 1 #{v 36904}#)))))
+           (let ((#{meta 35517}# (struct-ref #{exp 35501}# 1)))
+             (if (not (assq 'name #{meta 35517}#))
+               (let ((#{v 35524}#
+                       (cons (cons 'name #{var 35500}#) #{meta 35517}#)))
+                 (struct-set! #{exp 35501}# 1 #{v 35524}#)))))
          (make-struct/no-tail
            (vector-ref %expanded-vtables 9)
-           #{source 36879}#
-           #{var 36880}#
-           #{exp 36881}#))))
-   (#{build-simple-lambda 4316}#
-     (lambda (#{src 19304}#
-              #{req 19305}#
-              #{rest 19306}#
-              #{vars 19307}#
-              #{meta 19308}#
-              #{exp 19309}#)
-       (let ((#{body 19315}#
+           #{source 35499}#
+           #{var 35500}#
+           #{exp 35501}#))))
+   (#{build-simple-lambda 4389}#
+     (lambda (#{src 18849}#
+              #{req 18850}#
+              #{rest 18851}#
+              #{vars 18852}#
+              #{meta 18853}#
+              #{exp 18854}#)
+       (let ((#{body 18860}#
                (make-struct/no-tail
                  (vector-ref %expanded-vtables 15)
-                 #{src 19304}#
-                 #{req 19305}#
+                 #{src 18849}#
+                 #{req 18850}#
                  #f
-                 #{rest 19306}#
+                 #{rest 18851}#
                  #f
                  '()
-                 #{vars 19307}#
-                 #{exp 19309}#
+                 #{vars 18852}#
+                 #{exp 18854}#
                  #f)))
          (make-struct/no-tail
            (vector-ref %expanded-vtables 14)
-           #{src 19304}#
-           #{meta 19308}#
-           #{body 19315}#))))
-   (#{build-primcall 4319}#
-     (lambda (#{src 19327}# #{name 19328}# #{args 19329}#)
+           #{src 18849}#
+           #{meta 18853}#
+           #{body 18860}#))))
+   (#{build-primcall 4392}#
+     (lambda (#{src 18872}# #{name 18873}# #{args 18874}#)
        (make-struct/no-tail
          (vector-ref %expanded-vtables 12)
-         #{src 19327}#
-         #{name 19328}#
-         #{args 19329}#)))
-   (#{build-sequence 4322}#
-     (lambda (#{src 36912}# #{exps 36913}#)
-       (if (null? (cdr #{exps 36913}#))
-         (car #{exps 36913}#)
-         (let ((#{head 36917}# (car #{exps 36913}#))
-               (#{tail 36918}#
-                 (#{build-sequence 4322}# #f (cdr #{exps 36913}#))))
+         #{src 18872}#
+         #{name 18873}#
+         #{args 18874}#)))
+   (#{build-sequence 4395}#
+     (lambda (#{src 35532}# #{exps 35533}#)
+       (if (null? (cdr #{exps 35533}#))
+         (car #{exps 35533}#)
+         (let ((#{head 35537}# (car #{exps 35533}#))
+               (#{tail 35538}#
+                 (#{build-sequence 4395}# #f (cdr #{exps 35533}#))))
            (make-struct/no-tail
              (vector-ref %expanded-vtables 13)
-             #{src 36912}#
-             #{head 36917}#
-             #{tail 36918}#)))))
-   (#{build-named-let 4324}#
-     (lambda (#{src 19335}#
-              #{ids 19336}#
-              #{vars 19337}#
-              #{val-exps 19338}#
-              #{body-exp 19339}#)
-       (let ((#{f 19340}# (car #{vars 19337}#))
-             (#{f-name 19341}# (car #{ids 19336}#))
-             (#{vars 19342}# (cdr #{vars 19337}#))
-             (#{ids 19343}# (cdr #{ids 19336}#)))
-         (let ((#{proc 19344}#
-                 (let ((#{body 19364}#
+             #{src 35532}#
+             #{head 35537}#
+             #{tail 35538}#)))))
+   (#{build-named-let 4397}#
+     (lambda (#{src 18880}#
+              #{ids 18881}#
+              #{vars 18882}#
+              #{val-exps 18883}#
+              #{body-exp 18884}#)
+       (let ((#{f 18885}# (car #{vars 18882}#))
+             (#{f-name 18886}# (car #{ids 18881}#))
+             (#{vars 18887}# (cdr #{vars 18882}#))
+             (#{ids 18888}# (cdr #{ids 18881}#)))
+         (let ((#{proc 18889}#
+                 (let ((#{body 18909}#
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 15)
-                           #{src 19335}#
-                           #{ids 19343}#
+                           #{src 18880}#
+                           #{ids 18888}#
                            #f
                            #f
                            #f
                            '()
-                           #{vars 19342}#
-                           #{body-exp 19339}#
+                           #{vars 18887}#
+                           #{body-exp 18884}#
                            #f)))
                    (make-struct/no-tail
                      (vector-ref %expanded-vtables 14)
-                     #{src 19335}#
+                     #{src 18880}#
                      '()
-                     #{body 19364}#))))
+                     #{body 18909}#))))
            (begin
-             (if (if (struct? #{proc 19344}#)
-                   (eq? (struct-vtable #{proc 19344}#)
+             (if (if (struct? #{proc 18889}#)
+                   (eq? (struct-vtable #{proc 18889}#)
                         (vector-ref %expanded-vtables 14))
                    #f)
-               (let ((#{meta 19388}# (struct-ref #{proc 19344}# 1)))
-                 (if (not (assq 'name #{meta 19388}#))
-                   (let ((#{v 19395}#
-                           (cons (cons 'name #{f-name 19341}#)
-                                 #{meta 19388}#)))
-                     (struct-set! #{proc 19344}# 1 #{v 19395}#)))))
+               (let ((#{meta 18933}# (struct-ref #{proc 18889}# 1)))
+                 (if (not (assq 'name #{meta 18933}#))
+                   (let ((#{v 18940}#
+                           (cons (cons 'name #{f-name 18886}#)
+                                 #{meta 18933}#)))
+                     (struct-set! #{proc 18889}# 1 #{v 18940}#)))))
              (for-each
-               #{maybe-name-value! 4305}#
-               #{ids 19343}#
-               #{val-exps 19338}#)
-             (let ((#{names 19419}# (list #{f-name 19341}#))
-                   (#{gensyms 19420}# (list #{f 19340}#))
-                   (#{vals 19421}# (list #{proc 19344}#))
-                   (#{body 19422}#
-                     (let ((#{fun-exp 19426}#
+               #{maybe-name-value! 4378}#
+               #{ids 18888}#
+               #{val-exps 18883}#)
+             (let ((#{names 18964}# (list #{f-name 18886}#))
+                   (#{gensyms 18965}# (list #{f 18885}#))
+                   (#{vals 18966}# (list #{proc 18889}#))
+                   (#{body 18967}#
+                     (let ((#{fun-exp 18971}#
                              (make-struct/no-tail
                                (vector-ref %expanded-vtables 3)
-                               #{src 19335}#
-                               #{f-name 19341}#
-                               #{f 19340}#)))
+                               #{src 18880}#
+                               #{f-name 18886}#
+                               #{f 18885}#)))
                        (make-struct/no-tail
                          (vector-ref %expanded-vtables 11)
-                         #{src 19335}#
-                         #{fun-exp 19426}#
-                         #{val-exps 19338}#))))
+                         #{src 18880}#
+                         #{fun-exp 18971}#
+                         #{val-exps 18883}#))))
                (make-struct/no-tail
                  (vector-ref %expanded-vtables 17)
-                 #{src 19335}#
+                 #{src 18880}#
                  #f
-                 #{names 19419}#
-                 #{gensyms 19420}#
-                 #{vals 19421}#
-                 #{body 19422}#)))))))
-   (#{build-letrec 4325}#
-     (lambda (#{src 19442}#
-              #{in-order? 19443}#
-              #{ids 19444}#
-              #{vars 19445}#
-              #{val-exps 19446}#
-              #{body-exp 19447}#)
-       (if (null? #{vars 19445}#)
-         #{body-exp 19447}#
+                 #{names 18964}#
+                 #{gensyms 18965}#
+                 #{vals 18966}#
+                 #{body 18967}#)))))))
+   (#{build-letrec 4398}#
+     (lambda (#{src 18987}#
+              #{in-order? 18988}#
+              #{ids 18989}#
+              #{vars 18990}#
+              #{val-exps 18991}#
+              #{body-exp 18992}#)
+       (if (null? #{vars 18990}#)
+         #{body-exp 18992}#
          (begin
            (for-each
-             #{maybe-name-value! 4305}#
-             #{ids 19444}#
-             #{val-exps 19446}#)
+             #{maybe-name-value! 4378}#
+             #{ids 18989}#
+             #{val-exps 18991}#)
            (make-struct/no-tail
              (vector-ref %expanded-vtables 17)
-             #{src 19442}#
-             #{in-order? 19443}#
-             #{ids 19444}#
-             #{vars 19445}#
-             #{val-exps 19446}#
-             #{body-exp 19447}#)))))
-   (#{source-annotation 4334}#
-     (lambda (#{x 19473}#)
-       (if (if (vector? #{x 19473}#)
-             (if (= (vector-length #{x 19473}#) 4)
-               (eq? (vector-ref #{x 19473}# 0) 'syntax-object)
+             #{src 18987}#
+             #{in-order? 18988}#
+             #{ids 18989}#
+             #{vars 18990}#
+             #{val-exps 18991}#
+             #{body-exp 18992}#)))))
+   (#{source-annotation 4407}#
+     (lambda (#{x 19018}#)
+       (if (if (vector? #{x 19018}#)
+             (if (= (vector-length #{x 19018}#) 4)
+               (eq? (vector-ref #{x 19018}# 0) 'syntax-object)
                #f)
              #f)
-         (#{source-annotation 4334}#
-           (vector-ref #{x 19473}# 1))
-         (if (pair? #{x 19473}#)
-           (let ((#{props 19488}# (source-properties #{x 19473}#)))
-             (if (pair? #{props 19488}#) #{props 19488}# #f))
+         (#{source-annotation 4407}#
+           (vector-ref #{x 19018}# 1))
+         (if (pair? #{x 19018}#)
+           (let ((#{props 19033}# (source-properties #{x 19018}#)))
+             (if (pair? #{props 19033}#) #{props 19033}# #f))
            #f))))
-   (#{extend-env 4335}#
-     (lambda (#{labels 19490}# #{bindings 19491}# #{r 19492}#)
-       (if (null? #{labels 19490}#)
-         #{r 19492}#
-         (#{extend-env 4335}#
-           (cdr #{labels 19490}#)
-           (cdr #{bindings 19491}#)
-           (cons (cons (car #{labels 19490}#)
-                       (car #{bindings 19491}#))
-                 #{r 19492}#)))))
-   (#{extend-var-env 4336}#
-     (lambda (#{labels 19493}# #{vars 19494}# #{r 19495}#)
-       (if (null? #{labels 19493}#)
-         #{r 19495}#
-         (#{extend-var-env 4336}#
-           (cdr #{labels 19493}#)
-           (cdr #{vars 19494}#)
-           (cons (cons (car #{labels 19493}#)
-                       (cons 'lexical (car #{vars 19494}#)))
-                 #{r 19495}#)))))
-   (#{macros-only-env 4337}#
-     (lambda (#{r 19496}#)
-       (if (null? #{r 19496}#)
+   (#{extend-env 4408}#
+     (lambda (#{labels 19035}# #{bindings 19036}# #{r 19037}#)
+       (if (null? #{labels 19035}#)
+         #{r 19037}#
+         (#{extend-env 4408}#
+           (cdr #{labels 19035}#)
+           (cdr #{bindings 19036}#)
+           (cons (cons (car #{labels 19035}#)
+                       (car #{bindings 19036}#))
+                 #{r 19037}#)))))
+   (#{extend-var-env 4409}#
+     (lambda (#{labels 19038}# #{vars 19039}# #{r 19040}#)
+       (if (null? #{labels 19038}#)
+         #{r 19040}#
+         (#{extend-var-env 4409}#
+           (cdr #{labels 19038}#)
+           (cdr #{vars 19039}#)
+           (cons (cons (car #{labels 19038}#)
+                       (cons 'lexical (car #{vars 19039}#)))
+                 #{r 19040}#)))))
+   (#{macros-only-env 4410}#
+     (lambda (#{r 19041}#)
+       (if (null? #{r 19041}#)
          '()
-         (let ((#{a 19497}# (car #{r 19496}#)))
-           (if (eq? (car (cdr #{a 19497}#)) 'macro)
-             (cons #{a 19497}#
-                   (#{macros-only-env 4337}# (cdr #{r 19496}#)))
-             (#{macros-only-env 4337}# (cdr #{r 19496}#)))))))
-   (#{global-extend 4339}#
-     (lambda (#{type 19499}# #{sym 19500}# #{val 19501}#)
+         (let ((#{a 19042}# (car #{r 19041}#)))
+           (if (let ((#{t 19045}# (car (cdr #{a 19042}#))))
+                 (if (eq? #{t 19045}# 'macro)
+                   #t
+                   (eq? #{t 19045}# 'syntax-parameter)))
+             (cons #{a 19042}#
+                   (#{macros-only-env 4410}# (cdr #{r 19041}#)))
+             (#{macros-only-env 4410}# (cdr #{r 19041}#)))))))
+   (#{global-extend 4411}#
+     (lambda (#{type 19047}# #{sym 19048}# #{val 19049}#)
        (module-define!
          (current-module)
-         #{sym 19500}#
+         #{sym 19048}#
          (make-syntax-transformer
-           #{sym 19500}#
-           #{type 19499}#
-           #{val 19501}#))))
-   (#{id? 4341}#
-     (lambda (#{x 12436}#)
-       (if (symbol? #{x 12436}#)
+           #{sym 19048}#
+           #{type 19047}#
+           #{val 19049}#))))
+   (#{id? 4413}#
+     (lambda (#{x 11971}#)
+       (if (symbol? #{x 11971}#)
          #t
-         (if (if (vector? #{x 12436}#)
-               (if (= (vector-length #{x 12436}#) 4)
-                 (eq? (vector-ref #{x 12436}# 0) 'syntax-object)
+         (if (if (vector? #{x 11971}#)
+               (if (= (vector-length #{x 11971}#) 4)
+                 (eq? (vector-ref #{x 11971}# 0) 'syntax-object)
                  #f)
                #f)
-           (symbol? (vector-ref #{x 12436}# 1))
+           (symbol? (vector-ref #{x 11971}# 1))
            #f))))
-   (#{gen-labels 4344}#
-     (lambda (#{ls 19511}#)
-       (if (null? #{ls 19511}#)
+   (#{gen-labels 4416}#
+     (lambda (#{ls 19059}#)
+       (if (null? #{ls 19059}#)
          '()
          (cons (symbol->string (gensym "i"))
-               (#{gen-labels 4344}# (cdr #{ls 19511}#))))))
-   (#{make-binding-wrap 4355}#
-     (lambda (#{ids 19515}# #{labels 19516}# #{w 19517}#)
-       (if (null? #{ids 19515}#)
-         #{w 19517}#
-         (cons (car #{w 19517}#)
-               (cons (let ((#{labelvec 19518}#
-                             (list->vector #{labels 19516}#)))
-                       (let ((#{n 19519}# (vector-length #{labelvec 19518}#)))
-                         (let ((#{symnamevec 19520}# (make-vector #{n 19519}#))
-                               (#{marksvec 19521}# (make-vector #{n 19519}#)))
+               (#{gen-labels 4416}# (cdr #{ls 19059}#))))))
+   (#{make-binding-wrap 4427}#
+     (lambda (#{ids 19063}# #{labels 19064}# #{w 19065}#)
+       (if (null? #{ids 19063}#)
+         #{w 19065}#
+         (cons (car #{w 19065}#)
+               (cons (let ((#{labelvec 19066}#
+                             (list->vector #{labels 19064}#)))
+                       (let ((#{n 19067}# (vector-length #{labelvec 19066}#)))
+                         (let ((#{symnamevec 19068}# (make-vector #{n 19067}#))
+                               (#{marksvec 19069}# (make-vector #{n 19067}#)))
                            (begin
                              (letrec*
-                               ((#{f 19522}#
-                                  (lambda (#{ids 19721}# #{i 19722}#)
-                                    (if (not (null? #{ids 19721}#))
+                               ((#{f 19070}#
+                                  (lambda (#{ids 19269}# #{i 19270}#)
+                                    (if (not (null? #{ids 19269}#))
                                       (call-with-values
                                         (lambda ()
-                                          (let ((#{x 19725}#
-                                                  (car #{ids 19721}#)))
-                                            (if (if (vector? #{x 19725}#)
+                                          (let ((#{x 19273}#
+                                                  (car #{ids 19269}#)))
+                                            (if (if (vector? #{x 19273}#)
                                                   (if (= (vector-length
-                                                           #{x 19725}#)
+                                                           #{x 19273}#)
                                                          4)
                                                     (eq? (vector-ref
-                                                           #{x 19725}#
+                                                           #{x 19273}#
                                                            0)
                                                          'syntax-object)
                                                     #f)
                                                   #f)
                                               (values
-                                                (vector-ref #{x 19725}# 1)
-                                                (let ((#{m1 19741}#
-                                                        (car #{w 19517}#))
-                                                      (#{m2 19742}#
+                                                (vector-ref #{x 19273}# 1)
+                                                (let ((#{m1 19289}#
+                                                        (car #{w 19065}#))
+                                                      (#{m2 19290}#
                                                         (car (vector-ref
-                                                               #{x 19725}#
+                                                               #{x 19273}#
                                                                2))))
-                                                  (if (null? #{m2 19742}#)
-                                                    #{m1 19741}#
+                                                  (if (null? #{m2 19290}#)
+                                                    #{m1 19289}#
                                                     (append
-                                                      #{m1 19741}#
-                                                      #{m2 19742}#))))
+                                                      #{m1 19289}#
+                                                      #{m2 19290}#))))
                                               (values
-                                                #{x 19725}#
-                                                (car #{w 19517}#)))))
-                                        (lambda (#{symname 19762}#
-                                                 #{marks 19763}#)
+                                                #{x 19273}#
+                                                (car #{w 19065}#)))))
+                                        (lambda (#{symname 19310}#
+                                                 #{marks 19311}#)
                                           (begin
                                             (vector-set!
-                                              #{symnamevec 19520}#
-                                              #{i 19722}#
-                                              #{symname 19762}#)
+                                              #{symnamevec 19068}#
+                                              #{i 19270}#
+                                              #{symname 19310}#)
                                             (vector-set!
-                                              #{marksvec 19521}#
-                                              #{i 19722}#
-                                              #{marks 19763}#)
-                                            (#{f 19522}#
-                                              (cdr #{ids 19721}#)
-                                              (#{1+}# #{i 19722}#)))))))))
-                               (#{f 19522}# #{ids 19515}# 0))
+                                              #{marksvec 19069}#
+                                              #{i 19270}#
+                                              #{marks 19311}#)
+                                            (#{f 19070}#
+                                              (cdr #{ids 19269}#)
+                                              (#{1+}# #{i 19270}#)))))))))
+                               (#{f 19070}# #{ids 19063}# 0))
                              (vector
                                'ribcage
-                               #{symnamevec 19520}#
-                               #{marksvec 19521}#
-                               #{labelvec 19518}#)))))
-                     (cdr #{w 19517}#))))))
-   (#{same-marks? 4359}#
-     (lambda (#{x 36919}# #{y 36920}#)
-       (if (eq? #{x 36919}# #{y 36920}#)
-         (eq? #{x 36919}# #{y 36920}#)
-         (if (not (null? #{x 36919}#))
-           (if (not (null? #{y 36920}#))
-             (if (eq? (car #{x 36919}#) (car #{y 36920}#))
-               (#{same-marks? 4359}#
-                 (cdr #{x 36919}#)
-                 (cdr #{y 36920}#))
+                               #{symnamevec 19068}#
+                               #{marksvec 19069}#
+                               #{labelvec 19066}#)))))
+                     (cdr #{w 19065}#))))))
+   (#{same-marks? 4431}#
+     (lambda (#{x 35539}# #{y 35540}#)
+       (if (eq? #{x 35539}# #{y 35540}#)
+         (eq? #{x 35539}# #{y 35540}#)
+         (if (not (null? #{x 35539}#))
+           (if (not (null? #{y 35540}#))
+             (if (eq? (car #{x 35539}#) (car #{y 35540}#))
+               (#{same-marks? 4431}#
+                 (cdr #{x 35539}#)
+                 (cdr #{y 35540}#))
                #f)
              #f)
            #f))))
-   (#{id-var-name 4360}#
-     (lambda (#{id 19770}# #{w 19771}#)
+   (#{id-var-name 4432}#
+     (lambda (#{id 35548}# #{w 35549}# #{mod 35550}#)
        (letrec*
-         ((#{search 19772}#
-            (lambda (#{sym 19833}# #{subst 19834}# #{marks 19835}#)
-              (if (null? #{subst 19834}#)
-                (values #f #{marks 19835}#)
-                (let ((#{fst 19836}# (car #{subst 19834}#)))
-                  (if (eq? #{fst 19836}# 'shift)
-                    (#{search 19772}#
-                      #{sym 19833}#
-                      (cdr #{subst 19834}#)
-                      (cdr #{marks 19835}#))
-                    (let ((#{symnames 19838}# (vector-ref #{fst 19836}# 1)))
-                      (if (vector? #{symnames 19838}#)
-                        (#{search-vector-rib 19774}#
-                          #{sym 19833}#
-                          #{subst 19834}#
-                          #{marks 19835}#
-                          #{symnames 19838}#
-                          #{fst 19836}#)
-                        (#{search-list-rib 19773}#
-                          #{sym 19833}#
-                          #{subst 19834}#
-                          #{marks 19835}#
-                          #{symnames 19838}#
-                          #{fst 19836}#))))))))
-          (#{search-list-rib 19773}#
-            (lambda (#{sym 20008}#
-                     #{subst 20009}#
-                     #{marks 20010}#
-                     #{symnames 20011}#
-                     #{ribcage 20012}#)
+         ((#{search 35551}#
+            (lambda (#{sym 35617}#
+                     #{subst 35618}#
+                     #{marks 35619}#
+                     #{mod 35620}#)
+              (if (null? #{subst 35618}#)
+                (values #f #{marks 35619}#)
+                (let ((#{fst 35621}# (car #{subst 35618}#)))
+                  (if (eq? #{fst 35621}# 'shift)
+                    (#{search 35551}#
+                      #{sym 35617}#
+                      (cdr #{subst 35618}#)
+                      (cdr #{marks 35619}#)
+                      #{mod 35620}#)
+                    (let ((#{symnames 35623}# (vector-ref #{fst 35621}# 1)))
+                      (if (vector? #{symnames 35623}#)
+                        (#{search-vector-rib 35553}#
+                          #{sym 35617}#
+                          #{subst 35618}#
+                          #{marks 35619}#
+                          #{symnames 35623}#
+                          #{fst 35621}#
+                          #{mod 35620}#)
+                        (#{search-list-rib 35552}#
+                          #{sym 35617}#
+                          #{subst 35618}#
+                          #{marks 35619}#
+                          #{symnames 35623}#
+                          #{fst 35621}#
+                          #{mod 35620}#))))))))
+          (#{search-list-rib 35552}#
+            (lambda (#{sym 35798}#
+                     #{subst 35799}#
+                     #{marks 35800}#
+                     #{symnames 35801}#
+                     #{ribcage 35802}#
+                     #{mod 35803}#)
               (letrec*
-                ((#{f 20013}#
-                   (lambda (#{symnames 20016}# #{i 20017}#)
-                     (if (null? #{symnames 20016}#)
-                       (#{search 19772}#
-                         #{sym 20008}#
-                         (cdr #{subst 20009}#)
-                         #{marks 20010}#)
-                       (if (if (eq? (car #{symnames 20016}#) #{sym 20008}#)
-                             (#{same-marks? 4359}#
-                               #{marks 20010}#
+                ((#{f 35804}#
+                   (lambda (#{symnames 35807}# #{i 35808}#)
+                     (if (null? #{symnames 35807}#)
+                       (#{search 35551}#
+                         #{sym 35798}#
+                         (cdr #{subst 35799}#)
+                         #{marks 35800}#
+                         #{mod 35803}#)
+                       (if (if (eq? (car #{symnames 35807}#) #{sym 35798}#)
+                             (#{same-marks? 4431}#
+                               #{marks 35800}#
                                (list-ref
-                                 (vector-ref #{ribcage 20012}# 2)
-                                 #{i 20017}#))
+                                 (vector-ref #{ribcage 35802}# 2)
+                                 #{i 35808}#))
                              #f)
-                         (values
-                           (list-ref
-                             (vector-ref #{ribcage 20012}# 3)
-                             #{i 20017}#)
-                           #{marks 20010}#)
-                         (#{f 20013}#
-                           (cdr #{symnames 20016}#)
-                           (#{1+}# #{i 20017}#)))))))
-                (#{f 20013}# #{symnames 20011}# 0))))
-          (#{search-vector-rib 19774}#
-            (lambda (#{sym 20167}#
-                     #{subst 20168}#
-                     #{marks 20169}#
-                     #{symnames 20170}#
-                     #{ribcage 20171}#)
-              (let ((#{n 20172}# (vector-length #{symnames 20170}#)))
+                         (let ((#{n 35954}#
+                                 (list-ref
+                                   (vector-ref #{ribcage 35802}# 3)
+                                   #{i 35808}#)))
+                           (if (pair? #{n 35954}#)
+                             (if (equal? #{mod 35803}# (car #{n 35954}#))
+                               (values (cdr #{n 35954}#) #{marks 35800}#)
+                               (#{f 35804}#
+                                 (cdr #{symnames 35807}#)
+                                 (#{1+}# #{i 35808}#)))
+                             (values #{n 35954}# #{marks 35800}#)))
+                         (#{f 35804}#
+                           (cdr #{symnames 35807}#)
+                           (#{1+}# #{i 35808}#)))))))
+                (#{f 35804}# #{symnames 35801}# 0))))
+          (#{search-vector-rib 35553}#
+            (lambda (#{sym 35959}#
+                     #{subst 35960}#
+                     #{marks 35961}#
+                     #{symnames 35962}#
+                     #{ribcage 35963}#
+                     #{mod 35964}#)
+              (let ((#{n 35965}# (vector-length #{symnames 35962}#)))
                 (letrec*
-                  ((#{f 20173}#
-                     (lambda (#{i 20230}#)
-                       (if (= #{i 20230}# #{n 20172}#)
-                         (#{search 19772}#
-                           #{sym 20167}#
-                           (cdr #{subst 20168}#)
-                           #{marks 20169}#)
+                  ((#{f 35966}#
+                     (lambda (#{i 35969}#)
+                       (if (= #{i 35969}# #{n 35965}#)
+                         (#{search 35551}#
+                           #{sym 35959}#
+                           (cdr #{subst 35960}#)
+                           #{marks 35961}#
+                           #{mod 35964}#)
                          (if (if (eq? (vector-ref
-                                        #{symnames 20170}#
-                                        #{i 20230}#)
-                                      #{sym 20167}#)
-                               (#{same-marks? 4359}#
-                                 #{marks 20169}#
+                                        #{symnames 35962}#
+                                        #{i 35969}#)
+                                      #{sym 35959}#)
+                               (#{same-marks? 4431}#
+                                 #{marks 35961}#
                                  (vector-ref
-                                   (vector-ref #{ribcage 20171}# 2)
-                                   #{i 20230}#))
+                                   (vector-ref #{ribcage 35963}# 2)
+                                   #{i 35969}#))
                                #f)
-                           (values
-                             (vector-ref
-                               (vector-ref #{ribcage 20171}# 3)
-                               #{i 20230}#)
-                             #{marks 20169}#)
-                           (#{f 20173}# (#{1+}# #{i 20230}#)))))))
-                  (#{f 20173}# 0))))))
-         (if (symbol? #{id 19770}#)
-           (let ((#{t 19775}#
-                   (#{search 19772}#
-                     #{id 19770}#
-                     (cdr #{w 19771}#)
-                     (car #{w 19771}#))))
-             (if #{t 19775}# #{t 19775}# #{id 19770}#))
-           (if (if (vector? #{id 19770}#)
-                 (if (= (vector-length #{id 19770}#) 4)
-                   (eq? (vector-ref #{id 19770}# 0) 'syntax-object)
+                           (let ((#{n 36116}#
+                                   (vector-ref
+                                     (vector-ref #{ribcage 35963}# 3)
+                                     #{i 35969}#)))
+                             (if (pair? #{n 36116}#)
+                               (if (equal? #{mod 35964}# (car #{n 36116}#))
+                                 (values (cdr #{n 36116}#) #{marks 35961}#)
+                                 (#{f 35966}# (#{1+}# #{i 35969}#)))
+                               (values #{n 36116}# #{marks 35961}#)))
+                           (#{f 35966}# (#{1+}# #{i 35969}#)))))))
+                  (#{f 35966}# 0))))))
+         (if (symbol? #{id 35548}#)
+           (let ((#{t 35554}#
+                   (#{search 35551}#
+                     #{id 35548}#
+                     (cdr #{w 35549}#)
+                     (car #{w 35549}#)
+                     #{mod 35550}#)))
+             (if #{t 35554}# #{t 35554}# #{id 35548}#))
+           (if (if (vector? #{id 35548}#)
+                 (if (= (vector-length #{id 35548}#) 4)
+                   (eq? (vector-ref #{id 35548}# 0) 'syntax-object)
                    #f)
                  #f)
-             (let ((#{id 19790}# (vector-ref #{id 19770}# 1))
-                   (#{w1 19791}# (vector-ref #{id 19770}# 2)))
-               (let ((#{marks 19792}#
-                       (let ((#{m1 19802}# (car #{w 19771}#))
-                             (#{m2 19803}# (car #{w1 19791}#)))
-                         (if (null? #{m2 19803}#)
-                           #{m1 19802}#
-                           (append #{m1 19802}# #{m2 19803}#)))))
+             (let ((#{id 35569}# (vector-ref #{id 35548}# 1))
+                   (#{w1 35570}# (vector-ref #{id 35548}# 2))
+                   (#{mod 35571}# (vector-ref #{id 35548}# 3)))
+               (let ((#{marks 35572}#
+                       (let ((#{m1 35582}# (car #{w 35549}#))
+                             (#{m2 35583}# (car #{w1 35570}#)))
+                         (if (null? #{m2 35583}#)
+                           #{m1 35582}#
+                           (append #{m1 35582}# #{m2 35583}#)))))
                  (call-with-values
                    (lambda ()
-                     (#{search 19772}#
-                       #{id 19790}#
-                       (cdr #{w 19771}#)
-                       #{marks 19792}#))
-                   (lambda (#{new-id 19819}# #{marks 19820}#)
-                     (if #{new-id 19819}#
-                       #{new-id 19819}#
-                       (let ((#{t 19828}#
-                               (#{search 19772}#
-                                 #{id 19790}#
-                                 (cdr #{w1 19791}#)
-                                 #{marks 19820}#)))
-                         (if #{t 19828}# #{t 19828}# #{id 19790}#)))))))
+                     (#{search 35551}#
+                       #{id 35569}#
+                       (cdr #{w 35549}#)
+                       #{marks 35572}#
+                       #{mod 35571}#))
+                   (lambda (#{new-id 35603}# #{marks 35604}#)
+                     (if #{new-id 35603}#
+                       #{new-id 35603}#
+                       (let ((#{t 35612}#
+                               (#{search 35551}#
+                                 #{id 35569}#
+                                 (cdr #{w1 35570}#)
+                                 #{marks 35604}#
+                                 #{mod 35571}#)))
+                         (if #{t 35612}# #{t 35612}# #{id 35569}#)))))))
              (syntax-violation
                'id-var-name
                "invalid id"
-               #{id 19770}#))))))
-   (#{free-id=? 4361}#
-     (lambda (#{i 20380}# #{j 20381}#)
-       (let ((#{ni 20382}#
-               (#{id-var-name 4360}# #{i 20380}# '(())))
-             (#{nj 20383}#
-               (#{id-var-name 4360}# #{j 20381}# '(()))))
-         (if (eq? #{ni 20382}#
-                  (if (if (vector? #{i 20380}#)
-                        (if (= (vector-length #{i 20380}#) 4)
-                          (eq? (vector-ref #{i 20380}# 0) 'syntax-object)
-                          #f)
-                        #f)
-                    (vector-ref #{i 20380}# 1)
-                    #{i 20380}#))
-           (if (eq? #{nj 20383}#
-                    (if (if (vector? #{j 20381}#)
-                          (if (= (vector-length #{j 20381}#) 4)
-                            (eq? (vector-ref #{j 20381}# 0) 'syntax-object)
-                            #f)
-                          #f)
-                      (vector-ref #{j 20381}# 1)
-                      #{j 20381}#))
-             (if (let ((#{bi 20441}#
-                         (let ((#{mod 20710}#
-                                 (if (if (vector? #{i 20380}#)
-                                       (if (= (vector-length #{i 20380}#) 4)
-                                         (eq? (vector-ref #{i 20380}# 0)
-                                              'syntax-object)
-                                         #f)
-                                       #f)
-                                   (vector-ref #{i 20380}# 3)
-                                   #f)))
-                           (module-variable
-                             (if #{mod 20710}#
-                               (resolve-module (cdr #{mod 20710}#))
-                               (current-module))
-                             (if (if (vector? #{i 20380}#)
-                                   (if (= (vector-length #{i 20380}#) 4)
-                                     (eq? (vector-ref #{i 20380}# 0)
-                                          'syntax-object)
-                                     #f)
-                                   #f)
-                               (vector-ref #{i 20380}# 1)
-                               #{i 20380}#)))))
-                   (if #{bi 20441}#
-                     (eq? #{bi 20441}#
-                          (let ((#{mod 20554}#
-                                  (if (if (vector? #{j 20381}#)
-                                        (if (= (vector-length #{j 20381}#) 4)
-                                          (eq? (vector-ref #{j 20381}# 0)
-                                               'syntax-object)
-                                          #f)
-                                        #f)
-                                    (vector-ref #{j 20381}# 3)
-                                    #f)))
-                            (module-variable
-                              (if #{mod 20554}#
-                                (resolve-module (cdr #{mod 20554}#))
-                                (current-module))
-                              (if (if (vector? #{j 20381}#)
-                                    (if (= (vector-length #{j 20381}#) 4)
-                                      (eq? (vector-ref #{j 20381}# 0)
+               #{id 35548}#))))))
+   (#{resolve-identifier 4433}#
+     (lambda (#{id 19318}#
+              #{w 19319}#
+              #{r 19320}#
+              #{mod 19321}#
+              #{resolve-syntax-parameters? 19322}#)
+       (let ((#{n 19326}#
+               (#{id-var-name 4432}#
+                 #{id 19318}#
+                 #{w 19319}#
+                 #{mod 19321}#)))
+         (if (if (vector? #{n 19326}#)
+               (if (= (vector-length #{n 19326}#) 4)
+                 (eq? (vector-ref #{n 19326}# 0) 'syntax-object)
+                 #f)
+               #f)
+           (#{resolve-identifier 4433}#
+             #{n 19326}#
+             #{w 19319}#
+             #{r 19320}#
+             #{mod 19321}#
+             #{resolve-syntax-parameters? 19322}#)
+           (if (symbol? #{n 19326}#)
+             (let ((#{mod 19341}#
+                     (if (if (vector? #{id 19318}#)
+                           (if (= (vector-length #{id 19318}#) 4)
+                             (eq? (vector-ref #{id 19318}# 0) 'syntax-object)
+                             #f)
+                           #f)
+                       (vector-ref #{id 19318}# 3)
+                       #{mod 19321}#)))
+               (let ((#{b 19342}#
+                       (let ((#{b 19345}#
+                               (let ((#{t 19346}#
+                                       (begin
+                                         (if (if (not #{mod 19341}#)
+                                               (current-module)
+                                               #f)
+                                           (warn "module system is booted, we 
should have a module"
+                                                 #{n 19326}#))
+                                         (let ((#{v 19395}#
+                                                 (module-variable
+                                                   (if #{mod 19341}#
+                                                     (resolve-module
+                                                       (cdr #{mod 19341}#))
+                                                     (current-module))
+                                                   #{n 19326}#)))
+                                           (if #{v 19395}#
+                                             (if (variable-bound? #{v 19395}#)
+                                               (let ((#{val 19404}#
+                                                       (variable-ref
+                                                         #{v 19395}#)))
+                                                 (if (macro? #{val 19404}#)
+                                                   (if (macro-type
+                                                         #{val 19404}#)
+                                                     (cons (macro-type
+                                                             #{val 19404}#)
+                                                           (macro-binding
+                                                             #{val 19404}#))
+                                                     #f)
+                                                   #f))
+                                               #f)
+                                             #f)))))
+                                 (if #{t 19346}# #{t 19346}# '(global)))))
+                         (if (if #{resolve-syntax-parameters? 19322}#
+                               (eq? (car #{b 19345}#) 'syntax-parameter)
+                               #f)
+                           (let ((#{t 19413}#
+                                   (assq-ref #{r 19320}# (cdr #{b 19345}#))))
+                             (if #{t 19413}#
+                               #{t 19413}#
+                               (cons 'macro (car (cdr #{b 19345}#)))))
+                           #{b 19345}#))))
+                 (if (eq? (car #{b 19342}#) 'global)
+                   (values 'global #{n 19326}# #{mod 19341}#)
+                   (values
+                     (car #{b 19342}#)
+                     (cdr #{b 19342}#)
+                     #{mod 19341}#))))
+             (if (string? #{n 19326}#)
+               (let ((#{mod 19419}#
+                       (if (if (vector? #{id 19318}#)
+                             (if (= (vector-length #{id 19318}#) 4)
+                               (eq? (vector-ref #{id 19318}# 0) 'syntax-object)
+                               #f)
+                             #f)
+                         (vector-ref #{id 19318}# 3)
+                         #{mod 19321}#)))
+                 (let ((#{b 19420}#
+                         (let ((#{b 19423}#
+                                 (let ((#{t 19424}#
+                                         (assq-ref #{r 19320}# #{n 19326}#)))
+                                   (if #{t 19424}#
+                                     #{t 19424}#
+                                     '(displaced-lexical)))))
+                           (if (if #{resolve-syntax-parameters? 19322}#
+                                 (eq? (car #{b 19423}#) 'syntax-parameter)
+                                 #f)
+                             (let ((#{t 19425}#
+                                     (assq-ref #{r 19320}# (cdr #{b 19423}#))))
+                               (if #{t 19425}#
+                                 #{t 19425}#
+                                 (cons 'macro (car (cdr #{b 19423}#)))))
+                             #{b 19423}#))))
+                   (values
+                     (car #{b 19420}#)
+                     (cdr #{b 19420}#)
+                     #{mod 19419}#)))
+               (error "unexpected id-var-name"
+                      #{id 19318}#
+                      #{w 19319}#
+                      #{n 19326}#)))))))
+   (#{free-id=? 4434}#
+     (lambda (#{i 19438}# #{j 19439}#)
+       (let ((#{mi 19440}#
+               (if (if (vector? #{i 19438}#)
+                     (if (= (vector-length #{i 19438}#) 4)
+                       (eq? (vector-ref #{i 19438}# 0) 'syntax-object)
+                       #f)
+                     #f)
+                 (vector-ref #{i 19438}# 3)
+                 #f)))
+         (let ((#{mj 19441}#
+                 (if (if (vector? #{j 19439}#)
+                       (if (= (vector-length #{j 19439}#) 4)
+                         (eq? (vector-ref #{j 19439}# 0) 'syntax-object)
+                         #f)
+                       #f)
+                   (vector-ref #{j 19439}# 3)
+                   #f)))
+           (let ((#{ni 19442}#
+                   (#{id-var-name 4432}#
+                     #{i 19438}#
+                     '(())
+                     #{mi 19440}#)))
+             (let ((#{nj 19443}#
+                     (#{id-var-name 4432}#
+                       #{j 19439}#
+                       '(())
+                       #{mj 19441}#)))
+               (if (if (vector? #{ni 19442}#)
+                     (if (= (vector-length #{ni 19442}#) 4)
+                       (eq? (vector-ref #{ni 19442}# 0) 'syntax-object)
+                       #f)
+                     #f)
+                 (#{free-id=? 4434}# #{ni 19442}# #{j 19439}#)
+                 (if (if (vector? #{nj 19443}#)
+                       (if (= (vector-length #{nj 19443}#) 4)
+                         (eq? (vector-ref #{nj 19443}# 0) 'syntax-object)
+                         #f)
+                       #f)
+                   (#{free-id=? 4434}# #{i 19438}# #{nj 19443}#)
+                   (if (symbol? #{ni 19442}#)
+                     (if (eq? #{nj 19443}#
+                              (if (if (vector? #{j 19439}#)
+                                    (if (= (vector-length #{j 19439}#) 4)
+                                      (eq? (vector-ref #{j 19439}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (vector-ref #{j 20381}# 1)
-                                #{j 20381}#))))
-                     (if (not (let ((#{mod 20632}#
-                                      (if (if (vector? #{j 20381}#)
-                                            (if (= (vector-length #{j 20381}#)
+                                (vector-ref #{j 19439}# 1)
+                                #{j 19439}#))
+                       (if (let ((#{bi 19515}#
+                                   (module-variable
+                                     (if #{mi 19440}#
+                                       (resolve-module (cdr #{mi 19440}#))
+                                       (current-module))
+                                     (if (if (vector? #{i 19438}#)
+                                           (if (= (vector-length #{i 19438}#)
+                                                  4)
+                                             (eq? (vector-ref #{i 19438}# 0)
+                                                  'syntax-object)
+                                             #f)
+                                           #f)
+                                       (vector-ref #{i 19438}# 1)
+                                       #{i 19438}#))))
+                             (if #{bi 19515}#
+                               (eq? #{bi 19515}#
+                                    (module-variable
+                                      (if #{mj 19441}#
+                                        (resolve-module (cdr #{mj 19441}#))
+                                        (current-module))
+                                      (if (if (vector? #{j 19439}#)
+                                            (if (= (vector-length #{j 19439}#)
                                                    4)
-                                              (eq? (vector-ref #{j 20381}# 0)
+                                              (eq? (vector-ref #{j 19439}# 0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (vector-ref #{j 20381}# 3)
-                                        #f)))
-                                (module-variable
-                                  (if #{mod 20632}#
-                                    (resolve-module (cdr #{mod 20632}#))
-                                    (current-module))
-                                  (if (if (vector? #{j 20381}#)
-                                        (if (= (vector-length #{j 20381}#) 4)
-                                          (eq? (vector-ref #{j 20381}# 0)
-                                               'syntax-object)
-                                          #f)
+                                        (vector-ref #{j 19439}# 1)
+                                        #{j 19439}#)))
+                               (if (not (module-variable
+                                          (if #{mj 19441}#
+                                            (resolve-module (cdr #{mj 19441}#))
+                                            (current-module))
+                                          (if (if (vector? #{j 19439}#)
+                                                (if (= (vector-length
+                                                         #{j 19439}#)
+                                                       4)
+                                                  (eq? (vector-ref
+                                                         #{j 19439}#
+                                                         0)
+                                                       'syntax-object)
+                                                  #f)
+                                                #f)
+                                            (vector-ref #{j 19439}# 1)
+                                            #{j 19439}#)))
+                                 (eq? #{ni 19442}# #{nj 19443}#)
+                                 #f)))
+                         (eq? (module-variable
+                                (if #{mi 19440}#
+                                  (resolve-module (cdr #{mi 19440}#))
+                                  (current-module))
+                                (if (if (vector? #{i 19438}#)
+                                      (if (= (vector-length #{i 19438}#) 4)
+                                        (eq? (vector-ref #{i 19438}# 0)
+                                             'syntax-object)
                                         #f)
-                                    (vector-ref #{j 20381}# 1)
-                                    #{j 20381}#))))
-                       (eq? #{ni 20382}# #{nj 20383}#)
-                       #f)))
-               (eq? (let ((#{mod 20788}#
-                            (if (if (vector? #{i 20380}#)
-                                  (if (= (vector-length #{i 20380}#) 4)
-                                    (eq? (vector-ref #{i 20380}# 0)
-                                         'syntax-object)
-                                    #f)
-                                  #f)
-                              (vector-ref #{i 20380}# 3)
-                              #f)))
-                      (module-variable
-                        (if #{mod 20788}#
-                          (resolve-module (cdr #{mod 20788}#))
-                          (current-module))
-                        (if (if (vector? #{i 20380}#)
-                              (if (= (vector-length #{i 20380}#) 4)
-                                (eq? (vector-ref #{i 20380}# 0) 'syntax-object)
-                                #f)
-                              #f)
-                          (vector-ref #{i 20380}# 1)
-                          #{i 20380}#)))
-                    (let ((#{mod 20866}#
-                            (if (if (vector? #{j 20381}#)
-                                  (if (= (vector-length #{j 20381}#) 4)
-                                    (eq? (vector-ref #{j 20381}# 0)
-                                         'syntax-object)
-                                    #f)
-                                  #f)
-                              (vector-ref #{j 20381}# 3)
-                              #f)))
-                      (module-variable
-                        (if #{mod 20866}#
-                          (resolve-module (cdr #{mod 20866}#))
-                          (current-module))
-                        (if (if (vector? #{j 20381}#)
-                              (if (= (vector-length #{j 20381}#) 4)
-                                (eq? (vector-ref #{j 20381}# 0) 'syntax-object)
-                                #f)
-                              #f)
-                          (vector-ref #{j 20381}# 1)
-                          #{j 20381}#))))
-               #f)
-             #f)
-           (if (eq? #{ni 20382}# #{nj 20383}#)
-             (not (eq? #{nj 20383}#
-                       (if (if (vector? #{j 20381}#)
-                             (if (= (vector-length #{j 20381}#) 4)
-                               (eq? (vector-ref #{j 20381}# 0) 'syntax-object)
-                               #f)
-                             #f)
-                         (vector-ref #{j 20381}# 1)
-                         #{j 20381}#)))
-             #f)))))
-   (#{bound-id=? 4362}#
-     (lambda (#{i 20966}# #{j 20967}#)
-       (if (if (if (vector? #{i 20966}#)
-                 (if (= (vector-length #{i 20966}#) 4)
-                   (eq? (vector-ref #{i 20966}# 0) 'syntax-object)
+                                      #f)
+                                  (vector-ref #{i 19438}# 1)
+                                  #{i 19438}#))
+                              (module-variable
+                                (if #{mj 19441}#
+                                  (resolve-module (cdr #{mj 19441}#))
+                                  (current-module))
+                                (if (if (vector? #{j 19439}#)
+                                      (if (= (vector-length #{j 19439}#) 4)
+                                        (eq? (vector-ref #{j 19439}# 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (vector-ref #{j 19439}# 1)
+                                  #{j 19439}#)))
+                         #f)
+                       #f)
+                     (equal? #{ni 19442}# #{nj 19443}#))))))))))
+   (#{bound-id=? 4435}#
+     (lambda (#{i 19708}# #{j 19709}#)
+       (if (if (if (vector? #{i 19708}#)
+                 (if (= (vector-length #{i 19708}#) 4)
+                   (eq? (vector-ref #{i 19708}# 0) 'syntax-object)
                    #f)
                  #f)
-             (if (vector? #{j 20967}#)
-               (if (= (vector-length #{j 20967}#) 4)
-                 (eq? (vector-ref #{j 20967}# 0) 'syntax-object)
+             (if (vector? #{j 19709}#)
+               (if (= (vector-length #{j 19709}#) 4)
+                 (eq? (vector-ref #{j 19709}# 0) 'syntax-object)
                  #f)
                #f)
              #f)
-         (if (eq? (vector-ref #{i 20966}# 1)
-                  (vector-ref #{j 20967}# 1))
-           (#{same-marks? 4359}#
-             (car (vector-ref #{i 20966}# 2))
-             (car (vector-ref #{j 20967}# 2)))
+         (if (eq? (vector-ref #{i 19708}# 1)
+                  (vector-ref #{j 19709}# 1))
+           (#{same-marks? 4431}#
+             (car (vector-ref #{i 19708}# 2))
+             (car (vector-ref #{j 19709}# 2)))
            #f)
-         (eq? #{i 20966}# #{j 20967}#))))
-   (#{valid-bound-ids? 4363}#
-     (lambda (#{ids 21136}#)
+         (eq? #{i 19708}# #{j 19709}#))))
+   (#{valid-bound-ids? 4436}#
+     (lambda (#{ids 19878}#)
        (if (letrec*
-             ((#{all-ids? 21137}#
-                (lambda (#{ids 21334}#)
-                  (if (null? #{ids 21334}#)
-                    (null? #{ids 21334}#)
-                    (if (let ((#{x 21345}# (car #{ids 21334}#)))
-                          (if (symbol? #{x 21345}#)
+             ((#{all-ids? 19879}#
+                (lambda (#{ids 20076}#)
+                  (if (null? #{ids 20076}#)
+                    (null? #{ids 20076}#)
+                    (if (let ((#{x 20087}# (car #{ids 20076}#)))
+                          (if (symbol? #{x 20087}#)
                             #t
-                            (if (if (vector? #{x 21345}#)
-                                  (if (= (vector-length #{x 21345}#) 4)
-                                    (eq? (vector-ref #{x 21345}# 0)
+                            (if (if (vector? #{x 20087}#)
+                                  (if (= (vector-length #{x 20087}#) 4)
+                                    (eq? (vector-ref #{x 20087}# 0)
                                          'syntax-object)
                                     #f)
                                   #f)
-                              (symbol? (vector-ref #{x 21345}# 1))
+                              (symbol? (vector-ref #{x 20087}# 1))
                               #f)))
-                      (#{all-ids? 21137}# (cdr #{ids 21334}#))
+                      (#{all-ids? 19879}# (cdr #{ids 20076}#))
                       #f)))))
-             (#{all-ids? 21137}# #{ids 21136}#))
-         (#{distinct-bound-ids? 4364}# #{ids 21136}#)
+             (#{all-ids? 19879}# #{ids 19878}#))
+         (#{distinct-bound-ids? 4437}# #{ids 19878}#)
          #f)))
-   (#{distinct-bound-ids? 4364}#
-     (lambda (#{ids 21466}#)
+   (#{distinct-bound-ids? 4437}#
+     (lambda (#{ids 20208}#)
        (letrec*
-         ((#{distinct? 21467}#
-            (lambda (#{ids 21572}#)
-              (if (null? #{ids 21572}#)
-                (null? #{ids 21572}#)
-                (if (not (#{bound-id-member? 4365}#
-                           (car #{ids 21572}#)
-                           (cdr #{ids 21572}#)))
-                  (#{distinct? 21467}# (cdr #{ids 21572}#))
+         ((#{distinct? 20209}#
+            (lambda (#{ids 20314}#)
+              (if (null? #{ids 20314}#)
+                (null? #{ids 20314}#)
+                (if (not (#{bound-id-member? 4438}#
+                           (car #{ids 20314}#)
+                           (cdr #{ids 20314}#)))
+                  (#{distinct? 20209}# (cdr #{ids 20314}#))
                   #f)))))
-         (#{distinct? 21467}# #{ids 21466}#))))
-   (#{bound-id-member? 4365}#
-     (lambda (#{x 21668}# #{list 21669}#)
-       (if (not (null? #{list 21669}#))
-         (let ((#{t 21670}#
-                 (#{bound-id=? 4362}#
-                   #{x 21668}#
-                   (car #{list 21669}#))))
-           (if #{t 21670}#
-             #{t 21670}#
-             (#{bound-id-member? 4365}#
-               #{x 21668}#
-               (cdr #{list 21669}#))))
+         (#{distinct? 20209}# #{ids 20208}#))))
+   (#{bound-id-member? 4438}#
+     (lambda (#{x 20410}# #{list 20411}#)
+       (if (not (null? #{list 20411}#))
+         (let ((#{t 20412}#
+                 (#{bound-id=? 4435}#
+                   #{x 20410}#
+                   (car #{list 20411}#))))
+           (if #{t 20412}#
+             #{t 20412}#
+             (#{bound-id-member? 4438}#
+               #{x 20410}#
+               (cdr #{list 20411}#))))
          #f)))
-   (#{source-wrap 4367}#
-     (lambda (#{x 21848}#
-              #{w 21849}#
-              #{s 21850}#
-              #{defmod 21851}#)
-       (let ((#{x 21855}#
+   (#{source-wrap 4440}#
+     (lambda (#{x 20590}#
+              #{w 20591}#
+              #{s 20592}#
+              #{defmod 20593}#)
+       (let ((#{x 20597}#
                (begin
-                 (if (if (pair? #{x 21848}#) #{s 21850}# #f)
-                   (set-source-properties! #{x 21848}# #{s 21850}#))
-                 #{x 21848}#)))
-         (if (if (null? (car #{w 21849}#))
-               (null? (cdr #{w 21849}#))
+                 (if (if (pair? #{x 20590}#) #{s 20592}# #f)
+                   (set-source-properties! #{x 20590}# #{s 20592}#))
+                 #{x 20590}#)))
+         (if (if (null? (car #{w 20591}#))
+               (null? (cdr #{w 20591}#))
                #f)
-           #{x 21855}#
-           (if (if (vector? #{x 21855}#)
-                 (if (= (vector-length #{x 21855}#) 4)
-                   (eq? (vector-ref #{x 21855}# 0) 'syntax-object)
+           #{x 20597}#
+           (if (if (vector? #{x 20597}#)
+                 (if (= (vector-length #{x 20597}#) 4)
+                   (eq? (vector-ref #{x 20597}# 0) 'syntax-object)
                    #f)
                  #f)
-             (let ((#{expression 21887}# (vector-ref #{x 21855}# 1))
-                   (#{wrap 21888}#
-                     (let ((#{w2 21896}# (vector-ref #{x 21855}# 2)))
-                       (let ((#{m1 21897}# (car #{w 21849}#))
-                             (#{s1 21898}# (cdr #{w 21849}#)))
-                         (if (null? #{m1 21897}#)
-                           (if (null? #{s1 21898}#)
-                             #{w2 21896}#
-                             (cons (car #{w2 21896}#)
-                                   (let ((#{m2 21913}# (cdr #{w2 21896}#)))
-                                     (if (null? #{m2 21913}#)
-                                       #{s1 21898}#
-                                       (append #{s1 21898}# #{m2 21913}#)))))
-                           (cons (let ((#{m2 21921}# (car #{w2 21896}#)))
-                                   (if (null? #{m2 21921}#)
-                                     #{m1 21897}#
-                                     (append #{m1 21897}# #{m2 21921}#)))
-                                 (let ((#{m2 21929}# (cdr #{w2 21896}#)))
-                                   (if (null? #{m2 21929}#)
-                                     #{s1 21898}#
-                                     (append #{s1 21898}# #{m2 21929}#))))))))
-                   (#{module 21889}# (vector-ref #{x 21855}# 3)))
+             (let ((#{expression 20629}# (vector-ref #{x 20597}# 1))
+                   (#{wrap 20630}#
+                     (let ((#{w2 20638}# (vector-ref #{x 20597}# 2)))
+                       (let ((#{m1 20639}# (car #{w 20591}#))
+                             (#{s1 20640}# (cdr #{w 20591}#)))
+                         (if (null? #{m1 20639}#)
+                           (if (null? #{s1 20640}#)
+                             #{w2 20638}#
+                             (cons (car #{w2 20638}#)
+                                   (let ((#{m2 20655}# (cdr #{w2 20638}#)))
+                                     (if (null? #{m2 20655}#)
+                                       #{s1 20640}#
+                                       (append #{s1 20640}# #{m2 20655}#)))))
+                           (cons (let ((#{m2 20663}# (car #{w2 20638}#)))
+                                   (if (null? #{m2 20663}#)
+                                     #{m1 20639}#
+                                     (append #{m1 20639}# #{m2 20663}#)))
+                                 (let ((#{m2 20671}# (cdr #{w2 20638}#)))
+                                   (if (null? #{m2 20671}#)
+                                     #{s1 20640}#
+                                     (append #{s1 20640}# #{m2 20671}#))))))))
+                   (#{module 20631}# (vector-ref #{x 20597}# 3)))
                (vector
                  'syntax-object
-                 #{expression 21887}#
-                 #{wrap 21888}#
-                 #{module 21889}#))
-             (if (null? #{x 21855}#)
-               #{x 21855}#
+                 #{expression 20629}#
+                 #{wrap 20630}#
+                 #{module 20631}#))
+             (if (null? #{x 20597}#)
+               #{x 20597}#
                (vector
                  'syntax-object
-                 #{x 21855}#
-                 #{w 21849}#
-                 #{defmod 21851}#)))))))
-   (#{chi-sequence 4368}#
-     (lambda (#{body 36928}#
-              #{r 36929}#
-              #{w 36930}#
-              #{s 36931}#
-              #{mod 36932}#)
-       (#{build-sequence 4322}#
-         #{s 36931}#
+                 #{x 20597}#
+                 #{w 20591}#
+                 #{defmod 20593}#)))))))
+   (#{chi-sequence 4441}#
+     (lambda (#{body 36121}#
+              #{r 36122}#
+              #{w 36123}#
+              #{s 36124}#
+              #{mod 36125}#)
+       (#{build-sequence 4395}#
+         #{s 36124}#
          (letrec*
-           ((#{dobody 37024}#
-              (lambda (#{body 37111}#
-                       #{r 37112}#
-                       #{w 37113}#
-                       #{mod 37114}#)
-                (if (null? #{body 37111}#)
+           ((#{dobody 36217}#
+              (lambda (#{body 36304}#
+                       #{r 36305}#
+                       #{w 36306}#
+                       #{mod 36307}#)
+                (if (null? #{body 36304}#)
                   '()
-                  (let ((#{first 37115}#
-                          (#{chi 4373}#
-                            (car #{body 37111}#)
-                            #{r 37112}#
-                            #{w 37113}#
-                            #{mod 37114}#)))
-                    (cons #{first 37115}#
-                          (#{dobody 37024}#
-                            (cdr #{body 37111}#)
-                            #{r 37112}#
-                            #{w 37113}#
-                            #{mod 37114}#)))))))
-           (#{dobody 37024}#
-             #{body 36928}#
-             #{r 36929}#
-             #{w 36930}#
-             #{mod 36932}#)))))
-   (#{chi-top-sequence 4369}#
-     (lambda (#{body 21944}#
-              #{r 21945}#
-              #{w 21946}#
-              #{s 21947}#
-              #{m 21948}#
-              #{esew 21949}#
-              #{mod 21950}#)
-       (letrec*
-         ((#{scan 21951}#
-            (lambda (#{body 22098}#
-                     #{r 22099}#
-                     #{w 22100}#
-                     #{s 22101}#
-                     #{m 22102}#
-                     #{esew 22103}#
-                     #{mod 22104}#
-                     #{exps 22105}#)
-              (if (null? #{body 22098}#)
-                #{exps 22105}#
-                (#{scan 21951}#
-                  (cdr #{body 22098}#)
-                  #{r 22099}#
-                  #{w 22100}#
-                  #{s 22101}#
-                  #{m 22102}#
-                  #{esew 22103}#
-                  #{mod 22104}#
-                  (call-with-values
-                    (lambda ()
-                      (let ((#{e 22106}# (car #{body 22098}#)))
-                        (#{syntax-type 4372}#
-                          #{e 22106}#
-                          #{r 22099}#
-                          #{w 22100}#
-                          (let ((#{t 22110}#
-                                  (#{source-annotation 4334}# #{e 22106}#)))
-                            (if #{t 22110}# #{t 22110}# #{s 22101}#))
-                          #f
-                          #{mod 22104}#
-                          #f)))
-                    (lambda (#{type 22408}#
-                             #{value 22409}#
-                             #{e 22410}#
-                             #{w 22411}#
-                             #{s 22412}#
-                             #{mod 22413}#)
-                      (if (eqv? #{type 22408}# 'begin-form)
-                        (let ((#{tmp 22418}# ($sc-dispatch #{e 22410}# '(_))))
-                          (if #{tmp 22418}#
-                            (@apply (lambda () #{exps 22105}#) #{tmp 22418}#)
-                            (let ((#{tmp 22422}#
-                                    ($sc-dispatch
-                                      #{e 22410}#
-                                      '(_ any . each-any))))
-                              (if #{tmp 22422}#
-                                (@apply
-                                  (lambda (#{e1 22426}# #{e2 22427}#)
-                                    (#{scan 21951}#
-                                      (cons #{e1 22426}# #{e2 22427}#)
-                                      #{r 22099}#
-                                      #{w 22411}#
-                                      #{s 22412}#
-                                      #{m 22102}#
-                                      #{esew 22103}#
-                                      #{mod 22413}#
-                                      #{exps 22105}#))
-                                  #{tmp 22422}#)
-                                (syntax-violation
-                                  #f
-                                  "source expression failed to match any 
pattern"
-                                  #{e 22410}#)))))
-                        (if (eqv? #{type 22408}# 'local-syntax-form)
-                          (#{chi-local-syntax 4378}#
-                            #{value 22409}#
-                            #{e 22410}#
-                            #{r 22099}#
-                            #{w 22411}#
-                            #{s 22412}#
-                            #{mod 22413}#
-                            (lambda (#{body 22442}#
-                                     #{r 22443}#
-                                     #{w 22444}#
-                                     #{s 22445}#
-                                     #{mod 22446}#)
-                              (#{scan 21951}#
-                                #{body 22442}#
-                                #{r 22443}#
-                                #{w 22444}#
-                                #{s 22445}#
-                                #{m 22102}#
-                                #{esew 22103}#
-                                #{mod 22446}#
-                                #{exps 22105}#)))
-                          (if (eqv? #{type 22408}# 'eval-when-form)
-                            (let ((#{tmp 22451}#
-                                    ($sc-dispatch
-                                      #{e 22410}#
-                                      '(_ each-any any . each-any))))
-                              (if #{tmp 22451}#
-                                (@apply
-                                  (lambda (#{x 22455}#
-                                           #{e1 22456}#
-                                           #{e2 22457}#)
-                                    (let ((#{when-list 22458}#
-                                            (#{chi-when-list 4371}#
-                                              #{e 22410}#
-                                              #{x 22455}#
-                                              #{w 22411}#))
-                                          (#{body 22459}#
-                                            (cons #{e1 22456}# #{e2 22457}#)))
-                                      (if (eq? #{m 22102}# 'e)
-                                        (if (memq 'eval #{when-list 22458}#)
-                                          (#{scan 21951}#
-                                            #{body 22459}#
-                                            #{r 22099}#
-                                            #{w 22411}#
-                                            #{s 22412}#
-                                            (if (memq 'expand
-                                                      #{when-list 22458}#)
-                                              'c&e
-                                              'e)
-                                            '(eval)
-                                            #{mod 22413}#
-                                            #{exps 22105}#)
-                                          (begin
-                                            (if (memq 'expand
-                                                      #{when-list 22458}#)
-                                              (let ((#{x 22466}#
-                                                      (#{chi-top-sequence 
4369}#
-                                                        #{body 22459}#
-                                                        #{r 22099}#
-                                                        #{w 22411}#
-                                                        #{s 22412}#
-                                                        'e
-                                                        '(eval)
-                                                        #{mod 22413}#)))
-                                                (primitive-eval #{x 22466}#)))
-                                            #{exps 22105}#))
-                                        (if (memq 'load #{when-list 22458}#)
-                                          (if (let ((#{t 22468}#
-                                                      (memq 'compile
-                                                            #{when-list 
22458}#)))
-                                                (if #{t 22468}#
-                                                  #{t 22468}#
-                                                  (let ((#{t 22470}#
-                                                          (memq 'expand
-                                                                #{when-list 
22458}#)))
-                                                    (if #{t 22470}#
-                                                      #{t 22470}#
-                                                      (if (eq? #{m 22102}#
-                                                               'c&e)
-                                                        (memq 'eval
-                                                              #{when-list 
22458}#)
-                                                        #f)))))
-                                            (#{scan 21951}#
-                                              #{body 22459}#
-                                              #{r 22099}#
-                                              #{w 22411}#
-                                              #{s 22412}#
-                                              'c&e
-                                              '(compile load)
-                                              #{mod 22413}#
-                                              #{exps 22105}#)
-                                            (if (if (eq? #{m 22102}# 'c)
-                                                  #t
-                                                  (eq? #{m 22102}# 'c&e))
-                                              (#{scan 21951}#
-                                                #{body 22459}#
-                                                #{r 22099}#
-                                                #{w 22411}#
-                                                #{s 22412}#
-                                                'c
-                                                '(load)
-                                                #{mod 22413}#
-                                                #{exps 22105}#)
-                                              #{exps 22105}#))
-                                          (if (let ((#{t 22480}#
-                                                      (memq 'compile
-                                                            #{when-list 
22458}#)))
-                                                (if #{t 22480}#
-                                                  #{t 22480}#
-                                                  (let ((#{t 22482}#
-                                                          (memq 'expand
-                                                                #{when-list 
22458}#)))
-                                                    (if #{t 22482}#
-                                                      #{t 22482}#
-                                                      (if (eq? #{m 22102}#
-                                                               'c&e)
-                                                        (memq 'eval
-                                                              #{when-list 
22458}#)
-                                                        #f)))))
-                                            (begin
-                                              (let ((#{x 22487}#
-                                                      (#{chi-top-sequence 
4369}#
-                                                        #{body 22459}#
-                                                        #{r 22099}#
-                                                        #{w 22411}#
-                                                        #{s 22412}#
-                                                        'e
-                                                        '(eval)
-                                                        #{mod 22413}#)))
-                                                (primitive-eval #{x 22487}#))
-                                              #{exps 22105}#)
-                                            #{exps 22105}#)))))
-                                  #{tmp 22451}#)
-                                (syntax-violation
-                                  #f
-                                  "source expression failed to match any 
pattern"
-                                  #{e 22410}#)))
-                            (if (eqv? #{type 22408}# 'define-syntax-form)
-                              (let ((#{n 22498}#
-                                      (#{id-var-name 4360}#
-                                        #{value 22409}#
-                                        #{w 22411}#))
-                                    (#{r 22499}#
-                                      (#{macros-only-env 4337}# #{r 22099}#)))
-                                (if (eqv? #{m 22102}# 'c)
-                                  (if (memq 'compile #{esew 22103}#)
-                                    (let ((#{e 22503}#
-                                            (#{chi-install-global 4370}#
-                                              #{n 22498}#
-                                              (#{chi 4373}#
-                                                #{e 22410}#
-                                                #{r 22499}#
-                                                #{w 22411}#
-                                                #{mod 22413}#))))
-                                      (begin
-                                        (#{top-level-eval-hook 4300}#
-                                          #{e 22503}#
-                                          #{mod 22413}#)
-                                        (if (memq 'load #{esew 22103}#)
-                                          (cons #{e 22503}# #{exps 22105}#)
-                                          #{exps 22105}#)))
-                                    (if (memq 'load #{esew 22103}#)
-                                      (cons (#{chi-install-global 4370}#
-                                              #{n 22498}#
-                                              (#{chi 4373}#
-                                                #{e 22410}#
-                                                #{r 22499}#
-                                                #{w 22411}#
-                                                #{mod 22413}#))
-                                            #{exps 22105}#)
-                                      #{exps 22105}#))
-                                  (if (eqv? #{m 22102}# 'c&e)
-                                    (let ((#{e 22949}#
-                                            (#{chi-install-global 4370}#
-                                              #{n 22498}#
-                                              (#{chi 4373}#
-                                                #{e 22410}#
-                                                #{r 22499}#
-                                                #{w 22411}#
-                                                #{mod 22413}#))))
-                                      (begin
-                                        (#{top-level-eval-hook 4300}#
-                                          #{e 22949}#
-                                          #{mod 22413}#)
-                                        (cons #{e 22949}# #{exps 22105}#)))
-                                    (begin
-                                      (if (memq 'eval #{esew 22103}#)
-                                        (#{top-level-eval-hook 4300}#
-                                          (#{chi-install-global 4370}#
-                                            #{n 22498}#
-                                            (#{chi 4373}#
-                                              #{e 22410}#
-                                              #{r 22499}#
-                                              #{w 22411}#
-                                              #{mod 22413}#))
-                                          #{mod 22413}#))
-                                      #{exps 22105}#))))
-                              (if (eqv? #{type 22408}# 'define-form)
-                                (let ((#{n 23599}#
-                                        (#{id-var-name 4360}#
-                                          #{value 22409}#
-                                          #{w 22411}#)))
-                                  (let ((#{type 23600}#
-                                          (car (let ((#{t 24602}#
-                                                       (assq #{n 23599}#
-                                                             #{r 22099}#)))
-                                                 (if #{t 24602}#
-                                                   (cdr #{t 24602}#)
-                                                   (if (symbol? #{n 23599}#)
-                                                     (let ((#{t 24607}#
-                                                             (begin
-                                                               (if (if (not 
#{mod 22413}#)
-                                                                     
(current-module)
-                                                                     #f)
-                                                                 (warn "module 
system is booted, we should have a module"
-                                                                       #{n 
23599}#))
-                                                               (let ((#{v 
24644}#
-                                                                       
(module-variable
-                                                                         (if 
#{mod 22413}#
-                                                                           
(resolve-module
-                                                                             
(cdr #{mod 22413}#))
-                                                                           
(current-module))
-                                                                         #{n 
23599}#)))
-                                                                 (if #{v 
24644}#
-                                                                   (if 
(variable-bound?
-                                                                         #{v 
24644}#)
-                                                                     (let 
((#{val 24653}#
-                                                                             
(variable-ref
-                                                                               
#{v 24644}#)))
-                                                                       (if 
(macro?
-                                                                             
#{val 24653}#)
-                                                                         (if 
(macro-type
-                                                                               
#{val 24653}#)
-                                                                           
(cons (macro-type
-                                                                               
    #{val 24653}#)
-                                                                               
  (macro-binding
-                                                                               
    #{val 24653}#))
-                                                                           #f)
-                                                                         #f))
-                                                                     #f)
-                                                                   #f)))))
-                                                       (if #{t 24607}#
-                                                         #{t 24607}#
-                                                         '(global)))
-                                                     '(displaced-lexical)))))))
-                                    (if (let ((#{t 23634}# #{type 23600}#))
-                                          (if (eqv? #{t 23634}# 'global)
-                                            #t
-                                            (if (eqv? #{t 23634}# 'core)
-                                              #t
-                                              (if (eqv? #{t 23634}# 'macro)
-                                                #t
-                                                (eqv? #{t 23634}#
-                                                      'module-ref)))))
-                                      (begin
-                                        (if (if (if (eq? #{m 22102}# 'c)
-                                                  #t
-                                                  (eq? #{m 22102}# 'c&e))
-                                              (if (not (module-local-variable
-                                                         (current-module)
-                                                         #{n 23599}#))
-                                                (current-module)
-                                                #f)
-                                              #f)
-                                          (let ((#{old 23798}#
-                                                  (module-variable
-                                                    (current-module)
-                                                    #{n 23599}#)))
-                                            (if (if (variable? #{old 23798}#)
-                                                  (variable-bound?
-                                                    #{old 23798}#)
-                                                  #f)
-                                              (module-define!
-                                                (current-module)
-                                                #{n 23599}#
-                                                (variable-ref #{old 23798}#))
-                                              (module-add!
-                                                (current-module)
-                                                #{n 23599}#
-                                                (make-undefined-variable)))))
-                                        (cons (if (eq? #{m 22102}# 'c&e)
-                                                (let ((#{x 23800}#
-                                                        
(#{build-global-definition 4315}#
-                                                          #{s 22412}#
-                                                          #{n 23599}#
-                                                          (#{chi 4373}#
-                                                            #{e 22410}#
-                                                            #{r 22099}#
-                                                            #{w 22411}#
-                                                            #{mod 22413}#))))
-                                                  (begin
-                                                    (#{top-level-eval-hook 
4300}#
-                                                      #{x 23800}#
-                                                      #{mod 22413}#)
-                                                    #{x 23800}#))
-                                                (lambda ()
-                                                  (#{build-global-definition 
4315}#
-                                                    #{s 22412}#
-                                                    #{n 23599}#
-                                                    (#{chi 4373}#
-                                                      #{e 22410}#
-                                                      #{r 22099}#
-                                                      #{w 22411}#
-                                                      #{mod 22413}#))))
-                                              #{exps 22105}#))
-                                      (if (let ((#{t 24337}# #{type 23600}#))
-                                            (eqv? #{t 24337}#
-                                                  'displaced-lexical))
-                                        (syntax-violation
-                                          #f
-                                          "identifier out of context"
-                                          #{e 22410}#
-                                          (if (if (null? (car #{w 22411}#))
-                                                (null? (cdr #{w 22411}#))
-                                                #f)
-                                            #{value 22409}#
-                                            (if (if (vector? #{value 22409}#)
-                                                  (if (= (vector-length
-                                                           #{value 22409}#)
-                                                         4)
-                                                    (eq? (vector-ref
-                                                           #{value 22409}#
-                                                           0)
-                                                         'syntax-object)
-                                                    #f)
-                                                  #f)
-                                              (let ((#{expression 24429}#
-                                                      (vector-ref
-                                                        #{value 22409}#
-                                                        1))
-                                                    (#{wrap 24430}#
-                                                      (let ((#{w2 24440}#
-                                                              (vector-ref
-                                                                #{value 22409}#
-                                                                2)))
-                                                        (let ((#{m1 24441}#
-                                                                (car #{w 
22411}#))
-                                                              (#{s1 24442}#
-                                                                (cdr #{w 
22411}#)))
-                                                          (if (null? #{m1 
24441}#)
-                                                            (if (null? #{s1 
24442}#)
-                                                              #{w2 24440}#
-                                                              (cons (car #{w2 
24440}#)
-                                                                    (let 
((#{m2 24459}#
-                                                                            
(cdr #{w2 24440}#)))
-                                                                      (if 
(null? #{m2 24459}#)
-                                                                        #{s1 
24442}#
-                                                                        (append
-                                                                          #{s1 
24442}#
-                                                                          #{m2 
24459}#)))))
-                                                            (cons (let ((#{m2 
24467}#
-                                                                          (car 
#{w2 24440}#)))
-                                                                    (if (null? 
#{m2 24467}#)
-                                                                      #{m1 
24441}#
-                                                                      (append
-                                                                        #{m1 
24441}#
-                                                                        #{m2 
24467}#)))
-                                                                  (let ((#{m2 
24475}#
-                                                                          (cdr 
#{w2 24440}#)))
-                                                                    (if (null? 
#{m2 24475}#)
-                                                                      #{s1 
24442}#
-                                                                      (append
-                                                                        #{s1 
24442}#
-                                                                        #{m2 
24475}#))))))))
-                                                    (#{module 24431}#
-                                                      (vector-ref
-                                                        #{value 22409}#
-                                                        3)))
-                                                (vector
-                                                  'syntax-object
-                                                  #{expression 24429}#
-                                                  #{wrap 24430}#
-                                                  #{module 24431}#))
-                                              (if (null? #{value 22409}#)
-                                                #{value 22409}#
-                                                (vector
-                                                  'syntax-object
-                                                  #{value 22409}#
-                                                  #{w 22411}#
-                                                  #{mod 22413}#)))))
-                                        (syntax-violation
-                                          #f
-                                          "cannot define keyword at top level"
-                                          #{e 22410}#
-                                          (if (if (null? (car #{w 22411}#))
-                                                (null? (cdr #{w 22411}#))
-                                                #f)
-                                            #{value 22409}#
-                                            (if (if (vector? #{value 22409}#)
-                                                  (if (= (vector-length
-                                                           #{value 22409}#)
-                                                         4)
-                                                    (eq? (vector-ref
-                                                           #{value 22409}#
-                                                           0)
-                                                         'syntax-object)
-                                                    #f)
-                                                  #f)
-                                              (let ((#{expression 24527}#
+                  (let ((#{first 36308}#
+                          (#{chi 4446}#
+                            (car #{body 36304}#)
+                            #{r 36305}#
+                            #{w 36306}#
+                            #{mod 36307}#)))
+                    (cons #{first 36308}#
+                          (#{dobody 36217}#
+                            (cdr #{body 36304}#)
+                            #{r 36305}#
+                            #{w 36306}#
+                            #{mod 36307}#)))))))
+           (#{dobody 36217}#
+             #{body 36121}#
+             #{r 36122}#
+             #{w 36123}#
+             #{mod 36125}#)))))
+   (#{chi-top-sequence 4442}#
+     (lambda (#{body 20686}#
+              #{r 20687}#
+              #{w 20688}#
+              #{s 20689}#
+              #{m 20690}#
+              #{esew 20691}#
+              #{mod 20692}#)
+       (let ((#{r 20693}#
+               (cons '("placeholder" placeholder) #{r 20687}#)))
+         (let ((#{ribcage 20694}# (vector 'ribcage '() '() '())))
+           (let ((#{w 20695}#
+                   (cons (car #{w 20688}#)
+                         (cons #{ribcage 20694}# (cdr #{w 20688}#)))))
+             (letrec*
+               ((#{record-definition! 20696}#
+                  (lambda (#{id 23703}# #{var 23704}#)
+                    (let ((#{mod 23705}#
+                            (cons 'hygiene (module-name (current-module)))))
+                      (let ((#{label 23711}#
+                              (cons (vector-ref #{id 23703}# 3)
+                                    (if (if (vector? #{var 23704}#)
+                                          (if (= (vector-length #{var 23704}#)
+                                                 4)
+                                            (eq? (vector-ref #{var 23704}# 0)
+                                                 'syntax-object)
+                                            #f)
+                                          #f)
+                                      (let ((#{expression 23773}#
+                                              (vector-ref #{var 23704}# 1))
+                                            (#{wrap 23774}#
+                                              (let ((#{w2 23784}#
                                                       (vector-ref
-                                                        #{value 22409}#
-                                                        1))
-                                                    (#{wrap 24528}#
-                                                      (let ((#{w2 24538}#
-                                                              (vector-ref
-                                                                #{value 22409}#
-                                                                2)))
-                                                        (let ((#{m1 24539}#
-                                                                (car #{w 
22411}#))
-                                                              (#{s1 24540}#
-                                                                (cdr #{w 
22411}#)))
-                                                          (if (null? #{m1 
24539}#)
-                                                            (if (null? #{s1 
24540}#)
-                                                              #{w2 24538}#
-                                                              (cons (car #{w2 
24538}#)
-                                                                    (let 
((#{m2 24557}#
-                                                                            
(cdr #{w2 24538}#)))
-                                                                      (if 
(null? #{m2 24557}#)
-                                                                        #{s1 
24540}#
-                                                                        (append
-                                                                          #{s1 
24540}#
-                                                                          #{m2 
24557}#)))))
-                                                            (cons (let ((#{m2 
24565}#
-                                                                          (car 
#{w2 24538}#)))
-                                                                    (if (null? 
#{m2 24565}#)
-                                                                      #{m1 
24539}#
-                                                                      (append
-                                                                        #{m1 
24539}#
-                                                                        #{m2 
24565}#)))
-                                                                  (let ((#{m2 
24573}#
-                                                                          (cdr 
#{w2 24538}#)))
-                                                                    (if (null? 
#{m2 24573}#)
-                                                                      #{s1 
24540}#
-                                                                      (append
-                                                                        #{s1 
24540}#
-                                                                        #{m2 
24573}#))))))))
-                                                    (#{module 24529}#
+                                                        #{var 23704}#
+                                                        2)))
+                                                (cons (let ((#{m2 23791}#
+                                                              (car #{w2 
23784}#)))
+                                                        (if (null? #{m2 
23791}#)
+                                                          '(top)
+                                                          (append
+                                                            '(top)
+                                                            #{m2 23791}#)))
+                                                      (let ((#{m2 23800}#
+                                                              (cdr #{w2 
23784}#)))
+                                                        (if (null? #{m2 
23800}#)
+                                                          '()
+                                                          (append
+                                                            '()
+                                                            #{m2 23800}#))))))
+                                            (#{module 23775}#
+                                              (vector-ref #{var 23704}# 3)))
+                                        (vector
+                                          'syntax-object
+                                          #{expression 23773}#
+                                          #{wrap 23774}#
+                                          #{module 23775}#))
+                                      (if (null? #{var 23704}#)
+                                        #{var 23704}#
+                                        (vector
+                                          'syntax-object
+                                          #{var 23704}#
+                                          '((top))
+                                          #{mod 23705}#))))))
+                        (begin
+                          (let ((#{update 23714}#
+                                  (cons (vector-ref #{id 23703}# 1)
+                                        (vector-ref #{ribcage 20694}# 1))))
+                            (vector-set!
+                              #{ribcage 20694}#
+                              1
+                              #{update 23714}#))
+                          (let ((#{update 23729}#
+                                  (cons (car (vector-ref #{id 23703}# 2))
+                                        (vector-ref #{ribcage 20694}# 2))))
+                            (vector-set!
+                              #{ribcage 20694}#
+                              2
+                              #{update 23729}#))
+                          (let ((#{update 23744}#
+                                  (cons #{label 23711}#
+                                        (vector-ref #{ribcage 20694}# 3))))
+                            (vector-set!
+                              #{ribcage 20694}#
+                              3
+                              #{update 23744}#)))))))
+                (#{parse 20699}#
+                  (lambda (#{body 20904}#
+                           #{r 20905}#
+                           #{w 20906}#
+                           #{s 20907}#
+                           #{m 20908}#
+                           #{esew 20909}#
+                           #{mod 20910}#)
+                    (letrec*
+                      ((#{lp 20911}#
+                         (lambda (#{body 20998}# #{exps 20999}#)
+                           (if (null? #{body 20998}#)
+                             #{exps 20999}#
+                             (#{lp 20911}#
+                               (cdr #{body 20998}#)
+                               (append
+                                 (#{parse1 20700}#
+                                   (car #{body 20998}#)
+                                   #{r 20905}#
+                                   #{w 20906}#
+                                   #{s 20907}#
+                                   #{m 20908}#
+                                   #{esew 20909}#
+                                   #{mod 20910}#)
+                                 #{exps 20999}#))))))
+                      (#{lp 20911}# #{body 20904}# '()))))
+                (#{parse1 20700}#
+                  (lambda (#{x 21073}#
+                           #{r 21074}#
+                           #{w 21075}#
+                           #{s 21076}#
+                           #{m 21077}#
+                           #{esew 21078}#
+                           #{mod 21079}#)
+                    (call-with-values
+                      (lambda ()
+                        (#{syntax-type 4445}#
+                          #{x 21073}#
+                          #{r 21074}#
+                          #{w 21075}#
+                          (#{source-annotation 4407}# #{x 21073}#)
+                          #{ribcage 20694}#
+                          #{mod 21079}#
+                          #f))
+                      (lambda (#{type 21283}#
+                               #{value 21284}#
+                               #{e 21285}#
+                               #{w 21286}#
+                               #{s 21287}#
+                               #{mod 21288}#)
+                        (if (eqv? #{type 21283}# 'define-form)
+                          (let ((#{id 21292}#
+                                  (if (if (null? (car #{w 21286}#))
+                                        (null? (cdr #{w 21286}#))
+                                        #f)
+                                    #{value 21284}#
+                                    (if (if (vector? #{value 21284}#)
+                                          (if (= (vector-length
+                                                   #{value 21284}#)
+                                                 4)
+                                            (eq? (vector-ref #{value 21284}# 0)
+                                                 'syntax-object)
+                                            #f)
+                                          #f)
+                                      (let ((#{expression 21342}#
+                                              (vector-ref #{value 21284}# 1))
+                                            (#{wrap 21343}#
+                                              (let ((#{w2 21353}#
                                                       (vector-ref
-                                                        #{value 22409}#
-                                                        3)))
-                                                (vector
-                                                  'syntax-object
-                                                  #{expression 24527}#
-                                                  #{wrap 24528}#
-                                                  #{module 24529}#))
-                                              (if (null? #{value 22409}#)
-                                                #{value 22409}#
-                                                (vector
-                                                  'syntax-object
-                                                  #{value 22409}#
-                                                  #{w 22411}#
-                                                  #{mod 22413}#)))))))))
-                                (cons (if (eq? #{m 22102}# 'c&e)
-                                        (let ((#{x 24664}#
-                                                (#{chi-expr 4374}#
-                                                  #{type 22408}#
-                                                  #{value 22409}#
-                                                  #{e 22410}#
-                                                  #{r 22099}#
-                                                  #{w 22411}#
-                                                  #{s 22412}#
-                                                  #{mod 22413}#)))
+                                                        #{value 21284}#
+                                                        2)))
+                                                (let ((#{m1 21354}#
+                                                        (car #{w 21286}#))
+                                                      (#{s1 21355}#
+                                                        (cdr #{w 21286}#)))
+                                                  (if (null? #{m1 21354}#)
+                                                    (if (null? #{s1 21355}#)
+                                                      #{w2 21353}#
+                                                      (cons (car #{w2 21353}#)
+                                                            (let ((#{m2 21372}#
+                                                                    (cdr #{w2 
21353}#)))
+                                                              (if (null? #{m2 
21372}#)
+                                                                #{s1 21355}#
+                                                                (append
+                                                                  #{s1 21355}#
+                                                                  #{m2 
21372}#)))))
+                                                    (cons (let ((#{m2 21380}#
+                                                                  (car #{w2 
21353}#)))
+                                                            (if (null? #{m2 
21380}#)
+                                                              #{m1 21354}#
+                                                              (append
+                                                                #{m1 21354}#
+                                                                #{m2 21380}#)))
+                                                          (let ((#{m2 21388}#
+                                                                  (cdr #{w2 
21353}#)))
+                                                            (if (null? #{m2 
21388}#)
+                                                              #{s1 21355}#
+                                                              (append
+                                                                #{s1 21355}#
+                                                                #{m2 
21388}#))))))))
+                                            (#{module 21344}#
+                                              (vector-ref #{value 21284}# 3)))
+                                        (vector
+                                          'syntax-object
+                                          #{expression 21342}#
+                                          #{wrap 21343}#
+                                          #{module 21344}#))
+                                      (if (null? #{value 21284}#)
+                                        #{value 21284}#
+                                        (vector
+                                          'syntax-object
+                                          #{value 21284}#
+                                          #{w 21286}#
+                                          #{mod 21288}#))))))
+                            (begin
+                              (symbol->string (gensym "i"))
+                              (let ((#{var 21294}#
+                                      (if (not (equal?
+                                                 (car (vector-ref
+                                                        #{id 21292}#
+                                                        2))
+                                                 '(top)))
+                                        (symbol-append
+                                          (vector-ref #{id 21292}# 1)
+                                          '-
+                                          (string->symbol
+                                            (number->string
+                                              (hash (syntax->datum #{x 21073}#)
+                                                    most-positive-fixnum)
+                                              16)))
+                                        (vector-ref #{id 21292}# 1))))
+                                (begin
+                                  (#{record-definition! 20696}#
+                                    #{id 21292}#
+                                    #{var 21294}#)
+                                  (list (if (eq? #{m 21077}# 'c&e)
+                                          (let ((#{x 21519}#
+                                                  (#{build-global-definition 
4388}#
+                                                    #{s 21287}#
+                                                    #{var 21294}#
+                                                    (#{chi 4446}#
+                                                      #{e 21285}#
+                                                      #{r 21074}#
+                                                      #{w 21286}#
+                                                      #{mod 21288}#))))
+                                            (begin
+                                              (#{top-level-eval-hook 4373}#
+                                                #{x 21519}#
+                                                #{mod 21288}#)
+                                              (lambda () #{x 21519}#)))
+                                          (lambda ()
+                                            (#{build-global-definition 4388}#
+                                              #{s 21287}#
+                                              #{var 21294}#
+                                              (#{chi 4446}#
+                                                #{e 21285}#
+                                                #{r 21074}#
+                                                #{w 21286}#
+                                                #{mod 21288}#)))))))))
+                          (if (if (eqv? #{type 21283}# 'define-syntax-form)
+                                #t
+                                (eqv? #{type 21283}#
+                                      'define-syntax-parameter-form))
+                            (let ((#{id 22035}#
+                                    (if (if (null? (car #{w 21286}#))
+                                          (null? (cdr #{w 21286}#))
+                                          #f)
+                                      #{value 21284}#
+                                      (if (if (vector? #{value 21284}#)
+                                            (if (= (vector-length
+                                                     #{value 21284}#)
+                                                   4)
+                                              (eq? (vector-ref
+                                                     #{value 21284}#
+                                                     0)
+                                                   'syntax-object)
+                                              #f)
+                                            #f)
+                                        (let ((#{expression 22085}#
+                                                (vector-ref #{value 21284}# 1))
+                                              (#{wrap 22086}#
+                                                (let ((#{w2 22096}#
+                                                        (vector-ref
+                                                          #{value 21284}#
+                                                          2)))
+                                                  (let ((#{m1 22097}#
+                                                          (car #{w 21286}#))
+                                                        (#{s1 22098}#
+                                                          (cdr #{w 21286}#)))
+                                                    (if (null? #{m1 22097}#)
+                                                      (if (null? #{s1 22098}#)
+                                                        #{w2 22096}#
+                                                        (cons (car #{w2 
22096}#)
+                                                              (let ((#{m2 
22115}#
+                                                                      (cdr 
#{w2 22096}#)))
+                                                                (if (null? 
#{m2 22115}#)
+                                                                  #{s1 22098}#
+                                                                  (append
+                                                                    #{s1 
22098}#
+                                                                    #{m2 
22115}#)))))
+                                                      (cons (let ((#{m2 22123}#
+                                                                    (car #{w2 
22096}#)))
+                                                              (if (null? #{m2 
22123}#)
+                                                                #{m1 22097}#
+                                                                (append
+                                                                  #{m1 22097}#
+                                                                  #{m2 
22123}#)))
+                                                            (let ((#{m2 22131}#
+                                                                    (cdr #{w2 
22096}#)))
+                                                              (if (null? #{m2 
22131}#)
+                                                                #{s1 22098}#
+                                                                (append
+                                                                  #{s1 22098}#
+                                                                  #{m2 
22131}#))))))))
+                                              (#{module 22087}#
+                                                (vector-ref
+                                                  #{value 21284}#
+                                                  3)))
+                                          (vector
+                                            'syntax-object
+                                            #{expression 22085}#
+                                            #{wrap 22086}#
+                                            #{module 22087}#))
+                                        (if (null? #{value 21284}#)
+                                          #{value 21284}#
+                                          (vector
+                                            'syntax-object
+                                            #{value 21284}#
+                                            #{w 21286}#
+                                            #{mod 21288}#))))))
+                              (begin
+                                (symbol->string (gensym "i"))
+                                (let ((#{var 22037}#
+                                        (if (not (equal?
+                                                   (car (vector-ref
+                                                          #{id 22035}#
+                                                          2))
+                                                   '(top)))
+                                          (symbol-append
+                                            (vector-ref #{id 22035}# 1)
+                                            '-
+                                            (string->symbol
+                                              (number->string
+                                                (hash (syntax->datum
+                                                        #{x 21073}#)
+                                                      most-positive-fixnum)
+                                                16)))
+                                          (vector-ref #{id 22035}# 1))))
+                                  (begin
+                                    (#{record-definition! 20696}#
+                                      #{id 22035}#
+                                      #{var 22037}#)
+                                    (if (eqv? #{m 21077}# 'c)
+                                      (if (memq 'compile #{esew 21078}#)
+                                        (let ((#{e 22265}#
+                                                (#{chi-install-global 4443}#
+                                                  #{var 22037}#
+                                                  #{type 21283}#
+                                                  (#{chi 4446}#
+                                                    #{e 21285}#
+                                                    #{r 21074}#
+                                                    #{w 21286}#
+                                                    #{mod 21288}#))))
                                           (begin
-                                            (primitive-eval #{x 24664}#)
-                                            #{x 24664}#))
-                                        (lambda ()
-                                          (#{chi-expr 4374}#
-                                            #{type 22408}#
-                                            #{value 22409}#
-                                            #{e 22410}#
-                                            #{r 22099}#
-                                            #{w 22411}#
-                                            #{s 22412}#
-                                            #{mod 22413}#)))
-                                      #{exps 22105}#)))))))))))))
-         (let ((#{exps 21952}#
-                 (#{scan 21951}#
-                   #{body 21944}#
-                   #{r 21945}#
-                   #{w 21946}#
-                   #{s 21947}#
-                   #{m 21948}#
-                   #{esew 21949}#
-                   #{mod 21950}#
-                   '())))
-           (if (null? #{exps 21952}#)
-             (make-struct/no-tail
-               (vector-ref %expanded-vtables 0)
-               #{s 21947}#)
-             (#{build-sequence 4322}#
-               #{s 21947}#
-               (letrec*
-                 ((#{lp 21998}#
-                    (lambda (#{in 22094}# #{out 22095}#)
-                      (if (null? #{in 22094}#)
-                        #{out 22095}#
-                        (let ((#{e 22096}# (car #{in 22094}#)))
-                          (#{lp 21998}#
-                            (cdr #{in 22094}#)
-                            (cons (if (procedure? #{e 22096}#)
-                                    (#{e 22096}#)
-                                    #{e 22096}#)
-                                  #{out 22095}#)))))))
-                 (#{lp 21998}# #{exps 21952}# '()))))))))
-   (#{chi-install-global 4370}#
-     (lambda (#{name 24673}# #{e 24674}#)
-       (let ((#{exp 24680}#
-               (let ((#{args 24691}#
-                       (list (make-struct/no-tail
-                               (vector-ref %expanded-vtables 1)
-                               #f
-                               #{name 24673}#)
-                             (make-struct/no-tail
-                               (vector-ref %expanded-vtables 1)
-                               #f
-                               'macro)
-                             #{e 24674}#)))
+                                            (#{top-level-eval-hook 4373}#
+                                              #{e 22265}#
+                                              #{mod 21288}#)
+                                            (if (memq 'load #{esew 21078}#)
+                                              (list (lambda () #{e 22265}#))
+                                              '())))
+                                        (if (memq 'load #{esew 21078}#)
+                                          (list (lambda ()
+                                                  (#{chi-install-global 4443}#
+                                                    #{var 22037}#
+                                                    #{type 21283}#
+                                                    (#{chi 4446}#
+                                                      #{e 21285}#
+                                                      #{r 21074}#
+                                                      #{w 21286}#
+                                                      #{mod 21288}#))))
+                                          '()))
+                                      (if (eqv? #{m 21077}# 'c&e)
+                                        (let ((#{e 22785}#
+                                                (#{chi-install-global 4443}#
+                                                  #{var 22037}#
+                                                  #{type 21283}#
+                                                  (#{chi 4446}#
+                                                    #{e 21285}#
+                                                    #{r 21074}#
+                                                    #{w 21286}#
+                                                    #{mod 21288}#))))
+                                          (begin
+                                            (#{top-level-eval-hook 4373}#
+                                              #{e 22785}#
+                                              #{mod 21288}#)
+                                            (list (lambda () #{e 22785}#))))
+                                        (begin
+                                          (if (memq 'eval #{esew 21078}#)
+                                            (#{top-level-eval-hook 4373}#
+                                              (#{chi-install-global 4443}#
+                                                #{var 22037}#
+                                                #{type 21283}#
+                                                (#{chi 4446}#
+                                                  #{e 21285}#
+                                                  #{r 21074}#
+                                                  #{w 21286}#
+                                                  #{mod 21288}#))
+                                              #{mod 21288}#))
+                                          '())))))))
+                            (if (eqv? #{type 21283}# 'begin-form)
+                              (let ((#{tmp 23414}#
+                                      ($sc-dispatch
+                                        #{e 21285}#
+                                        '(_ . each-any))))
+                                (if #{tmp 23414}#
+                                  (@apply
+                                    (lambda (#{e1 23418}#)
+                                      (#{parse 20699}#
+                                        #{e1 23418}#
+                                        #{r 21074}#
+                                        #{w 21286}#
+                                        #{s 21287}#
+                                        #{m 21077}#
+                                        #{esew 21078}#
+                                        #{mod 21288}#))
+                                    #{tmp 23414}#)
+                                  (syntax-violation
+                                    #f
+                                    "source expression failed to match any 
pattern"
+                                    #{e 21285}#)))
+                              (if (eqv? #{type 21283}# 'local-syntax-form)
+                                (#{chi-local-syntax 4451}#
+                                  #{value 21284}#
+                                  #{e 21285}#
+                                  #{r 21074}#
+                                  #{w 21286}#
+                                  #{s 21287}#
+                                  #{mod 21288}#
+                                  (lambda (#{forms 23464}#
+                                           #{r 23465}#
+                                           #{w 23466}#
+                                           #{s 23467}#
+                                           #{mod 23468}#)
+                                    (#{parse 20699}#
+                                      #{forms 23464}#
+                                      #{r 23465}#
+                                      #{w 23466}#
+                                      #{s 23467}#
+                                      #{m 21077}#
+                                      #{esew 21078}#
+                                      #{mod 23468}#)))
+                                (if (eqv? #{type 21283}# 'eval-when-form)
+                                  (let ((#{tmp 23507}#
+                                          ($sc-dispatch
+                                            #{e 21285}#
+                                            '(_ each-any any . each-any))))
+                                    (if #{tmp 23507}#
+                                      (@apply
+                                        (lambda (#{x 23511}#
+                                                 #{e1 23512}#
+                                                 #{e2 23513}#)
+                                          (let ((#{when-list 23514}#
+                                                  (#{chi-when-list 4444}#
+                                                    #{e 21285}#
+                                                    #{x 23511}#
+                                                    #{w 21286}#))
+                                                (#{body 23515}#
+                                                  (cons #{e1 23512}#
+                                                        #{e2 23513}#)))
+                                            (letrec*
+                                              ((#{recurse 23516}#
+                                                 (lambda (#{m 23652}#
+                                                          #{esew 23653}#)
+                                                   (#{parse 20699}#
+                                                     #{body 23515}#
+                                                     #{r 21074}#
+                                                     #{w 21286}#
+                                                     #{s 21287}#
+                                                     #{m 23652}#
+                                                     #{esew 23653}#
+                                                     #{mod 21288}#))))
+                                              (if (eq? #{m 21077}# 'e)
+                                                (if (memq 'eval
+                                                          #{when-list 23514}#)
+                                                  (#{recurse 23516}#
+                                                    (if (memq 'expand
+                                                              #{when-list 
23514}#)
+                                                      'c&e
+                                                      'e)
+                                                    '(eval))
+                                                  (begin
+                                                    (if (memq 'expand
+                                                              #{when-list 
23514}#)
+                                                      (let ((#{x 23557}#
+                                                              
(#{chi-top-sequence 4442}#
+                                                                #{body 23515}#
+                                                                #{r 21074}#
+                                                                #{w 21286}#
+                                                                #{s 21287}#
+                                                                'e
+                                                                '(eval)
+                                                                #{mod 
21288}#)))
+                                                        (primitive-eval
+                                                          #{x 23557}#)))
+                                                    '()))
+                                                (if (memq 'load
+                                                          #{when-list 23514}#)
+                                                  (if (let ((#{t 23559}#
+                                                              (memq 'compile
+                                                                    
#{when-list 23514}#)))
+                                                        (if #{t 23559}#
+                                                          #{t 23559}#
+                                                          (let ((#{t 23561}#
+                                                                  (memq 'expand
+                                                                        
#{when-list 23514}#)))
+                                                            (if #{t 23561}#
+                                                              #{t 23561}#
+                                                              (if (eq? #{m 
21077}#
+                                                                       'c&e)
+                                                                (memq 'eval
+                                                                      
#{when-list 23514}#)
+                                                                #f)))))
+                                                    (#{recurse 23516}#
+                                                      'c&e
+                                                      '(compile load))
+                                                    (if (if (eq? #{m 21077}#
+                                                                 'c)
+                                                          #t
+                                                          (eq? #{m 21077}#
+                                                               'c&e))
+                                                      (#{recurse 23516}#
+                                                        'c
+                                                        '(load))
+                                                      '()))
+                                                  (if (let ((#{t 23643}#
+                                                              (memq 'compile
+                                                                    
#{when-list 23514}#)))
+                                                        (if #{t 23643}#
+                                                          #{t 23643}#
+                                                          (let ((#{t 23645}#
+                                                                  (memq 'expand
+                                                                        
#{when-list 23514}#)))
+                                                            (if #{t 23645}#
+                                                              #{t 23645}#
+                                                              (if (eq? #{m 
21077}#
+                                                                       'c&e)
+                                                                (memq 'eval
+                                                                      
#{when-list 23514}#)
+                                                                #f)))))
+                                                    (begin
+                                                      (let ((#{x 23650}#
+                                                              
(#{chi-top-sequence 4442}#
+                                                                #{body 23515}#
+                                                                #{r 21074}#
+                                                                #{w 21286}#
+                                                                #{s 21287}#
+                                                                'e
+                                                                '(eval)
+                                                                #{mod 
21288}#)))
+                                                        (primitive-eval
+                                                          #{x 23650}#))
+                                                      '())
+                                                    '()))))))
+                                        #{tmp 23507}#)
+                                      (syntax-violation
+                                        #f
+                                        "source expression failed to match any 
pattern"
+                                        #{e 21285}#)))
+                                  (list (if (eq? #{m 21077}# 'c&e)
+                                          (let ((#{x 23694}#
+                                                  (#{chi-expr 4447}#
+                                                    #{type 21283}#
+                                                    #{value 21284}#
+                                                    #{e 21285}#
+                                                    #{r 21074}#
+                                                    #{w 21286}#
+                                                    #{s 21287}#
+                                                    #{mod 21288}#)))
+                                            (begin
+                                              (primitive-eval #{x 23694}#)
+                                              (lambda () #{x 23694}#)))
+                                          (lambda ()
+                                            (#{chi-expr 4447}#
+                                              #{type 21283}#
+                                              #{value 21284}#
+                                              #{e 21285}#
+                                              #{r 21074}#
+                                              #{w 21286}#
+                                              #{s 21287}#
+                                              #{mod 21288}#))))))))))))))
+               (let ((#{exps 20701}#
+                       (map (lambda (#{x 20832}#) (#{x 20832}#))
+                            (reverse
+                              (#{parse 20699}#
+                                #{body 20686}#
+                                #{r 20693}#
+                                #{w 20695}#
+                                #{s 20689}#
+                                #{m 20690}#
+                                #{esew 20691}#
+                                #{mod 20692}#)))))
+                 (if (null? #{exps 20701}#)
+                   (make-struct/no-tail
+                     (vector-ref %expanded-vtables 0)
+                     #{s 20689}#)
+                   (#{build-sequence 4395}#
+                     #{s 20689}#
+                     #{exps 20701}#)))))))))
+   (#{chi-install-global 4443}#
+     (lambda (#{name 23822}# #{type 23823}# #{e 23824}#)
+       (let ((#{exp 23830}#
+               (let ((#{args 23841}#
+                       (if (eq? #{type 23823}#
+                                'define-syntax-parameter-form)
+                         (list (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 1)
+                                 #f
+                                 #{name 23822}#)
+                               (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 1)
+                                 #f
+                                 'syntax-parameter)
+                               (let ((#{args 23864}# (list #{e 23824}#)))
+                                 (make-struct/no-tail
+                                   (vector-ref %expanded-vtables 12)
+                                   #f
+                                   'list
+                                   #{args 23864}#)))
+                         (list (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 1)
+                                 #f
+                                 #{name 23822}#)
+                               (make-struct/no-tail
+                                 (vector-ref %expanded-vtables 1)
+                                 #f
+                                 'macro)
+                               #{e 23824}#))))
                  (make-struct/no-tail
                    (vector-ref %expanded-vtables 12)
                    #f
                    'make-syntax-transformer
-                   #{args 24691}#))))
+                   #{args 23841}#))))
          (begin
-           (if (if (struct? #{exp 24680}#)
-                 (eq? (struct-vtable #{exp 24680}#)
+           (if (if (struct? #{exp 23830}#)
+                 (eq? (struct-vtable #{exp 23830}#)
                       (vector-ref %expanded-vtables 14))
                  #f)
-             (let ((#{meta 24718}# (struct-ref #{exp 24680}# 1)))
-               (if (not (assq 'name #{meta 24718}#))
-                 (let ((#{v 24725}#
-                         (cons (cons 'name #{name 24673}#) #{meta 24718}#)))
-                   (struct-set! #{exp 24680}# 1 #{v 24725}#)))))
+             (let ((#{meta 23891}# (struct-ref #{exp 23830}# 1)))
+               (if (not (assq 'name #{meta 23891}#))
+                 (let ((#{v 23898}#
+                         (cons (cons 'name #{name 23822}#) #{meta 23891}#)))
+                   (struct-set! #{exp 23830}# 1 #{v 23898}#)))))
            (make-struct/no-tail
              (vector-ref %expanded-vtables 9)
              #f
-             #{name 24673}#
-             #{exp 24680}#)))))
-   (#{chi-when-list 4371}#
-     (lambda (#{e 24736}# #{when-list 24737}# #{w 24738}#)
+             #{name 23822}#
+             #{exp 23830}#)))))
+   (#{chi-when-list 4444}#
+     (lambda (#{e 23909}# #{when-list 23910}# #{w 23911}#)
        (letrec*
-         ((#{f 24739}#
-            (lambda (#{when-list 24941}# #{situations 24942}#)
-              (if (null? #{when-list 24941}#)
-                #{situations 24942}#
-                (#{f 24739}#
-                  (cdr #{when-list 24941}#)
-                  (cons (let ((#{x 24943}#
-                                (syntax->datum (car #{when-list 24941}#))))
-                          (if (if (eq? #{x 24943}# 'compile)
+         ((#{f 23912}#
+            (lambda (#{when-list 24114}# #{situations 24115}#)
+              (if (null? #{when-list 24114}#)
+                #{situations 24115}#
+                (#{f 23912}#
+                  (cdr #{when-list 24114}#)
+                  (cons (let ((#{x 24116}#
+                                (syntax->datum (car #{when-list 24114}#))))
+                          (if (if (eq? #{x 24116}# 'compile)
                                 #t
-                                (if (eq? #{x 24943}# 'load)
+                                (if (eq? #{x 24116}# 'load)
                                   #t
-                                  (if (eq? #{x 24943}# 'eval)
+                                  (if (eq? #{x 24116}# 'eval)
                                     #t
-                                    (eq? #{x 24943}# 'expand))))
-                            #{x 24943}#
+                                    (eq? #{x 24116}# 'expand))))
+                            #{x 24116}#
                             (syntax-violation
                               'eval-when
                               "invalid situation"
-                              #{e 24736}#
-                              (let ((#{x 24962}# (car #{when-list 24941}#)))
-                                (if (if (null? (car #{w 24738}#))
-                                      (null? (cdr #{w 24738}#))
+                              #{e 23909}#
+                              (let ((#{x 24135}# (car #{when-list 24114}#)))
+                                (if (if (null? (car #{w 23911}#))
+                                      (null? (cdr #{w 23911}#))
                                       #f)
-                                  #{x 24962}#
-                                  (if (if (vector? #{x 24962}#)
-                                        (if (= (vector-length #{x 24962}#) 4)
-                                          (eq? (vector-ref #{x 24962}# 0)
+                                  #{x 24135}#
+                                  (if (if (vector? #{x 24135}#)
+                                        (if (= (vector-length #{x 24135}#) 4)
+                                          (eq? (vector-ref #{x 24135}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (let ((#{expression 24980}#
-                                            (vector-ref #{x 24962}# 1))
-                                          (#{wrap 24981}#
-                                            (let ((#{w2 24989}#
+                                    (let ((#{expression 24153}#
+                                            (vector-ref #{x 24135}# 1))
+                                          (#{wrap 24154}#
+                                            (let ((#{w2 24162}#
                                                     (vector-ref
-                                                      #{x 24962}#
+                                                      #{x 24135}#
                                                       2)))
-                                              (let ((#{m1 24990}#
-                                                      (car #{w 24738}#))
-                                                    (#{s1 24991}#
-                                                      (cdr #{w 24738}#)))
-                                                (if (null? #{m1 24990}#)
-                                                  (if (null? #{s1 24991}#)
-                                                    #{w2 24989}#
-                                                    (cons (car #{w2 24989}#)
-                                                          (let ((#{m2 25006}#
-                                                                  (cdr #{w2 
24989}#)))
-                                                            (if (null? #{m2 
25006}#)
-                                                              #{s1 24991}#
+                                              (let ((#{m1 24163}#
+                                                      (car #{w 23911}#))
+                                                    (#{s1 24164}#
+                                                      (cdr #{w 23911}#)))
+                                                (if (null? #{m1 24163}#)
+                                                  (if (null? #{s1 24164}#)
+                                                    #{w2 24162}#
+                                                    (cons (car #{w2 24162}#)
+                                                          (let ((#{m2 24179}#
+                                                                  (cdr #{w2 
24162}#)))
+                                                            (if (null? #{m2 
24179}#)
+                                                              #{s1 24164}#
                                                               (append
-                                                                #{s1 24991}#
-                                                                #{m2 
25006}#)))))
-                                                  (cons (let ((#{m2 25014}#
-                                                                (car #{w2 
24989}#)))
-                                                          (if (null? #{m2 
25014}#)
-                                                            #{m1 24990}#
+                                                                #{s1 24164}#
+                                                                #{m2 
24179}#)))))
+                                                  (cons (let ((#{m2 24187}#
+                                                                (car #{w2 
24162}#)))
+                                                          (if (null? #{m2 
24187}#)
+                                                            #{m1 24163}#
                                                             (append
-                                                              #{m1 24990}#
-                                                              #{m2 25014}#)))
-                                                        (let ((#{m2 25022}#
-                                                                (cdr #{w2 
24989}#)))
-                                                          (if (null? #{m2 
25022}#)
-                                                            #{s1 24991}#
+                                                              #{m1 24163}#
+                                                              #{m2 24187}#)))
+                                                        (let ((#{m2 24195}#
+                                                                (cdr #{w2 
24162}#)))
+                                                          (if (null? #{m2 
24195}#)
+                                                            #{s1 24164}#
                                                             (append
-                                                              #{s1 24991}#
-                                                              #{m2 
25022}#))))))))
-                                          (#{module 24982}#
-                                            (vector-ref #{x 24962}# 3)))
+                                                              #{s1 24164}#
+                                                              #{m2 
24195}#))))))))
+                                          (#{module 24155}#
+                                            (vector-ref #{x 24135}# 3)))
                                       (vector
                                         'syntax-object
-                                        #{expression 24980}#
-                                        #{wrap 24981}#
-                                        #{module 24982}#))
-                                    (if (null? #{x 24962}#)
-                                      #{x 24962}#
+                                        #{expression 24153}#
+                                        #{wrap 24154}#
+                                        #{module 24155}#))
+                                    (if (null? #{x 24135}#)
+                                      #{x 24135}#
                                       (vector
                                         'syntax-object
-                                        #{x 24962}#
-                                        #{w 24738}#
+                                        #{x 24135}#
+                                        #{w 23911}#
                                         #f))))))))
-                        #{situations 24942}#))))))
-         (#{f 24739}# #{when-list 24737}# '()))))
-   (#{syntax-type 4372}#
-     (lambda (#{e 25037}#
-              #{r 25038}#
-              #{w 25039}#
-              #{s 25040}#
-              #{rib 25041}#
-              #{mod 25042}#
-              #{for-car? 25043}#)
-       (if (symbol? #{e 25037}#)
-         (let ((#{n 25044}#
-                 (#{id-var-name 4360}# #{e 25037}# #{w 25039}#)))
-           (let ((#{b 25045}#
-                   (let ((#{t 25620}# (assq #{n 25044}# #{r 25038}#)))
-                     (if #{t 25620}#
-                       (cdr #{t 25620}#)
-                       (if (symbol? #{n 25044}#)
-                         (let ((#{t 25625}#
-                                 (begin
-                                   (if (if (not #{mod 25042}#)
-                                         (current-module)
-                                         #f)
-                                     (warn "module system is booted, we should 
have a module"
-                                           #{n 25044}#))
-                                   (let ((#{v 25662}#
-                                           (module-variable
-                                             (if #{mod 25042}#
-                                               (resolve-module
-                                                 (cdr #{mod 25042}#))
-                                               (current-module))
-                                             #{n 25044}#)))
-                                     (if #{v 25662}#
-                                       (if (variable-bound? #{v 25662}#)
-                                         (let ((#{val 25671}#
-                                                 (variable-ref #{v 25662}#)))
-                                           (if (macro? #{val 25671}#)
-                                             (if (macro-type #{val 25671}#)
-                                               (cons (macro-type #{val 25671}#)
-                                                     (macro-binding
-                                                       #{val 25671}#))
-                                               #f)
-                                             #f))
-                                         #f)
-                                       #f)))))
-                           (if #{t 25625}# #{t 25625}# '(global)))
-                         '(displaced-lexical))))))
-             (let ((#{type 25046}# (car #{b 25045}#)))
-               (if (let ((#{t 25080}# #{type 25046}#))
-                     (eqv? #{t 25080}# 'lexical))
+                        #{situations 24115}#))))))
+         (#{f 23912}# #{when-list 23910}# '()))))
+   (#{syntax-type 4445}#
+     (lambda (#{e 24210}#
+              #{r 24211}#
+              #{w 24212}#
+              #{s 24213}#
+              #{rib 24214}#
+              #{mod 24215}#
+              #{for-car? 24216}#)
+       (if (symbol? #{e 24210}#)
+         (call-with-values
+           (lambda ()
+             (#{resolve-identifier 4433}#
+               #{e 24210}#
+               #{w 24212}#
+               #{r 24211}#
+               #{mod 24215}#
+               #t))
+           (lambda (#{type 24219}# #{value 24220}# #{mod* 24221}#)
+             (if (eqv? #{type 24219}# 'macro)
+               (if #{for-car? 24216}#
                  (values
-                   #{type 25046}#
-                   (cdr #{b 25045}#)
-                   #{e 25037}#
-                   #{w 25039}#
-                   #{s 25040}#
-                   #{mod 25042}#)
-                 (if (let ((#{t 25237}# #{type 25046}#))
-                       (eqv? #{t 25237}# 'global))
-                   (values
-                     #{type 25046}#
-                     #{n 25044}#
-                     #{e 25037}#
-                     #{w 25039}#
-                     #{s 25040}#
-                     #{mod 25042}#)
-                   (if (let ((#{t 25363}# #{type 25046}#))
-                         (eqv? #{t 25363}# 'macro))
-                     (if #{for-car? 25043}#
-                       (values
-                         #{type 25046}#
-                         (cdr #{b 25045}#)
-                         #{e 25037}#
-                         #{w 25039}#
-                         #{s 25040}#
-                         #{mod 25042}#)
-                       (#{syntax-type 4372}#
-                         (#{chi-macro 4376}#
-                           (cdr #{b 25045}#)
-                           #{e 25037}#
-                           #{r 25038}#
-                           #{w 25039}#
-                           #{s 25040}#
-                           #{rib 25041}#
-                           #{mod 25042}#)
-                         #{r 25038}#
-                         '(())
-                         #{s 25040}#
-                         #{rib 25041}#
-                         #{mod 25042}#
-                         #f))
-                     (values
-                       #{type 25046}#
-                       (cdr #{b 25045}#)
-                       #{e 25037}#
-                       #{w 25039}#
-                       #{s 25040}#
-                       #{mod 25042}#)))))))
-         (if (pair? #{e 25037}#)
-           (let ((#{first 25682}# (car #{e 25037}#)))
+                   #{type 24219}#
+                   #{value 24220}#
+                   #{e 24210}#
+                   #{w 24212}#
+                   #{s 24213}#
+                   #{mod 24215}#)
+                 (#{syntax-type 4445}#
+                   (#{chi-macro 4449}#
+                     #{value 24220}#
+                     #{e 24210}#
+                     #{r 24211}#
+                     #{w 24212}#
+                     #{s 24213}#
+                     #{rib 24214}#
+                     #{mod 24215}#)
+                   #{r 24211}#
+                   '(())
+                   #{s 24213}#
+                   #{rib 24214}#
+                   #{mod 24215}#
+                   #f))
+               (if (eqv? #{type 24219}# 'global)
+                 (values
+                   #{type 24219}#
+                   #{value 24220}#
+                   #{value 24220}#
+                   #{w 24212}#
+                   #{s 24213}#
+                   #{mod* 24221}#)
+                 (values
+                   #{type 24219}#
+                   #{value 24220}#
+                   #{e 24210}#
+                   #{w 24212}#
+                   #{s 24213}#
+                   #{mod 24215}#)))))
+         (if (pair? #{e 24210}#)
+           (let ((#{first 24230}# (car #{e 24210}#)))
              (call-with-values
                (lambda ()
-                 (#{syntax-type 4372}#
-                   #{first 25682}#
-                   #{r 25038}#
-                   #{w 25039}#
-                   #{s 25040}#
-                   #{rib 25041}#
-                   #{mod 25042}#
+                 (#{syntax-type 4445}#
+                   #{first 24230}#
+                   #{r 24211}#
+                   #{w 24212}#
+                   #{s 24213}#
+                   #{rib 24214}#
+                   #{mod 24215}#
                    #t))
-               (lambda (#{ftype 25684}#
-                        #{fval 25685}#
-                        #{fe 25686}#
-                        #{fw 25687}#
-                        #{fs 25688}#
-                        #{fmod 25689}#)
-                 (if (eqv? #{ftype 25684}# 'lexical)
+               (lambda (#{ftype 24232}#
+                        #{fval 24233}#
+                        #{fe 24234}#
+                        #{fw 24235}#
+                        #{fs 24236}#
+                        #{fmod 24237}#)
+                 (if (eqv? #{ftype 24232}# 'lexical)
                    (values
                      'lexical-call
-                     #{fval 25685}#
-                     #{e 25037}#
-                     #{w 25039}#
-                     #{s 25040}#
-                     #{mod 25042}#)
-                   (if (eqv? #{ftype 25684}# 'global)
+                     #{fval 24233}#
+                     #{e 24210}#
+                     #{w 24212}#
+                     #{s 24213}#
+                     #{mod 24215}#)
+                   (if (eqv? #{ftype 24232}# 'global)
                      (values
                        'global-call
                        (vector
                          'syntax-object
-                         #{fval 25685}#
-                         #{w 25039}#
-                         #{fmod 25689}#)
-                       #{e 25037}#
-                       #{w 25039}#
-                       #{s 25040}#
-                       #{mod 25042}#)
-                     (if (eqv? #{ftype 25684}# 'macro)
-                       (#{syntax-type 4372}#
-                         (#{chi-macro 4376}#
-                           #{fval 25685}#
-                           #{e 25037}#
-                           #{r 25038}#
-                           #{w 25039}#
-                           #{s 25040}#
-                           #{rib 25041}#
-                           #{mod 25042}#)
-                         #{r 25038}#
+                         #{fval 24233}#
+                         #{w 24212}#
+                         #{fmod 24237}#)
+                       #{e 24210}#
+                       #{w 24212}#
+                       #{s 24213}#
+                       #{mod 24215}#)
+                     (if (eqv? #{ftype 24232}# 'macro)
+                       (#{syntax-type 4445}#
+                         (#{chi-macro 4449}#
+                           #{fval 24233}#
+                           #{e 24210}#
+                           #{r 24211}#
+                           #{w 24212}#
+                           #{s 24213}#
+                           #{rib 24214}#
+                           #{mod 24215}#)
+                         #{r 24211}#
                          '(())
-                         #{s 25040}#
-                         #{rib 25041}#
-                         #{mod 25042}#
-                         #{for-car? 25043}#)
-                       (if (eqv? #{ftype 25684}# 'module-ref)
+                         #{s 24213}#
+                         #{rib 24214}#
+                         #{mod 24215}#
+                         #{for-car? 24216}#)
+                       (if (eqv? #{ftype 24232}# 'module-ref)
                          (call-with-values
                            (lambda ()
-                             (#{fval 25685}#
-                               #{e 25037}#
-                               #{r 25038}#
-                               #{w 25039}#))
-                           (lambda (#{e 25710}#
-                                    #{r 25711}#
-                                    #{w 25712}#
-                                    #{s 25713}#
-                                    #{mod 25714}#)
-                             (#{syntax-type 4372}#
-                               #{e 25710}#
-                               #{r 25711}#
-                               #{w 25712}#
-                               #{s 25713}#
-                               #{rib 25041}#
-                               #{mod 25714}#
-                               #{for-car? 25043}#)))
-                         (if (eqv? #{ftype 25684}# 'core)
+                             (#{fval 24233}#
+                               #{e 24210}#
+                               #{r 24211}#
+                               #{w 24212}#))
+                           (lambda (#{e 24258}#
+                                    #{r 24259}#
+                                    #{w 24260}#
+                                    #{s 24261}#
+                                    #{mod 24262}#)
+                             (#{syntax-type 4445}#
+                               #{e 24258}#
+                               #{r 24259}#
+                               #{w 24260}#
+                               #{s 24261}#
+                               #{rib 24214}#
+                               #{mod 24262}#
+                               #{for-car? 24216}#)))
+                         (if (eqv? #{ftype 24232}# 'core)
                            (values
                              'core-form
-                             #{fval 25685}#
-                             #{e 25037}#
-                             #{w 25039}#
-                             #{s 25040}#
-                             #{mod 25042}#)
-                           (if (eqv? #{ftype 25684}# 'local-syntax)
+                             #{fval 24233}#
+                             #{e 24210}#
+                             #{w 24212}#
+                             #{s 24213}#
+                             #{mod 24215}#)
+                           (if (eqv? #{ftype 24232}# 'local-syntax)
                              (values
                                'local-syntax-form
-                               #{fval 25685}#
-                               #{e 25037}#
-                               #{w 25039}#
-                               #{s 25040}#
-                               #{mod 25042}#)
-                             (if (eqv? #{ftype 25684}# 'begin)
+                               #{fval 24233}#
+                               #{e 24210}#
+                               #{w 24212}#
+                               #{s 24213}#
+                               #{mod 24215}#)
+                             (if (eqv? #{ftype 24232}# 'begin)
                                (values
                                  'begin-form
                                  #f
-                                 #{e 25037}#
-                                 #{w 25039}#
-                                 #{s 25040}#
-                                 #{mod 25042}#)
-                               (if (eqv? #{ftype 25684}# 'eval-when)
+                                 #{e 24210}#
+                                 #{w 24212}#
+                                 #{s 24213}#
+                                 #{mod 24215}#)
+                               (if (eqv? #{ftype 24232}# 'eval-when)
                                  (values
                                    'eval-when-form
                                    #f
-                                   #{e 25037}#
-                                   #{w 25039}#
-                                   #{s 25040}#
-                                   #{mod 25042}#)
-                                 (if (eqv? #{ftype 25684}# 'define)
-                                   (let ((#{tmp 25731}#
+                                   #{e 24210}#
+                                   #{w 24212}#
+                                   #{s 24213}#
+                                   #{mod 24215}#)
+                                 (if (eqv? #{ftype 24232}# 'define)
+                                   (let ((#{tmp 24279}#
                                            ($sc-dispatch
-                                             #{e 25037}#
+                                             #{e 24210}#
                                              '(_ any any))))
-                                     (if (if #{tmp 25731}#
+                                     (if (if #{tmp 24279}#
                                            (@apply
-                                             (lambda (#{name 25735}#
-                                                      #{val 25736}#)
-                                               (if (symbol? #{name 25735}#)
+                                             (lambda (#{name 24283}#
+                                                      #{val 24284}#)
+                                               (if (symbol? #{name 24283}#)
                                                  #t
                                                  (if (if (vector?
-                                                           #{name 25735}#)
+                                                           #{name 24283}#)
                                                        (if (= (vector-length
-                                                                #{name 25735}#)
+                                                                #{name 24283}#)
                                                               4)
                                                          (eq? (vector-ref
-                                                                #{name 25735}#
+                                                                #{name 24283}#
                                                                 0)
                                                               'syntax-object)
                                                          #f)
                                                        #f)
                                                    (symbol?
                                                      (vector-ref
-                                                       #{name 25735}#
+                                                       #{name 24283}#
                                                        1))
                                                    #f)))
-                                             #{tmp 25731}#)
+                                             #{tmp 24279}#)
                                            #f)
                                        (@apply
-                                         (lambda (#{name 25763}# #{val 25764}#)
+                                         (lambda (#{name 24311}# #{val 24312}#)
                                            (values
                                              'define-form
-                                             #{name 25763}#
-                                             #{val 25764}#
-                                             #{w 25039}#
-                                             #{s 25040}#
-                                             #{mod 25042}#))
-                                         #{tmp 25731}#)
-                                       (let ((#{tmp 25765}#
+                                             #{name 24311}#
+                                             #{val 24312}#
+                                             #{w 24212}#
+                                             #{s 24213}#
+                                             #{mod 24215}#))
+                                         #{tmp 24279}#)
+                                       (let ((#{tmp 24313}#
                                                ($sc-dispatch
-                                                 #{e 25037}#
+                                                 #{e 24210}#
                                                  '(_ (any . any)
                                                      any
                                                      .
                                                      each-any))))
-                                         (if (if #{tmp 25765}#
+                                         (if (if #{tmp 24313}#
                                                (@apply
-                                                 (lambda (#{name 25769}#
-                                                          #{args 25770}#
-                                                          #{e1 25771}#
-                                                          #{e2 25772}#)
+                                                 (lambda (#{name 24317}#
+                                                          #{args 24318}#
+                                                          #{e1 24319}#
+                                                          #{e2 24320}#)
                                                    (if (if (symbol?
-                                                             #{name 25769}#)
+                                                             #{name 24317}#)
                                                          #t
                                                          (if (if (vector?
-                                                                   #{name 
25769}#)
+                                                                   #{name 
24317}#)
                                                                (if (= 
(vector-length
-                                                                        #{name 
25769}#)
+                                                                        #{name 
24317}#)
                                                                       4)
                                                                  (eq? 
(vector-ref
-                                                                        #{name 
25769}#
+                                                                        #{name 
24317}#
                                                                         0)
                                                                       
'syntax-object)
                                                                  #f)
                                                                #f)
                                                            (symbol?
                                                              (vector-ref
-                                                               #{name 25769}#
+                                                               #{name 24317}#
                                                                1))
                                                            #f))
-                                                     (#{valid-bound-ids? 4363}#
-                                                       (#{lambda-var-list 
4388}#
-                                                         #{args 25770}#))
+                                                     (#{valid-bound-ids? 4436}#
+                                                       (#{lambda-var-list 
4461}#
+                                                         #{args 24318}#))
                                                      #f))
-                                                 #{tmp 25765}#)
+                                                 #{tmp 24313}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{name 26253}#
-                                                      #{args 26254}#
-                                                      #{e1 26255}#
-                                                      #{e2 26256}#)
+                                             (lambda (#{name 24801}#
+                                                      #{args 24802}#
+                                                      #{e1 24803}#
+                                                      #{e2 24804}#)
                                                (values
                                                  'define-form
-                                                 (if (if (null? (car #{w 
25039}#))
-                                                       (null? (cdr #{w 
25039}#))
+                                                 (if (if (null? (car #{w 
24212}#))
+                                                       (null? (cdr #{w 
24212}#))
                                                        #f)
-                                                   #{name 26253}#
+                                                   #{name 24801}#
                                                    (if (if (vector?
-                                                             #{name 26253}#)
+                                                             #{name 24801}#)
                                                          (if (= (vector-length
-                                                                  #{name 
26253}#)
+                                                                  #{name 
24801}#)
                                                                 4)
                                                            (eq? (vector-ref
-                                                                  #{name 
26253}#
+                                                                  #{name 
24801}#
                                                                   0)
                                                                 'syntax-object)
                                                            #f)
                                                          #f)
-                                                     (let ((#{expression 
26286}#
+                                                     (let ((#{expression 
24834}#
                                                              (vector-ref
-                                                               #{name 26253}#
+                                                               #{name 24801}#
                                                                1))
-                                                           (#{wrap 26287}#
-                                                             (let ((#{w2 
26297}#
+                                                           (#{wrap 24835}#
+                                                             (let ((#{w2 
24845}#
                                                                      
(vector-ref
-                                                                       #{name 
26253}#
+                                                                       #{name 
24801}#
                                                                        2)))
-                                                               (let ((#{m1 
26298}#
-                                                                       (car 
#{w 25039}#))
-                                                                     (#{s1 
26299}#
-                                                                       (cdr 
#{w 25039}#)))
-                                                                 (if (null? 
#{m1 26298}#)
-                                                                   (if (null? 
#{s1 26299}#)
-                                                                     #{w2 
26297}#
-                                                                     (cons 
(car #{w2 26297}#)
-                                                                           
(let ((#{m2 26316}#
-                                                                               
    (cdr #{w2 26297}#)))
-                                                                             
(if (null? #{m2 26316}#)
-                                                                               
#{s1 26299}#
+                                                               (let ((#{m1 
24846}#
+                                                                       (car 
#{w 24212}#))
+                                                                     (#{s1 
24847}#
+                                                                       (cdr 
#{w 24212}#)))
+                                                                 (if (null? 
#{m1 24846}#)
+                                                                   (if (null? 
#{s1 24847}#)
+                                                                     #{w2 
24845}#
+                                                                     (cons 
(car #{w2 24845}#)
+                                                                           
(let ((#{m2 24864}#
+                                                                               
    (cdr #{w2 24845}#)))
+                                                                             
(if (null? #{m2 24864}#)
+                                                                               
#{s1 24847}#
                                                                                
(append
-                                                                               
  #{s1 26299}#
-                                                                               
  #{m2 26316}#)))))
-                                                                   (cons (let 
((#{m2 26324}#
-                                                                               
  (car #{w2 26297}#)))
-                                                                           (if 
(null? #{m2 26324}#)
-                                                                             
#{m1 26298}#
+                                                                               
  #{s1 24847}#
+                                                                               
  #{m2 24864}#)))))
+                                                                   (cons (let 
((#{m2 24872}#
+                                                                               
  (car #{w2 24845}#)))
+                                                                           (if 
(null? #{m2 24872}#)
+                                                                             
#{m1 24846}#
                                                                              
(append
-                                                                               
#{m1 26298}#
-                                                                               
#{m2 26324}#)))
-                                                                         (let 
((#{m2 26332}#
-                                                                               
  (cdr #{w2 26297}#)))
-                                                                           (if 
(null? #{m2 26332}#)
-                                                                             
#{s1 26299}#
+                                                                               
#{m1 24846}#
+                                                                               
#{m2 24872}#)))
+                                                                         (let 
((#{m2 24880}#
+                                                                               
  (cdr #{w2 24845}#)))
+                                                                           (if 
(null? #{m2 24880}#)
+                                                                             
#{s1 24847}#
                                                                              
(append
-                                                                               
#{s1 26299}#
-                                                                               
#{m2 26332}#))))))))
-                                                           (#{module 26288}#
+                                                                               
#{s1 24847}#
+                                                                               
#{m2 24880}#))))))))
+                                                           (#{module 24836}#
                                                              (vector-ref
-                                                               #{name 26253}#
+                                                               #{name 24801}#
                                                                3)))
                                                        (vector
                                                          'syntax-object
-                                                         #{expression 26286}#
-                                                         #{wrap 26287}#
-                                                         #{module 26288}#))
-                                                     (if (null? #{name 26253}#)
-                                                       #{name 26253}#
+                                                         #{expression 24834}#
+                                                         #{wrap 24835}#
+                                                         #{module 24836}#))
+                                                     (if (null? #{name 24801}#)
+                                                       #{name 24801}#
                                                        (vector
                                                          'syntax-object
-                                                         #{name 26253}#
-                                                         #{w 25039}#
-                                                         #{mod 25042}#))))
-                                                 (let ((#{e 26358}#
+                                                         #{name 24801}#
+                                                         #{w 24212}#
+                                                         #{mod 24215}#))))
+                                                 (let ((#{e 24906}#
                                                          (cons '#(syntax-object
                                                                   lambda
                                                                   ((top)
@@ -1955,10 +2068,10 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i1886"
-                                                                       "i1887"
-                                                                       "i1888"
-                                                                       
"i1889"))
+                                                                     #("i1955"
+                                                                       "i1956"
+                                                                       "i1957"
+                                                                       
"i1958"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -1980,12 +2093,12 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i1839"
-                                                                       "i1840"
-                                                                       "i1841"
-                                                                       "i1842"
-                                                                       "i1843"
-                                                                       
"i1844"))
+                                                                     #("i1908"
+                                                                       "i1909"
+                                                                       "i1910"
+                                                                       "i1911"
+                                                                       "i1912"
+                                                                       
"i1913"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -1993,7 +2106,7 @@
                                                                    #(ribcage
                                                                      #(first)
                                                                      #((top))
-                                                                     
#("i1831"))
+                                                                     
#("i1900"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -2021,13 +2134,13 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i1803"
-                                                                       "i1804"
-                                                                       "i1805"
-                                                                       "i1806"
-                                                                       "i1807"
-                                                                       "i1808"
-                                                                       
"i1809"))
+                                                                     #("i1879"
+                                                                       "i1880"
+                                                                       "i1881"
+                                                                       "i1882"
+                                                                       "i1883"
+                                                                       "i1884"
+                                                                       
"i1885"))
                                                                    #(ribcage
                                                                      
(lambda-var-list
                                                                        gen-var
@@ -2057,6 +2170,7 @@
                                                                        
valid-bound-ids?
                                                                        
bound-id=?
                                                                        
free-id=?
+                                                                       
resolve-identifier
                                                                        
id-var-name
                                                                        
same-marks?
                                                                        
join-marks
@@ -2094,7 +2208,6 @@
                                                                        id?
                                                                        
nonsymbol-id?
                                                                        
global-extend
-                                                                       lookup
                                                                        
macros-only-env
                                                                        
extend-var-env
                                                                        
extend-env
@@ -2340,13 +2453,13 @@
                                                                       "i407"
                                                                       "i405"
                                                                       "i403"
-                                                                      "i402"
+                                                                      "i401"
                                                                       "i400"
-                                                                      "i397"
-                                                                      "i396"
+                                                                      "i398"
                                                                       "i395"
+                                                                      "i394"
                                                                       "i393"
-                                                                      "i392"
+                                                                      "i391"
                                                                       "i390"
                                                                       "i388"
                                                                       "i386"
@@ -2355,19 +2468,19 @@
                                                                       "i380"
                                                                       "i378"
                                                                       "i376"
-                                                                      "i373"
+                                                                      "i374"
                                                                       "i371"
-                                                                      "i370"
+                                                                      "i369"
                                                                       "i368"
                                                                       "i366"
                                                                       "i364"
                                                                       "i362"
-                                                                      "i361"
                                                                       "i360"
                                                                       "i359"
+                                                                      "i358"
                                                                       "i357"
-                                                                      "i356"
-                                                                      "i353"
+                                                                      "i355"
+                                                                      "i354"
                                                                       "i351"
                                                                       "i349"
                                                                       "i347"
@@ -2452,202 +2565,206 @@
                                                                       (top))
                                                                      ("i46"
                                                                       "i45"
-                                                                      "i44")))
+                                                                      "i44"))
+                                                                   #(ribcage
+                                                                     ()
+                                                                     ()
+                                                                     ()))
                                                                   (hygiene
                                                                     guile))
-                                                               (let ((#{x 
26362}#
-                                                                       (cons 
#{args 26254}#
-                                                                             
(cons #{e1 26255}#
-                                                                               
    #{e2 26256}#))))
-                                                                 (if (if 
(null? (car #{w 25039}#))
-                                                                       (null? 
(cdr #{w 25039}#))
+                                                               (let ((#{x 
24910}#
+                                                                       (cons 
#{args 24802}#
+                                                                             
(cons #{e1 24803}#
+                                                                               
    #{e2 24804}#))))
+                                                                 (if (if 
(null? (car #{w 24212}#))
+                                                                       (null? 
(cdr #{w 24212}#))
                                                                        #f)
-                                                                   #{x 26362}#
+                                                                   #{x 24910}#
                                                                    (if (if 
(vector?
-                                                                             
#{x 26362}#)
+                                                                             
#{x 24910}#)
                                                                          (if 
(= (vector-length
-                                                                               
   #{x 26362}#)
+                                                                               
   #{x 24910}#)
                                                                                
 4)
                                                                            
(eq? (vector-ref
-                                                                               
   #{x 26362}#
+                                                                               
   #{x 24910}#
                                                                                
   0)
                                                                                
 'syntax-object)
                                                                            #f)
                                                                          #f)
-                                                                     (let 
((#{expression 26380}#
+                                                                     (let 
((#{expression 24928}#
                                                                              
(vector-ref
-                                                                               
#{x 26362}#
+                                                                               
#{x 24910}#
                                                                                
1))
-                                                                           
(#{wrap 26381}#
-                                                                             
(let ((#{w2 26389}#
+                                                                           
(#{wrap 24929}#
+                                                                             
(let ((#{w2 24937}#
                                                                                
      (vector-ref
-                                                                               
        #{x 26362}#
+                                                                               
        #{x 24910}#
                                                                                
        2)))
-                                                                               
(let ((#{m1 26390}#
-                                                                               
        (car #{w 25039}#))
-                                                                               
      (#{s1 26391}#
-                                                                               
        (cdr #{w 25039}#)))
-                                                                               
  (if (null? #{m1 26390}#)
-                                                                               
    (if (null? #{s1 26391}#)
-                                                                               
      #{w2 26389}#
-                                                                               
      (cons (car #{w2 26389}#)
-                                                                               
            (let ((#{m2 26406}#
-                                                                               
                    (cdr #{w2 26389}#)))
-                                                                               
              (if (null? #{m2 26406}#)
-                                                                               
                #{s1 26391}#
+                                                                               
(let ((#{m1 24938}#
+                                                                               
        (car #{w 24212}#))
+                                                                               
      (#{s1 24939}#
+                                                                               
        (cdr #{w 24212}#)))
+                                                                               
  (if (null? #{m1 24938}#)
+                                                                               
    (if (null? #{s1 24939}#)
+                                                                               
      #{w2 24937}#
+                                                                               
      (cons (car #{w2 24937}#)
+                                                                               
            (let ((#{m2 24954}#
+                                                                               
                    (cdr #{w2 24937}#)))
+                                                                               
              (if (null? #{m2 24954}#)
+                                                                               
                #{s1 24939}#
                                                                                
                (append
-                                                                               
                  #{s1 26391}#
-                                                                               
                  #{m2 26406}#)))))
-                                                                               
    (cons (let ((#{m2 26414}#
-                                                                               
                  (car #{w2 26389}#)))
-                                                                               
            (if (null? #{m2 26414}#)
-                                                                               
              #{m1 26390}#
+                                                                               
                  #{s1 24939}#
+                                                                               
                  #{m2 24954}#)))))
+                                                                               
    (cons (let ((#{m2 24962}#
+                                                                               
                  (car #{w2 24937}#)))
+                                                                               
            (if (null? #{m2 24962}#)
+                                                                               
              #{m1 24938}#
                                                                                
              (append
-                                                                               
                #{m1 26390}#
-                                                                               
                #{m2 26414}#)))
-                                                                               
          (let ((#{m2 26422}#
-                                                                               
                  (cdr #{w2 26389}#)))
-                                                                               
            (if (null? #{m2 26422}#)
-                                                                               
              #{s1 26391}#
+                                                                               
                #{m1 24938}#
+                                                                               
                #{m2 24962}#)))
+                                                                               
          (let ((#{m2 24970}#
+                                                                               
                  (cdr #{w2 24937}#)))
+                                                                               
            (if (null? #{m2 24970}#)
+                                                                               
              #{s1 24939}#
                                                                                
              (append
-                                                                               
                #{s1 26391}#
-                                                                               
                #{m2 26422}#))))))))
-                                                                           
(#{module 26382}#
+                                                                               
                #{s1 24939}#
+                                                                               
                #{m2 24970}#))))))))
+                                                                           
(#{module 24930}#
                                                                              
(vector-ref
-                                                                               
#{x 26362}#
+                                                                               
#{x 24910}#
                                                                                
3)))
                                                                        (vector
                                                                          
'syntax-object
-                                                                         
#{expression 26380}#
-                                                                         
#{wrap 26381}#
-                                                                         
#{module 26382}#))
-                                                                     (if 
(null? #{x 26362}#)
-                                                                       #{x 
26362}#
+                                                                         
#{expression 24928}#
+                                                                         
#{wrap 24929}#
+                                                                         
#{module 24930}#))
+                                                                     (if 
(null? #{x 24910}#)
+                                                                       #{x 
24910}#
                                                                        (vector
                                                                          
'syntax-object
-                                                                         #{x 
26362}#
-                                                                         #{w 
25039}#
-                                                                         #{mod 
25042}#))))))))
+                                                                         #{x 
24910}#
+                                                                         #{w 
24212}#
+                                                                         #{mod 
24215}#))))))))
                                                    (begin
-                                                     (if (if (pair? #{e 
26358}#)
-                                                           #{s 25040}#
+                                                     (if (if (pair? #{e 
24906}#)
+                                                           #{s 24213}#
                                                            #f)
                                                        (set-source-properties!
-                                                         #{e 26358}#
-                                                         #{s 25040}#))
-                                                     #{e 26358}#))
+                                                         #{e 24906}#
+                                                         #{s 24213}#))
+                                                     #{e 24906}#))
                                                  '(())
-                                                 #{s 25040}#
-                                                 #{mod 25042}#))
-                                             #{tmp 25765}#)
-                                           (let ((#{tmp 26441}#
+                                                 #{s 24213}#
+                                                 #{mod 24215}#))
+                                             #{tmp 24313}#)
+                                           (let ((#{tmp 24989}#
                                                    ($sc-dispatch
-                                                     #{e 25037}#
+                                                     #{e 24210}#
                                                      '(_ any))))
-                                             (if (if #{tmp 26441}#
+                                             (if (if #{tmp 24989}#
                                                    (@apply
-                                                     (lambda (#{name 26445}#)
+                                                     (lambda (#{name 24993}#)
                                                        (if (symbol?
-                                                             #{name 26445}#)
+                                                             #{name 24993}#)
                                                          #t
                                                          (if (if (vector?
-                                                                   #{name 
26445}#)
+                                                                   #{name 
24993}#)
                                                                (if (= 
(vector-length
-                                                                        #{name 
26445}#)
+                                                                        #{name 
24993}#)
                                                                       4)
                                                                  (eq? 
(vector-ref
-                                                                        #{name 
26445}#
+                                                                        #{name 
24993}#
                                                                         0)
                                                                       
'syntax-object)
                                                                  #f)
                                                                #f)
                                                            (symbol?
                                                              (vector-ref
-                                                               #{name 26445}#
+                                                               #{name 24993}#
                                                                1))
                                                            #f)))
-                                                     #{tmp 26441}#)
+                                                     #{tmp 24989}#)
                                                    #f)
                                                (@apply
-                                                 (lambda (#{name 26472}#)
+                                                 (lambda (#{name 25020}#)
                                                    (values
                                                      'define-form
-                                                     (if (if (null? (car #{w 
25039}#))
-                                                           (null? (cdr #{w 
25039}#))
+                                                     (if (if (null? (car #{w 
24212}#))
+                                                           (null? (cdr #{w 
24212}#))
                                                            #f)
-                                                       #{name 26472}#
+                                                       #{name 25020}#
                                                        (if (if (vector?
-                                                                 #{name 
26472}#)
+                                                                 #{name 
25020}#)
                                                              (if (= 
(vector-length
-                                                                      #{name 
26472}#)
+                                                                      #{name 
25020}#)
                                                                     4)
                                                                (eq? (vector-ref
-                                                                      #{name 
26472}#
+                                                                      #{name 
25020}#
                                                                       0)
                                                                     
'syntax-object)
                                                                #f)
                                                              #f)
-                                                         (let ((#{expression 
26502}#
+                                                         (let ((#{expression 
25050}#
                                                                  (vector-ref
-                                                                   #{name 
26472}#
+                                                                   #{name 
25020}#
                                                                    1))
-                                                               (#{wrap 26503}#
-                                                                 (let ((#{w2 
26513}#
+                                                               (#{wrap 25051}#
+                                                                 (let ((#{w2 
25061}#
                                                                          
(vector-ref
-                                                                           
#{name 26472}#
+                                                                           
#{name 25020}#
                                                                            2)))
-                                                                   (let ((#{m1 
26514}#
-                                                                           
(car #{w 25039}#))
-                                                                         (#{s1 
26515}#
-                                                                           
(cdr #{w 25039}#)))
-                                                                     (if 
(null? #{m1 26514}#)
-                                                                       (if 
(null? #{s1 26515}#)
-                                                                         #{w2 
26513}#
-                                                                         (cons 
(car #{w2 26513}#)
-                                                                               
(let ((#{m2 26532}#
-                                                                               
        (cdr #{w2 26513}#)))
-                                                                               
  (if (null? #{m2 26532}#)
-                                                                               
    #{s1 26515}#
+                                                                   (let ((#{m1 
25062}#
+                                                                           
(car #{w 24212}#))
+                                                                         (#{s1 
25063}#
+                                                                           
(cdr #{w 24212}#)))
+                                                                     (if 
(null? #{m1 25062}#)
+                                                                       (if 
(null? #{s1 25063}#)
+                                                                         #{w2 
25061}#
+                                                                         (cons 
(car #{w2 25061}#)
+                                                                               
(let ((#{m2 25080}#
+                                                                               
        (cdr #{w2 25061}#)))
+                                                                               
  (if (null? #{m2 25080}#)
+                                                                               
    #{s1 25063}#
                                                                                
    (append
-                                                                               
      #{s1 26515}#
-                                                                               
      #{m2 26532}#)))))
-                                                                       (cons 
(let ((#{m2 26540}#
-                                                                               
      (car #{w2 26513}#)))
-                                                                               
(if (null? #{m2 26540}#)
-                                                                               
  #{m1 26514}#
+                                                                               
      #{s1 25063}#
+                                                                               
      #{m2 25080}#)))))
+                                                                       (cons 
(let ((#{m2 25088}#
+                                                                               
      (car #{w2 25061}#)))
+                                                                               
(if (null? #{m2 25088}#)
+                                                                               
  #{m1 25062}#
                                                                                
  (append
-                                                                               
    #{m1 26514}#
-                                                                               
    #{m2 26540}#)))
-                                                                             
(let ((#{m2 26548}#
-                                                                               
      (cdr #{w2 26513}#)))
-                                                                               
(if (null? #{m2 26548}#)
-                                                                               
  #{s1 26515}#
+                                                                               
    #{m1 25062}#
+                                                                               
    #{m2 25088}#)))
+                                                                             
(let ((#{m2 25096}#
+                                                                               
      (cdr #{w2 25061}#)))
+                                                                               
(if (null? #{m2 25096}#)
+                                                                               
  #{s1 25063}#
                                                                                
  (append
-                                                                               
    #{s1 26515}#
-                                                                               
    #{m2 26548}#))))))))
-                                                               (#{module 
26504}#
+                                                                               
    #{s1 25063}#
+                                                                               
    #{m2 25096}#))))))))
+                                                               (#{module 
25052}#
                                                                  (vector-ref
-                                                                   #{name 
26472}#
+                                                                   #{name 
25020}#
                                                                    3)))
                                                            (vector
                                                              'syntax-object
-                                                             #{expression 
26502}#
-                                                             #{wrap 26503}#
-                                                             #{module 26504}#))
-                                                         (if (null? #{name 
26472}#)
-                                                           #{name 26472}#
+                                                             #{expression 
25050}#
+                                                             #{wrap 25051}#
+                                                             #{module 25052}#))
+                                                         (if (null? #{name 
25020}#)
+                                                           #{name 25020}#
                                                            (vector
                                                              'syntax-object
-                                                             #{name 26472}#
-                                                             #{w 25039}#
-                                                             #{mod 25042}#))))
+                                                             #{name 25020}#
+                                                             #{w 24212}#
+                                                             #{mod 24215}#))))
                                                      '(#(syntax-object
                                                          if
                                                          ((top)
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1899"))
+                                                            #("i1968"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -2663,17 +2780,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1839"
-                                                              "i1840"
-                                                              "i1841"
-                                                              "i1842"
-                                                              "i1843"
-                                                              "i1844"))
+                                                            #("i1908"
+                                                              "i1909"
+                                                              "i1910"
+                                                              "i1911"
+                                                              "i1912"
+                                                              "i1913"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1831"))
+                                                            #("i1900"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -2692,13 +2809,13 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1803"
-                                                              "i1804"
-                                                              "i1805"
-                                                              "i1806"
-                                                              "i1807"
-                                                              "i1808"
-                                                              "i1809"))
+                                                            #("i1879"
+                                                              "i1880"
+                                                              "i1881"
+                                                              "i1882"
+                                                              "i1883"
+                                                              "i1884"
+                                                              "i1885"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
@@ -2728,6 +2845,7 @@
                                                               valid-bound-ids?
                                                               bound-id=?
                                                               free-id=?
+                                                              
resolve-identifier
                                                               id-var-name
                                                               same-marks?
                                                               join-marks
@@ -2765,7 +2883,6 @@
                                                               id?
                                                               nonsymbol-id?
                                                               global-extend
-                                                              lookup
                                                               macros-only-env
                                                               extend-var-env
                                                               extend-env
@@ -3011,13 +3128,13 @@
                                                              "i407"
                                                              "i405"
                                                              "i403"
-                                                             "i402"
+                                                             "i401"
                                                              "i400"
-                                                             "i397"
-                                                             "i396"
+                                                             "i398"
                                                              "i395"
+                                                             "i394"
                                                              "i393"
-                                                             "i392"
+                                                             "i391"
                                                              "i390"
                                                              "i388"
                                                              "i386"
@@ -3026,19 +3143,19 @@
                                                              "i380"
                                                              "i378"
                                                              "i376"
-                                                             "i373"
+                                                             "i374"
                                                              "i371"
-                                                             "i370"
+                                                             "i369"
                                                              "i368"
                                                              "i366"
                                                              "i364"
                                                              "i362"
-                                                             "i361"
                                                              "i360"
                                                              "i359"
+                                                             "i358"
                                                              "i357"
-                                                             "i356"
-                                                             "i353"
+                                                             "i355"
+                                                             "i354"
                                                              "i351"
                                                              "i349"
                                                              "i347"
@@ -3121,7 +3238,8 @@
                                                             ((top) (top) (top))
                                                             ("i46"
                                                              "i45"
-                                                             "i44")))
+                                                             "i44"))
+                                                          #(ribcage () () ()))
                                                          (hygiene guile))
                                                        #(syntax-object
                                                          #f
@@ -3129,7 +3247,7 @@
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1899"))
+                                                            #("i1968"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -3145,17 +3263,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1839"
-                                                              "i1840"
-                                                              "i1841"
-                                                              "i1842"
-                                                              "i1843"
-                                                              "i1844"))
+                                                            #("i1908"
+                                                              "i1909"
+                                                              "i1910"
+                                                              "i1911"
+                                                              "i1912"
+                                                              "i1913"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1831"))
+                                                            #("i1900"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -3174,13 +3292,13 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1803"
-                                                              "i1804"
-                                                              "i1805"
-                                                              "i1806"
-                                                              "i1807"
-                                                              "i1808"
-                                                              "i1809"))
+                                                            #("i1879"
+                                                              "i1880"
+                                                              "i1881"
+                                                              "i1882"
+                                                              "i1883"
+                                                              "i1884"
+                                                              "i1885"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
@@ -3210,6 +3328,7 @@
                                                               valid-bound-ids?
                                                               bound-id=?
                                                               free-id=?
+                                                              
resolve-identifier
                                                               id-var-name
                                                               same-marks?
                                                               join-marks
@@ -3247,7 +3366,6 @@
                                                               id?
                                                               nonsymbol-id?
                                                               global-extend
-                                                              lookup
                                                               macros-only-env
                                                               extend-var-env
                                                               extend-env
@@ -3493,13 +3611,13 @@
                                                              "i407"
                                                              "i405"
                                                              "i403"
-                                                             "i402"
+                                                             "i401"
                                                              "i400"
-                                                             "i397"
-                                                             "i396"
+                                                             "i398"
                                                              "i395"
+                                                             "i394"
                                                              "i393"
-                                                             "i392"
+                                                             "i391"
                                                              "i390"
                                                              "i388"
                                                              "i386"
@@ -3508,19 +3626,19 @@
                                                              "i380"
                                                              "i378"
                                                              "i376"
-                                                             "i373"
+                                                             "i374"
                                                              "i371"
-                                                             "i370"
+                                                             "i369"
                                                              "i368"
                                                              "i366"
                                                              "i364"
                                                              "i362"
-                                                             "i361"
                                                              "i360"
                                                              "i359"
+                                                             "i358"
                                                              "i357"
-                                                             "i356"
-                                                             "i353"
+                                                             "i355"
+                                                             "i354"
                                                              "i351"
                                                              "i349"
                                                              "i347"
@@ -3603,7 +3721,8 @@
                                                             ((top) (top) (top))
                                                             ("i46"
                                                              "i45"
-                                                             "i44")))
+                                                             "i44"))
+                                                          #(ribcage () () ()))
                                                          (hygiene guile))
                                                        #(syntax-object
                                                          #f
@@ -3611,7 +3730,7 @@
                                                           #(ribcage
                                                             #(name)
                                                             #((top))
-                                                            #("i1899"))
+                                                            #("i1968"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage
@@ -3627,17 +3746,17 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1839"
-                                                              "i1840"
-                                                              "i1841"
-                                                              "i1842"
-                                                              "i1843"
-                                                              "i1844"))
+                                                            #("i1908"
+                                                              "i1909"
+                                                              "i1910"
+                                                              "i1911"
+                                                              "i1912"
+                                                              "i1913"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(first)
                                                             #((top))
-                                                            #("i1831"))
+                                                            #("i1900"))
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
                                                           #(ribcage () () ())
@@ -3656,13 +3775,13 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i1803"
-                                                              "i1804"
-                                                              "i1805"
-                                                              "i1806"
-                                                              "i1807"
-                                                              "i1808"
-                                                              "i1809"))
+                                                            #("i1879"
+                                                              "i1880"
+                                                              "i1881"
+                                                              "i1882"
+                                                              "i1883"
+                                                              "i1884"
+                                                              "i1885"))
                                                           #(ribcage
                                                             (lambda-var-list
                                                               gen-var
@@ -3692,6 +3811,7 @@
                                                               valid-bound-ids?
                                                               bound-id=?
                                                               free-id=?
+                                                              
resolve-identifier
                                                               id-var-name
                                                               same-marks?
                                                               join-marks
@@ -3729,7 +3849,6 @@
                                                               id?
                                                               nonsymbol-id?
                                                               global-extend
-                                                              lookup
                                                               macros-only-env
                                                               extend-var-env
                                                               extend-env
@@ -3975,13 +4094,13 @@
                                                              "i407"
                                                              "i405"
                                                              "i403"
-                                                             "i402"
+                                                             "i401"
                                                              "i400"
-                                                             "i397"
-                                                             "i396"
+                                                             "i398"
                                                              "i395"
+                                                             "i394"
                                                              "i393"
-                                                             "i392"
+                                                             "i391"
                                                              "i390"
                                                              "i388"
                                                              "i386"
@@ -3990,19 +4109,19 @@
                                                              "i380"
                                                              "i378"
                                                              "i376"
-                                                             "i373"
+                                                             "i374"
                                                              "i371"
-                                                             "i370"
+                                                             "i369"
                                                              "i368"
                                                              "i366"
                                                              "i364"
                                                              "i362"
-                                                             "i361"
                                                              "i360"
                                                              "i359"
+                                                             "i358"
                                                              "i357"
-                                                             "i356"
-                                                             "i353"
+                                                             "i355"
+                                                             "i354"
                                                              "i351"
                                                              "i349"
                                                              "i347"
@@ -4085,2015 +4204,2081 @@
                                                             ((top) (top) (top))
                                                             ("i46"
                                                              "i45"
-                                                             "i44")))
+                                                             "i44"))
+                                                          #(ribcage () () ()))
                                                          (hygiene guile)))
                                                      '(())
-                                                     #{s 25040}#
-                                                     #{mod 25042}#))
-                                                 #{tmp 26441}#)
+                                                     #{s 24213}#
+                                                     #{mod 24215}#))
+                                                 #{tmp 24989}#)
                                                (syntax-violation
                                                  #f
                                                  "source expression failed to 
match any pattern"
-                                                 #{e 25037}#)))))))
-                                   (if (eqv? #{ftype 25684}# 'define-syntax)
-                                     (let ((#{tmp 26587}#
+                                                 #{e 24210}#)))))))
+                                   (if (eqv? #{ftype 24232}# 'define-syntax)
+                                     (let ((#{tmp 25135}#
                                              ($sc-dispatch
-                                               #{e 25037}#
+                                               #{e 24210}#
                                                '(_ any any))))
-                                       (if (if #{tmp 26587}#
+                                       (if (if #{tmp 25135}#
                                              (@apply
-                                               (lambda (#{name 26591}#
-                                                        #{val 26592}#)
-                                                 (if (symbol? #{name 26591}#)
+                                               (lambda (#{name 25139}#
+                                                        #{val 25140}#)
+                                                 (if (symbol? #{name 25139}#)
                                                    #t
                                                    (if (if (vector?
-                                                             #{name 26591}#)
+                                                             #{name 25139}#)
                                                          (if (= (vector-length
-                                                                  #{name 
26591}#)
+                                                                  #{name 
25139}#)
                                                                 4)
                                                            (eq? (vector-ref
-                                                                  #{name 
26591}#
+                                                                  #{name 
25139}#
                                                                   0)
                                                                 'syntax-object)
                                                            #f)
                                                          #f)
                                                      (symbol?
                                                        (vector-ref
-                                                         #{name 26591}#
+                                                         #{name 25139}#
                                                          1))
                                                      #f)))
-                                               #{tmp 26587}#)
+                                               #{tmp 25135}#)
                                              #f)
                                          (@apply
-                                           (lambda (#{name 26619}#
-                                                    #{val 26620}#)
+                                           (lambda (#{name 25167}#
+                                                    #{val 25168}#)
                                              (values
                                                'define-syntax-form
-                                               #{name 26619}#
-                                               #{val 26620}#
-                                               #{w 25039}#
-                                               #{s 25040}#
-                                               #{mod 25042}#))
-                                           #{tmp 26587}#)
+                                               #{name 25167}#
+                                               #{val 25168}#
+                                               #{w 24212}#
+                                               #{s 24213}#
+                                               #{mod 24215}#))
+                                           #{tmp 25135}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{e 25037}#)))
-                                     (values
-                                       'call
-                                       #f
-                                       #{e 25037}#
-                                       #{w 25039}#
-                                       #{s 25040}#
-                                       #{mod 25042}#))))))))))))))
-           (if (if (vector? #{e 25037}#)
-                 (if (= (vector-length #{e 25037}#) 4)
-                   (eq? (vector-ref #{e 25037}# 0) 'syntax-object)
+                                           #{e 24210}#)))
+                                     (if (eqv? #{ftype 24232}#
+                                               'define-syntax-parameter)
+                                       (let ((#{tmp 25179}#
+                                               ($sc-dispatch
+                                                 #{e 24210}#
+                                                 '(_ any any))))
+                                         (if (if #{tmp 25179}#
+                                               (@apply
+                                                 (lambda (#{name 25183}#
+                                                          #{val 25184}#)
+                                                   (if (symbol? #{name 25183}#)
+                                                     #t
+                                                     (if (if (vector?
+                                                               #{name 25183}#)
+                                                           (if (= 
(vector-length
+                                                                    #{name 
25183}#)
+                                                                  4)
+                                                             (eq? (vector-ref
+                                                                    #{name 
25183}#
+                                                                    0)
+                                                                  
'syntax-object)
+                                                             #f)
+                                                           #f)
+                                                       (symbol?
+                                                         (vector-ref
+                                                           #{name 25183}#
+                                                           1))
+                                                       #f)))
+                                                 #{tmp 25179}#)
+                                               #f)
+                                           (@apply
+                                             (lambda (#{name 25211}#
+                                                      #{val 25212}#)
+                                               (values
+                                                 'define-syntax-parameter-form
+                                                 #{name 25211}#
+                                                 #{val 25212}#
+                                                 #{w 24212}#
+                                                 #{s 24213}#
+                                                 #{mod 24215}#))
+                                             #{tmp 25179}#)
+                                           (syntax-violation
+                                             #f
+                                             "source expression failed to 
match any pattern"
+                                             #{e 24210}#)))
+                                       (values
+                                         'call
+                                         #f
+                                         #{e 24210}#
+                                         #{w 24212}#
+                                         #{s 24213}#
+                                         #{mod 24215}#)))))))))))))))
+           (if (if (vector? #{e 24210}#)
+                 (if (= (vector-length #{e 24210}#) 4)
+                   (eq? (vector-ref #{e 24210}# 0) 'syntax-object)
                    #f)
                  #f)
-             (#{syntax-type 4372}#
-               (vector-ref #{e 25037}# 1)
-               #{r 25038}#
-               (let ((#{w2 26645}# (vector-ref #{e 25037}# 2)))
-                 (let ((#{m1 26646}# (car #{w 25039}#))
-                       (#{s1 26647}# (cdr #{w 25039}#)))
-                   (if (null? #{m1 26646}#)
-                     (if (null? #{s1 26647}#)
-                       #{w2 26645}#
-                       (cons (car #{w2 26645}#)
-                             (let ((#{m2 26658}# (cdr #{w2 26645}#)))
-                               (if (null? #{m2 26658}#)
-                                 #{s1 26647}#
-                                 (append #{s1 26647}# #{m2 26658}#)))))
-                     (cons (let ((#{m2 26666}# (car #{w2 26645}#)))
-                             (if (null? #{m2 26666}#)
-                               #{m1 26646}#
-                               (append #{m1 26646}# #{m2 26666}#)))
-                           (let ((#{m2 26674}# (cdr #{w2 26645}#)))
-                             (if (null? #{m2 26674}#)
-                               #{s1 26647}#
-                               (append #{s1 26647}# #{m2 26674}#)))))))
-               (let ((#{t 26679}#
-                       (#{source-annotation 4334}# #{e 25037}#)))
-                 (if #{t 26679}# #{t 26679}# #{s 25040}#))
-               #{rib 25041}#
-               (let ((#{t 26977}# (vector-ref #{e 25037}# 3)))
-                 (if #{t 26977}# #{t 26977}# #{mod 25042}#))
-               #{for-car? 25043}#)
-             (if (self-evaluating? #{e 25037}#)
+             (#{syntax-type 4445}#
+               (vector-ref #{e 24210}# 1)
+               #{r 24211}#
+               (let ((#{w2 25237}# (vector-ref #{e 24210}# 2)))
+                 (let ((#{m1 25238}# (car #{w 24212}#))
+                       (#{s1 25239}# (cdr #{w 24212}#)))
+                   (if (null? #{m1 25238}#)
+                     (if (null? #{s1 25239}#)
+                       #{w2 25237}#
+                       (cons (car #{w2 25237}#)
+                             (let ((#{m2 25250}# (cdr #{w2 25237}#)))
+                               (if (null? #{m2 25250}#)
+                                 #{s1 25239}#
+                                 (append #{s1 25239}# #{m2 25250}#)))))
+                     (cons (let ((#{m2 25258}# (car #{w2 25237}#)))
+                             (if (null? #{m2 25258}#)
+                               #{m1 25238}#
+                               (append #{m1 25238}# #{m2 25258}#)))
+                           (let ((#{m2 25266}# (cdr #{w2 25237}#)))
+                             (if (null? #{m2 25266}#)
+                               #{s1 25239}#
+                               (append #{s1 25239}# #{m2 25266}#)))))))
+               (let ((#{t 25271}#
+                       (#{source-annotation 4407}# #{e 24210}#)))
+                 (if #{t 25271}# #{t 25271}# #{s 24213}#))
+               #{rib 24214}#
+               (let ((#{t 25569}# (vector-ref #{e 24210}# 3)))
+                 (if #{t 25569}# #{t 25569}# #{mod 24215}#))
+               #{for-car? 24216}#)
+             (if (self-evaluating? #{e 24210}#)
                (values
                  'constant
                  #f
-                 #{e 25037}#
-                 #{w 25039}#
-                 #{s 25040}#
-                 #{mod 25042}#)
+                 #{e 24210}#
+                 #{w 24212}#
+                 #{s 24213}#
+                 #{mod 24215}#)
                (values
                  'other
                  #f
-                 #{e 25037}#
-                 #{w 25039}#
-                 #{s 25040}#
-                 #{mod 25042}#)))))))
-   (#{chi 4373}#
-     (lambda (#{e 26986}#
-              #{r 26987}#
-              #{w 26988}#
-              #{mod 26989}#)
+                 #{e 24210}#
+                 #{w 24212}#
+                 #{s 24213}#
+                 #{mod 24215}#)))))))
+   (#{chi 4446}#
+     (lambda (#{e 25578}#
+              #{r 25579}#
+              #{w 25580}#
+              #{mod 25581}#)
        (call-with-values
          (lambda ()
-           (#{syntax-type 4372}#
-             #{e 26986}#
-             #{r 26987}#
-             #{w 26988}#
-             (#{source-annotation 4334}# #{e 26986}#)
+           (#{syntax-type 4445}#
+             #{e 25578}#
+             #{r 25579}#
+             #{w 25580}#
+             (#{source-annotation 4407}# #{e 25578}#)
              #f
-             #{mod 26989}#
+             #{mod 25581}#
              #f))
-         (lambda (#{type 27193}#
-                  #{value 27194}#
-                  #{e 27195}#
-                  #{w 27196}#
-                  #{s 27197}#
-                  #{mod 27198}#)
-           (#{chi-expr 4374}#
-             #{type 27193}#
-             #{value 27194}#
-             #{e 27195}#
-             #{r 26987}#
-             #{w 27196}#
-             #{s 27197}#
-             #{mod 27198}#)))))
-   (#{chi-expr 4374}#
-     (lambda (#{type 27201}#
-              #{value 27202}#
-              #{e 27203}#
-              #{r 27204}#
-              #{w 27205}#
-              #{s 27206}#
-              #{mod 27207}#)
-       (if (eqv? #{type 27201}# 'lexical)
+         (lambda (#{type 25785}#
+                  #{value 25786}#
+                  #{e 25787}#
+                  #{w 25788}#
+                  #{s 25789}#
+                  #{mod 25790}#)
+           (#{chi-expr 4447}#
+             #{type 25785}#
+             #{value 25786}#
+             #{e 25787}#
+             #{r 25579}#
+             #{w 25788}#
+             #{s 25789}#
+             #{mod 25790}#)))))
+   (#{chi-expr 4447}#
+     (lambda (#{type 25793}#
+              #{value 25794}#
+              #{e 25795}#
+              #{r 25796}#
+              #{w 25797}#
+              #{s 25798}#
+              #{mod 25799}#)
+       (if (eqv? #{type 25793}# 'lexical)
          (make-struct/no-tail
            (vector-ref %expanded-vtables 3)
-           #{s 27206}#
-           #{e 27203}#
-           #{value 27202}#)
-         (if (if (eqv? #{type 27201}# 'core)
+           #{s 25798}#
+           #{e 25795}#
+           #{value 25794}#)
+         (if (if (eqv? #{type 25793}# 'core)
                #t
-               (eqv? #{type 27201}# 'core-form))
-           (#{value 27202}#
-             #{e 27203}#
-             #{r 27204}#
-             #{w 27205}#
-             #{s 27206}#
-             #{mod 27207}#)
-           (if (eqv? #{type 27201}# 'module-ref)
+               (eqv? #{type 25793}# 'core-form))
+           (#{value 25794}#
+             #{e 25795}#
+             #{r 25796}#
+             #{w 25797}#
+             #{s 25798}#
+             #{mod 25799}#)
+           (if (eqv? #{type 25793}# 'module-ref)
              (call-with-values
                (lambda ()
-                 (#{value 27202}#
-                   #{e 27203}#
-                   #{r 27204}#
-                   #{w 27205}#))
-               (lambda (#{e 27233}#
-                        #{r 27234}#
-                        #{w 27235}#
-                        #{s 27236}#
-                        #{mod 27237}#)
-                 (#{chi 4373}#
-                   #{e 27233}#
-                   #{r 27234}#
-                   #{w 27235}#
-                   #{mod 27237}#)))
-             (if (eqv? #{type 27201}# 'lexical-call)
-               (#{chi-call 4375}#
-                 (let ((#{id 27418}# (car #{e 27203}#)))
-                   (#{build-lexical-reference 4310}#
+                 (#{value 25794}#
+                   #{e 25795}#
+                   #{r 25796}#
+                   #{w 25797}#))
+               (lambda (#{e 25825}#
+                        #{r 25826}#
+                        #{w 25827}#
+                        #{s 25828}#
+                        #{mod 25829}#)
+                 (#{chi 4446}#
+                   #{e 25825}#
+                   #{r 25826}#
+                   #{w 25827}#
+                   #{mod 25829}#)))
+             (if (eqv? #{type 25793}# 'lexical-call)
+               (#{chi-call 4448}#
+                 (let ((#{id 26010}# (car #{e 25795}#)))
+                   (#{build-lexical-reference 4383}#
                      'fun
-                     (#{source-annotation 4334}# #{id 27418}#)
-                     (if (if (vector? #{id 27418}#)
-                           (if (= (vector-length #{id 27418}#) 4)
-                             (eq? (vector-ref #{id 27418}# 0) 'syntax-object)
+                     (#{source-annotation 4407}# #{id 26010}#)
+                     (if (if (vector? #{id 26010}#)
+                           (if (= (vector-length #{id 26010}#) 4)
+                             (eq? (vector-ref #{id 26010}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (syntax->datum #{id 27418}#)
-                       #{id 27418}#)
-                     #{value 27202}#))
-                 #{e 27203}#
-                 #{r 27204}#
-                 #{w 27205}#
-                 #{s 27206}#
-                 #{mod 27207}#)
-               (if (eqv? #{type 27201}# 'global-call)
-                 (#{chi-call 4375}#
-                   (#{build-global-reference 4313}#
-                     (#{source-annotation 4334}# (car #{e 27203}#))
-                     (if (if (vector? #{value 27202}#)
-                           (if (= (vector-length #{value 27202}#) 4)
-                             (eq? (vector-ref #{value 27202}# 0)
+                       (syntax->datum #{id 26010}#)
+                       #{id 26010}#)
+                     #{value 25794}#))
+                 #{e 25795}#
+                 #{r 25796}#
+                 #{w 25797}#
+                 #{s 25798}#
+                 #{mod 25799}#)
+               (if (eqv? #{type 25793}# 'global-call)
+                 (#{chi-call 4448}#
+                   (#{build-global-reference 4386}#
+                     (#{source-annotation 4407}# (car #{e 25795}#))
+                     (if (if (vector? #{value 25794}#)
+                           (if (= (vector-length #{value 25794}#) 4)
+                             (eq? (vector-ref #{value 25794}# 0)
                                   'syntax-object)
                              #f)
                            #f)
-                       (vector-ref #{value 27202}# 1)
-                       #{value 27202}#)
-                     (if (if (vector? #{value 27202}#)
-                           (if (= (vector-length #{value 27202}#) 4)
-                             (eq? (vector-ref #{value 27202}# 0)
+                       (vector-ref #{value 25794}# 1)
+                       #{value 25794}#)
+                     (if (if (vector? #{value 25794}#)
+                           (if (= (vector-length #{value 25794}#) 4)
+                             (eq? (vector-ref #{value 25794}# 0)
                                   'syntax-object)
                              #f)
                            #f)
-                       (vector-ref #{value 27202}# 3)
-                       #{mod 27207}#))
-                   #{e 27203}#
-                   #{r 27204}#
-                   #{w 27205}#
-                   #{s 27206}#
-                   #{mod 27207}#)
-                 (if (eqv? #{type 27201}# 'constant)
-                   (let ((#{exp 28140}#
-                           (#{strip 4386}#
-                             (let ((#{x 28153}#
+                       (vector-ref #{value 25794}# 3)
+                       #{mod 25799}#))
+                   #{e 25795}#
+                   #{r 25796}#
+                   #{w 25797}#
+                   #{s 25798}#
+                   #{mod 25799}#)
+                 (if (eqv? #{type 25793}# 'constant)
+                   (let ((#{exp 26732}#
+                           (#{strip 4459}#
+                             (let ((#{x 26745}#
                                      (begin
-                                       (if (if (pair? #{e 27203}#)
-                                             #{s 27206}#
+                                       (if (if (pair? #{e 25795}#)
+                                             #{s 25798}#
                                              #f)
                                          (set-source-properties!
-                                           #{e 27203}#
-                                           #{s 27206}#))
-                                       #{e 27203}#)))
-                               (if (if (null? (car #{w 27205}#))
-                                     (null? (cdr #{w 27205}#))
+                                           #{e 25795}#
+                                           #{s 25798}#))
+                                       #{e 25795}#)))
+                               (if (if (null? (car #{w 25797}#))
+                                     (null? (cdr #{w 25797}#))
                                      #f)
-                                 #{x 28153}#
-                                 (if (if (vector? #{x 28153}#)
-                                       (if (= (vector-length #{x 28153}#) 4)
-                                         (eq? (vector-ref #{x 28153}# 0)
+                                 #{x 26745}#
+                                 (if (if (vector? #{x 26745}#)
+                                       (if (= (vector-length #{x 26745}#) 4)
+                                         (eq? (vector-ref #{x 26745}# 0)
                                               'syntax-object)
                                          #f)
                                        #f)
-                                   (let ((#{expression 28185}#
-                                           (vector-ref #{x 28153}# 1))
-                                         (#{wrap 28186}#
-                                           (let ((#{w2 28194}#
-                                                   (vector-ref #{x 28153}# 2)))
-                                             (let ((#{m1 28195}#
-                                                     (car #{w 27205}#))
-                                                   (#{s1 28196}#
-                                                     (cdr #{w 27205}#)))
-                                               (if (null? #{m1 28195}#)
-                                                 (if (null? #{s1 28196}#)
-                                                   #{w2 28194}#
-                                                   (cons (car #{w2 28194}#)
-                                                         (let ((#{m2 28211}#
-                                                                 (cdr #{w2 
28194}#)))
-                                                           (if (null? #{m2 
28211}#)
-                                                             #{s1 28196}#
+                                   (let ((#{expression 26777}#
+                                           (vector-ref #{x 26745}# 1))
+                                         (#{wrap 26778}#
+                                           (let ((#{w2 26786}#
+                                                   (vector-ref #{x 26745}# 2)))
+                                             (let ((#{m1 26787}#
+                                                     (car #{w 25797}#))
+                                                   (#{s1 26788}#
+                                                     (cdr #{w 25797}#)))
+                                               (if (null? #{m1 26787}#)
+                                                 (if (null? #{s1 26788}#)
+                                                   #{w2 26786}#
+                                                   (cons (car #{w2 26786}#)
+                                                         (let ((#{m2 26803}#
+                                                                 (cdr #{w2 
26786}#)))
+                                                           (if (null? #{m2 
26803}#)
+                                                             #{s1 26788}#
                                                              (append
-                                                               #{s1 28196}#
-                                                               #{m2 
28211}#)))))
-                                                 (cons (let ((#{m2 28219}#
-                                                               (car #{w2 
28194}#)))
-                                                         (if (null? #{m2 
28219}#)
-                                                           #{m1 28195}#
+                                                               #{s1 26788}#
+                                                               #{m2 
26803}#)))))
+                                                 (cons (let ((#{m2 26811}#
+                                                               (car #{w2 
26786}#)))
+                                                         (if (null? #{m2 
26811}#)
+                                                           #{m1 26787}#
                                                            (append
-                                                             #{m1 28195}#
-                                                             #{m2 28219}#)))
-                                                       (let ((#{m2 28227}#
-                                                               (cdr #{w2 
28194}#)))
-                                                         (if (null? #{m2 
28227}#)
-                                                           #{s1 28196}#
+                                                             #{m1 26787}#
+                                                             #{m2 26811}#)))
+                                                       (let ((#{m2 26819}#
+                                                               (cdr #{w2 
26786}#)))
+                                                         (if (null? #{m2 
26819}#)
+                                                           #{s1 26788}#
                                                            (append
-                                                             #{s1 28196}#
-                                                             #{m2 
28227}#))))))))
-                                         (#{module 28187}#
-                                           (vector-ref #{x 28153}# 3)))
+                                                             #{s1 26788}#
+                                                             #{m2 
26819}#))))))))
+                                         (#{module 26779}#
+                                           (vector-ref #{x 26745}# 3)))
                                      (vector
                                        'syntax-object
-                                       #{expression 28185}#
-                                       #{wrap 28186}#
-                                       #{module 28187}#))
-                                   (if (null? #{x 28153}#)
-                                     #{x 28153}#
+                                       #{expression 26777}#
+                                       #{wrap 26778}#
+                                       #{module 26779}#))
+                                   (if (null? #{x 26745}#)
+                                     #{x 26745}#
                                      (vector
                                        'syntax-object
-                                       #{x 28153}#
-                                       #{w 27205}#
-                                       #{mod 27207}#)))))
+                                       #{x 26745}#
+                                       #{w 25797}#
+                                       #{mod 25799}#)))))
                              '(()))))
                      (make-struct/no-tail
                        (vector-ref %expanded-vtables 1)
-                       #{s 27206}#
-                       #{exp 28140}#))
-                   (if (eqv? #{type 27201}# 'global)
-                     (#{analyze-variable 4312}#
-                       #{mod 27207}#
-                       #{value 27202}#
-                       (lambda (#{mod 28252}# #{var 28253}# #{public? 28254}#)
+                       #{s 25798}#
+                       #{exp 26732}#))
+                   (if (eqv? #{type 25793}# 'global)
+                     (#{analyze-variable 4385}#
+                       #{mod 25799}#
+                       #{value 25794}#
+                       (lambda (#{mod 26844}# #{var 26845}# #{public? 26846}#)
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 5)
-                           #{s 27206}#
-                           #{mod 28252}#
-                           #{var 28253}#
-                           #{public? 28254}#))
-                       (lambda (#{var 28262}#)
+                           #{s 25798}#
+                           #{mod 26844}#
+                           #{var 26845}#
+                           #{public? 26846}#))
+                       (lambda (#{var 26854}#)
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 7)
-                           #{s 27206}#
-                           #{var 28262}#)))
-                     (if (eqv? #{type 27201}# 'call)
-                       (#{chi-call 4375}#
-                         (#{chi 4373}#
-                           (car #{e 27203}#)
-                           #{r 27204}#
-                           #{w 27205}#
-                           #{mod 27207}#)
-                         #{e 27203}#
-                         #{r 27204}#
-                         #{w 27205}#
-                         #{s 27206}#
-                         #{mod 27207}#)
-                       (if (eqv? #{type 27201}# 'begin-form)
-                         (let ((#{tmp 28440}#
+                           #{s 25798}#
+                           #{var 26854}#)))
+                     (if (eqv? #{type 25793}# 'call)
+                       (#{chi-call 4448}#
+                         (#{chi 4446}#
+                           (car #{e 25795}#)
+                           #{r 25796}#
+                           #{w 25797}#
+                           #{mod 25799}#)
+                         #{e 25795}#
+                         #{r 25796}#
+                         #{w 25797}#
+                         #{s 25798}#
+                         #{mod 25799}#)
+                       (if (eqv? #{type 25793}# 'begin-form)
+                         (let ((#{tmp 27032}#
                                  ($sc-dispatch
-                                   #{e 27203}#
+                                   #{e 25795}#
                                    '(_ any . each-any))))
-                           (if #{tmp 28440}#
+                           (if #{tmp 27032}#
                              (@apply
-                               (lambda (#{e1 28444}# #{e2 28445}#)
-                                 (#{chi-sequence 4368}#
-                                   (cons #{e1 28444}# #{e2 28445}#)
-                                   #{r 27204}#
-                                   #{w 27205}#
-                                   #{s 27206}#
-                                   #{mod 27207}#))
-                               #{tmp 28440}#)
+                               (lambda (#{e1 27036}# #{e2 27037}#)
+                                 (#{chi-sequence 4441}#
+                                   (cons #{e1 27036}# #{e2 27037}#)
+                                   #{r 25796}#
+                                   #{w 25797}#
+                                   #{s 25798}#
+                                   #{mod 25799}#))
+                               #{tmp 27032}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{e 27203}#)))
-                         (if (eqv? #{type 27201}# 'local-syntax-form)
-                           (#{chi-local-syntax 4378}#
-                             #{value 27202}#
-                             #{e 27203}#
-                             #{r 27204}#
-                             #{w 27205}#
-                             #{s 27206}#
-                             #{mod 27207}#
-                             #{chi-sequence 4368}#)
-                           (if (eqv? #{type 27201}# 'eval-when-form)
-                             (let ((#{tmp 28625}#
+                               #{e 25795}#)))
+                         (if (eqv? #{type 25793}# 'local-syntax-form)
+                           (#{chi-local-syntax 4451}#
+                             #{value 25794}#
+                             #{e 25795}#
+                             #{r 25796}#
+                             #{w 25797}#
+                             #{s 25798}#
+                             #{mod 25799}#
+                             #{chi-sequence 4441}#)
+                           (if (eqv? #{type 25793}# 'eval-when-form)
+                             (let ((#{tmp 27217}#
                                      ($sc-dispatch
-                                       #{e 27203}#
+                                       #{e 25795}#
                                        '(_ each-any any . each-any))))
-                               (if #{tmp 28625}#
+                               (if #{tmp 27217}#
                                  (@apply
-                                   (lambda (#{x 28629}#
-                                            #{e1 28630}#
-                                            #{e2 28631}#)
-                                     (let ((#{when-list 28632}#
-                                             (#{chi-when-list 4371}#
-                                               #{e 27203}#
-                                               #{x 28629}#
-                                               #{w 27205}#)))
-                                       (if (memq 'eval #{when-list 28632}#)
-                                         (#{chi-sequence 4368}#
-                                           (cons #{e1 28630}# #{e2 28631}#)
-                                           #{r 27204}#
-                                           #{w 27205}#
-                                           #{s 27206}#
-                                           #{mod 27207}#)
+                                   (lambda (#{x 27221}#
+                                            #{e1 27222}#
+                                            #{e2 27223}#)
+                                     (let ((#{when-list 27224}#
+                                             (#{chi-when-list 4444}#
+                                               #{e 25795}#
+                                               #{x 27221}#
+                                               #{w 25797}#)))
+                                       (if (memq 'eval #{when-list 27224}#)
+                                         (#{chi-sequence 4441}#
+                                           (cons #{e1 27222}# #{e2 27223}#)
+                                           #{r 25796}#
+                                           #{w 25797}#
+                                           #{s 25798}#
+                                           #{mod 25799}#)
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 0)
                                            #f))))
-                                   #{tmp 28625}#)
+                                   #{tmp 27217}#)
                                  (syntax-violation
                                    #f
                                    "source expression failed to match any 
pattern"
-                                   #{e 27203}#)))
-                             (if (if (eqv? #{type 27201}# 'define-form)
+                                   #{e 25795}#)))
+                             (if (if (eqv? #{type 25793}# 'define-form)
                                    #t
-                                   (eqv? #{type 27201}# 'define-syntax-form))
+                                   (if (eqv? #{type 25793}#
+                                             'define-syntax-form)
+                                     #t
+                                     (eqv? #{type 25793}#
+                                           'define-syntax-parameter-form)))
                                (syntax-violation
                                  #f
                                  "definition in expression context"
-                                 #{e 27203}#
-                                 (if (if (null? (car #{w 27205}#))
-                                       (null? (cdr #{w 27205}#))
+                                 #{e 25795}#
+                                 (if (if (null? (car #{w 25797}#))
+                                       (null? (cdr #{w 25797}#))
                                        #f)
-                                   #{value 27202}#
-                                   (if (if (vector? #{value 27202}#)
-                                         (if (= (vector-length #{value 27202}#)
+                                   #{value 25794}#
+                                   (if (if (vector? #{value 25794}#)
+                                         (if (= (vector-length #{value 25794}#)
                                                 4)
-                                           (eq? (vector-ref #{value 27202}# 0)
+                                           (eq? (vector-ref #{value 25794}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (let ((#{expression 28783}#
-                                             (vector-ref #{value 27202}# 1))
-                                           (#{wrap 28784}#
-                                             (let ((#{w2 28794}#
+                                     (let ((#{expression 27378}#
+                                             (vector-ref #{value 25794}# 1))
+                                           (#{wrap 27379}#
+                                             (let ((#{w2 27389}#
                                                      (vector-ref
-                                                       #{value 27202}#
+                                                       #{value 25794}#
                                                        2)))
-                                               (let ((#{m1 28795}#
-                                                       (car #{w 27205}#))
-                                                     (#{s1 28796}#
-                                                       (cdr #{w 27205}#)))
-                                                 (if (null? #{m1 28795}#)
-                                                   (if (null? #{s1 28796}#)
-                                                     #{w2 28794}#
-                                                     (cons (car #{w2 28794}#)
-                                                           (let ((#{m2 28813}#
-                                                                   (cdr #{w2 
28794}#)))
-                                                             (if (null? #{m2 
28813}#)
-                                                               #{s1 28796}#
+                                               (let ((#{m1 27390}#
+                                                       (car #{w 25797}#))
+                                                     (#{s1 27391}#
+                                                       (cdr #{w 25797}#)))
+                                                 (if (null? #{m1 27390}#)
+                                                   (if (null? #{s1 27391}#)
+                                                     #{w2 27389}#
+                                                     (cons (car #{w2 27389}#)
+                                                           (let ((#{m2 27408}#
+                                                                   (cdr #{w2 
27389}#)))
+                                                             (if (null? #{m2 
27408}#)
+                                                               #{s1 27391}#
                                                                (append
-                                                                 #{s1 28796}#
-                                                                 #{m2 
28813}#)))))
-                                                   (cons (let ((#{m2 28821}#
-                                                                 (car #{w2 
28794}#)))
-                                                           (if (null? #{m2 
28821}#)
-                                                             #{m1 28795}#
+                                                                 #{s1 27391}#
+                                                                 #{m2 
27408}#)))))
+                                                   (cons (let ((#{m2 27416}#
+                                                                 (car #{w2 
27389}#)))
+                                                           (if (null? #{m2 
27416}#)
+                                                             #{m1 27390}#
                                                              (append
-                                                               #{m1 28795}#
-                                                               #{m2 28821}#)))
-                                                         (let ((#{m2 28829}#
-                                                                 (cdr #{w2 
28794}#)))
-                                                           (if (null? #{m2 
28829}#)
-                                                             #{s1 28796}#
+                                                               #{m1 27390}#
+                                                               #{m2 27416}#)))
+                                                         (let ((#{m2 27424}#
+                                                                 (cdr #{w2 
27389}#)))
+                                                           (if (null? #{m2 
27424}#)
+                                                             #{s1 27391}#
                                                              (append
-                                                               #{s1 28796}#
-                                                               #{m2 
28829}#))))))))
-                                           (#{module 28785}#
-                                             (vector-ref #{value 27202}# 3)))
+                                                               #{s1 27391}#
+                                                               #{m2 
27424}#))))))))
+                                           (#{module 27380}#
+                                             (vector-ref #{value 25794}# 3)))
                                        (vector
                                          'syntax-object
-                                         #{expression 28783}#
-                                         #{wrap 28784}#
-                                         #{module 28785}#))
-                                     (if (null? #{value 27202}#)
-                                       #{value 27202}#
+                                         #{expression 27378}#
+                                         #{wrap 27379}#
+                                         #{module 27380}#))
+                                     (if (null? #{value 25794}#)
+                                       #{value 25794}#
                                        (vector
                                          'syntax-object
-                                         #{value 27202}#
-                                         #{w 27205}#
-                                         #{mod 27207}#)))))
-                               (if (eqv? #{type 27201}# 'syntax)
+                                         #{value 25794}#
+                                         #{w 25797}#
+                                         #{mod 25799}#)))))
+                               (if (eqv? #{type 25793}# 'syntax)
                                  (syntax-violation
                                    #f
                                    "reference to pattern variable outside 
syntax form"
-                                   (let ((#{x 28864}#
+                                   (let ((#{x 27459}#
                                            (begin
-                                             (if (if (pair? #{e 27203}#)
-                                                   #{s 27206}#
+                                             (if (if (pair? #{e 25795}#)
+                                                   #{s 25798}#
                                                    #f)
                                                (set-source-properties!
-                                                 #{e 27203}#
-                                                 #{s 27206}#))
-                                             #{e 27203}#)))
-                                     (if (if (null? (car #{w 27205}#))
-                                           (null? (cdr #{w 27205}#))
+                                                 #{e 25795}#
+                                                 #{s 25798}#))
+                                             #{e 25795}#)))
+                                     (if (if (null? (car #{w 25797}#))
+                                           (null? (cdr #{w 25797}#))
                                            #f)
-                                       #{x 28864}#
-                                       (if (if (vector? #{x 28864}#)
-                                             (if (= (vector-length #{x 28864}#)
+                                       #{x 27459}#
+                                       (if (if (vector? #{x 27459}#)
+                                             (if (= (vector-length #{x 27459}#)
                                                     4)
-                                               (eq? (vector-ref #{x 28864}# 0)
+                                               (eq? (vector-ref #{x 27459}# 0)
                                                     'syntax-object)
                                                #f)
                                              #f)
-                                         (let ((#{expression 28896}#
-                                                 (vector-ref #{x 28864}# 1))
-                                               (#{wrap 28897}#
-                                                 (let ((#{w2 28905}#
+                                         (let ((#{expression 27491}#
+                                                 (vector-ref #{x 27459}# 1))
+                                               (#{wrap 27492}#
+                                                 (let ((#{w2 27500}#
                                                          (vector-ref
-                                                           #{x 28864}#
+                                                           #{x 27459}#
                                                            2)))
-                                                   (let ((#{m1 28906}#
-                                                           (car #{w 27205}#))
-                                                         (#{s1 28907}#
-                                                           (cdr #{w 27205}#)))
-                                                     (if (null? #{m1 28906}#)
-                                                       (if (null? #{s1 28907}#)
-                                                         #{w2 28905}#
-                                                         (cons (car #{w2 
28905}#)
-                                                               (let ((#{m2 
28922}#
-                                                                       (cdr 
#{w2 28905}#)))
-                                                                 (if (null? 
#{m2 28922}#)
-                                                                   #{s1 28907}#
+                                                   (let ((#{m1 27501}#
+                                                           (car #{w 25797}#))
+                                                         (#{s1 27502}#
+                                                           (cdr #{w 25797}#)))
+                                                     (if (null? #{m1 27501}#)
+                                                       (if (null? #{s1 27502}#)
+                                                         #{w2 27500}#
+                                                         (cons (car #{w2 
27500}#)
+                                                               (let ((#{m2 
27517}#
+                                                                       (cdr 
#{w2 27500}#)))
+                                                                 (if (null? 
#{m2 27517}#)
+                                                                   #{s1 27502}#
                                                                    (append
-                                                                     #{s1 
28907}#
-                                                                     #{m2 
28922}#)))))
-                                                       (cons (let ((#{m2 
28930}#
-                                                                     (car #{w2 
28905}#)))
-                                                               (if (null? #{m2 
28930}#)
-                                                                 #{m1 28906}#
+                                                                     #{s1 
27502}#
+                                                                     #{m2 
27517}#)))))
+                                                       (cons (let ((#{m2 
27525}#
+                                                                     (car #{w2 
27500}#)))
+                                                               (if (null? #{m2 
27525}#)
+                                                                 #{m1 27501}#
                                                                  (append
-                                                                   #{m1 28906}#
-                                                                   #{m2 
28930}#)))
-                                                             (let ((#{m2 
28938}#
-                                                                     (cdr #{w2 
28905}#)))
-                                                               (if (null? #{m2 
28938}#)
-                                                                 #{s1 28907}#
+                                                                   #{m1 27501}#
+                                                                   #{m2 
27525}#)))
+                                                             (let ((#{m2 
27533}#
+                                                                     (cdr #{w2 
27500}#)))
+                                                               (if (null? #{m2 
27533}#)
+                                                                 #{s1 27502}#
                                                                  (append
-                                                                   #{s1 28907}#
-                                                                   #{m2 
28938}#))))))))
-                                               (#{module 28898}#
-                                                 (vector-ref #{x 28864}# 3)))
+                                                                   #{s1 27502}#
+                                                                   #{m2 
27533}#))))))))
+                                               (#{module 27493}#
+                                                 (vector-ref #{x 27459}# 3)))
                                            (vector
                                              'syntax-object
-                                             #{expression 28896}#
-                                             #{wrap 28897}#
-                                             #{module 28898}#))
-                                         (if (null? #{x 28864}#)
-                                           #{x 28864}#
+                                             #{expression 27491}#
+                                             #{wrap 27492}#
+                                             #{module 27493}#))
+                                         (if (null? #{x 27459}#)
+                                           #{x 27459}#
                                            (vector
                                              'syntax-object
-                                             #{x 28864}#
-                                             #{w 27205}#
-                                             #{mod 27207}#))))))
-                                 (if (eqv? #{type 27201}# 'displaced-lexical)
+                                             #{x 27459}#
+                                             #{w 25797}#
+                                             #{mod 25799}#))))))
+                                 (if (eqv? #{type 25793}# 'displaced-lexical)
                                    (syntax-violation
                                      #f
                                      "reference to identifier outside its 
scope"
-                                     (let ((#{x 28965}#
+                                     (let ((#{x 27560}#
                                              (begin
-                                               (if (if (pair? #{e 27203}#)
-                                                     #{s 27206}#
+                                               (if (if (pair? #{e 25795}#)
+                                                     #{s 25798}#
                                                      #f)
                                                  (set-source-properties!
-                                                   #{e 27203}#
-                                                   #{s 27206}#))
-                                               #{e 27203}#)))
-                                       (if (if (null? (car #{w 27205}#))
-                                             (null? (cdr #{w 27205}#))
+                                                   #{e 25795}#
+                                                   #{s 25798}#))
+                                               #{e 25795}#)))
+                                       (if (if (null? (car #{w 25797}#))
+                                             (null? (cdr #{w 25797}#))
                                              #f)
-                                         #{x 28965}#
-                                         (if (if (vector? #{x 28965}#)
+                                         #{x 27560}#
+                                         (if (if (vector? #{x 27560}#)
                                                (if (= (vector-length
-                                                        #{x 28965}#)
+                                                        #{x 27560}#)
                                                       4)
                                                  (eq? (vector-ref
-                                                        #{x 28965}#
+                                                        #{x 27560}#
                                                         0)
                                                       'syntax-object)
                                                  #f)
                                                #f)
-                                           (let ((#{expression 28997}#
-                                                   (vector-ref #{x 28965}# 1))
-                                                 (#{wrap 28998}#
-                                                   (let ((#{w2 29006}#
+                                           (let ((#{expression 27592}#
+                                                   (vector-ref #{x 27560}# 1))
+                                                 (#{wrap 27593}#
+                                                   (let ((#{w2 27601}#
                                                            (vector-ref
-                                                             #{x 28965}#
+                                                             #{x 27560}#
                                                              2)))
-                                                     (let ((#{m1 29007}#
-                                                             (car #{w 27205}#))
-                                                           (#{s1 29008}#
-                                                             (cdr #{w 
27205}#)))
-                                                       (if (null? #{m1 29007}#)
-                                                         (if (null? #{s1 
29008}#)
-                                                           #{w2 29006}#
-                                                           (cons (car #{w2 
29006}#)
-                                                                 (let ((#{m2 
29023}#
-                                                                         (cdr 
#{w2 29006}#)))
-                                                                   (if (null? 
#{m2 29023}#)
-                                                                     #{s1 
29008}#
+                                                     (let ((#{m1 27602}#
+                                                             (car #{w 25797}#))
+                                                           (#{s1 27603}#
+                                                             (cdr #{w 
25797}#)))
+                                                       (if (null? #{m1 27602}#)
+                                                         (if (null? #{s1 
27603}#)
+                                                           #{w2 27601}#
+                                                           (cons (car #{w2 
27601}#)
+                                                                 (let ((#{m2 
27618}#
+                                                                         (cdr 
#{w2 27601}#)))
+                                                                   (if (null? 
#{m2 27618}#)
+                                                                     #{s1 
27603}#
                                                                      (append
-                                                                       #{s1 
29008}#
-                                                                       #{m2 
29023}#)))))
-                                                         (cons (let ((#{m2 
29031}#
-                                                                       (car 
#{w2 29006}#)))
-                                                                 (if (null? 
#{m2 29031}#)
-                                                                   #{m1 29007}#
+                                                                       #{s1 
27603}#
+                                                                       #{m2 
27618}#)))))
+                                                         (cons (let ((#{m2 
27626}#
+                                                                       (car 
#{w2 27601}#)))
+                                                                 (if (null? 
#{m2 27626}#)
+                                                                   #{m1 27602}#
                                                                    (append
-                                                                     #{m1 
29007}#
-                                                                     #{m2 
29031}#)))
-                                                               (let ((#{m2 
29039}#
-                                                                       (cdr 
#{w2 29006}#)))
-                                                                 (if (null? 
#{m2 29039}#)
-                                                                   #{s1 29008}#
+                                                                     #{m1 
27602}#
+                                                                     #{m2 
27626}#)))
+                                                               (let ((#{m2 
27634}#
+                                                                       (cdr 
#{w2 27601}#)))
+                                                                 (if (null? 
#{m2 27634}#)
+                                                                   #{s1 27603}#
                                                                    (append
-                                                                     #{s1 
29008}#
-                                                                     #{m2 
29039}#))))))))
-                                                 (#{module 28999}#
-                                                   (vector-ref #{x 28965}# 3)))
+                                                                     #{s1 
27603}#
+                                                                     #{m2 
27634}#))))))))
+                                                 (#{module 27594}#
+                                                   (vector-ref #{x 27560}# 3)))
                                              (vector
                                                'syntax-object
-                                               #{expression 28997}#
-                                               #{wrap 28998}#
-                                               #{module 28999}#))
-                                           (if (null? #{x 28965}#)
-                                             #{x 28965}#
+                                               #{expression 27592}#
+                                               #{wrap 27593}#
+                                               #{module 27594}#))
+                                           (if (null? #{x 27560}#)
+                                             #{x 27560}#
                                              (vector
                                                'syntax-object
-                                               #{x 28965}#
-                                               #{w 27205}#
-                                               #{mod 27207}#))))))
+                                               #{x 27560}#
+                                               #{w 25797}#
+                                               #{mod 25799}#))))))
                                    (syntax-violation
                                      #f
                                      "unexpected syntax"
-                                     (let ((#{x 29063}#
+                                     (let ((#{x 27658}#
                                              (begin
-                                               (if (if (pair? #{e 27203}#)
-                                                     #{s 27206}#
+                                               (if (if (pair? #{e 25795}#)
+                                                     #{s 25798}#
                                                      #f)
                                                  (set-source-properties!
-                                                   #{e 27203}#
-                                                   #{s 27206}#))
-                                               #{e 27203}#)))
-                                       (if (if (null? (car #{w 27205}#))
-                                             (null? (cdr #{w 27205}#))
+                                                   #{e 25795}#
+                                                   #{s 25798}#))
+                                               #{e 25795}#)))
+                                       (if (if (null? (car #{w 25797}#))
+                                             (null? (cdr #{w 25797}#))
                                              #f)
-                                         #{x 29063}#
-                                         (if (if (vector? #{x 29063}#)
+                                         #{x 27658}#
+                                         (if (if (vector? #{x 27658}#)
                                                (if (= (vector-length
-                                                        #{x 29063}#)
+                                                        #{x 27658}#)
                                                       4)
                                                  (eq? (vector-ref
-                                                        #{x 29063}#
+                                                        #{x 27658}#
                                                         0)
                                                       'syntax-object)
                                                  #f)
                                                #f)
-                                           (let ((#{expression 29095}#
-                                                   (vector-ref #{x 29063}# 1))
-                                                 (#{wrap 29096}#
-                                                   (let ((#{w2 29104}#
+                                           (let ((#{expression 27690}#
+                                                   (vector-ref #{x 27658}# 1))
+                                                 (#{wrap 27691}#
+                                                   (let ((#{w2 27699}#
                                                            (vector-ref
-                                                             #{x 29063}#
+                                                             #{x 27658}#
                                                              2)))
-                                                     (let ((#{m1 29105}#
-                                                             (car #{w 27205}#))
-                                                           (#{s1 29106}#
-                                                             (cdr #{w 
27205}#)))
-                                                       (if (null? #{m1 29105}#)
-                                                         (if (null? #{s1 
29106}#)
-                                                           #{w2 29104}#
-                                                           (cons (car #{w2 
29104}#)
-                                                                 (let ((#{m2 
29121}#
-                                                                         (cdr 
#{w2 29104}#)))
-                                                                   (if (null? 
#{m2 29121}#)
-                                                                     #{s1 
29106}#
+                                                     (let ((#{m1 27700}#
+                                                             (car #{w 25797}#))
+                                                           (#{s1 27701}#
+                                                             (cdr #{w 
25797}#)))
+                                                       (if (null? #{m1 27700}#)
+                                                         (if (null? #{s1 
27701}#)
+                                                           #{w2 27699}#
+                                                           (cons (car #{w2 
27699}#)
+                                                                 (let ((#{m2 
27716}#
+                                                                         (cdr 
#{w2 27699}#)))
+                                                                   (if (null? 
#{m2 27716}#)
+                                                                     #{s1 
27701}#
                                                                      (append
-                                                                       #{s1 
29106}#
-                                                                       #{m2 
29121}#)))))
-                                                         (cons (let ((#{m2 
29129}#
-                                                                       (car 
#{w2 29104}#)))
-                                                                 (if (null? 
#{m2 29129}#)
-                                                                   #{m1 29105}#
+                                                                       #{s1 
27701}#
+                                                                       #{m2 
27716}#)))))
+                                                         (cons (let ((#{m2 
27724}#
+                                                                       (car 
#{w2 27699}#)))
+                                                                 (if (null? 
#{m2 27724}#)
+                                                                   #{m1 27700}#
                                                                    (append
-                                                                     #{m1 
29105}#
-                                                                     #{m2 
29129}#)))
-                                                               (let ((#{m2 
29137}#
-                                                                       (cdr 
#{w2 29104}#)))
-                                                                 (if (null? 
#{m2 29137}#)
-                                                                   #{s1 29106}#
+                                                                     #{m1 
27700}#
+                                                                     #{m2 
27724}#)))
+                                                               (let ((#{m2 
27732}#
+                                                                       (cdr 
#{w2 27699}#)))
+                                                                 (if (null? 
#{m2 27732}#)
+                                                                   #{s1 27701}#
                                                                    (append
-                                                                     #{s1 
29106}#
-                                                                     #{m2 
29137}#))))))))
-                                                 (#{module 29097}#
-                                                   (vector-ref #{x 29063}# 3)))
+                                                                     #{s1 
27701}#
+                                                                     #{m2 
27732}#))))))))
+                                                 (#{module 27692}#
+                                                   (vector-ref #{x 27658}# 3)))
                                              (vector
                                                'syntax-object
-                                               #{expression 29095}#
-                                               #{wrap 29096}#
-                                               #{module 29097}#))
-                                           (if (null? #{x 29063}#)
-                                             #{x 29063}#
+                                               #{expression 27690}#
+                                               #{wrap 27691}#
+                                               #{module 27692}#))
+                                           (if (null? #{x 27658}#)
+                                             #{x 27658}#
                                              (vector
                                                'syntax-object
-                                               #{x 29063}#
-                                               #{w 27205}#
-                                               #{mod 
27207}#))))))))))))))))))))))
-   (#{chi-call 4375}#
-     (lambda (#{x 29152}#
-              #{e 29153}#
-              #{r 29154}#
-              #{w 29155}#
-              #{s 29156}#
-              #{mod 29157}#)
-       (let ((#{tmp 29159}#
-               ($sc-dispatch #{e 29153}# '(any . each-any))))
-         (if #{tmp 29159}#
+                                               #{x 27658}#
+                                               #{w 25797}#
+                                               #{mod 
25799}#))))))))))))))))))))))
+   (#{chi-call 4448}#
+     (lambda (#{x 27747}#
+              #{e 27748}#
+              #{r 27749}#
+              #{w 27750}#
+              #{s 27751}#
+              #{mod 27752}#)
+       (let ((#{tmp 27754}#
+               ($sc-dispatch #{e 27748}# '(any . each-any))))
+         (if #{tmp 27754}#
            (@apply
-             (lambda (#{e0 29163}# #{e1 29164}#)
-               (#{build-call 4307}#
-                 #{s 29156}#
-                 #{x 29152}#
-                 (map (lambda (#{e 29256}#)
-                        (#{chi 4373}#
-                          #{e 29256}#
-                          #{r 29154}#
-                          #{w 29155}#
-                          #{mod 29157}#))
-                      #{e1 29164}#)))
-             #{tmp 29159}#)
+             (lambda (#{e0 27758}# #{e1 27759}#)
+               (#{build-call 4380}#
+                 #{s 27751}#
+                 #{x 27747}#
+                 (map (lambda (#{e 27851}#)
+                        (#{chi 4446}#
+                          #{e 27851}#
+                          #{r 27749}#
+                          #{w 27750}#
+                          #{mod 27752}#))
+                      #{e1 27759}#)))
+             #{tmp 27754}#)
            (syntax-violation
              #f
              "source expression failed to match any pattern"
-             #{e 29153}#)))))
-   (#{chi-macro 4376}#
-     (lambda (#{p 29344}#
-              #{e 29345}#
-              #{r 29346}#
-              #{w 29347}#
-              #{s 29348}#
-              #{rib 29349}#
-              #{mod 29350}#)
+             #{e 27748}#)))))
+   (#{chi-macro 4449}#
+     (lambda (#{p 27939}#
+              #{e 27940}#
+              #{r 27941}#
+              #{w 27942}#
+              #{s 27943}#
+              #{rib 27944}#
+              #{mod 27945}#)
        (letrec*
-         ((#{rebuild-macro-output 29351}#
-            (lambda (#{x 29458}# #{m 29459}#)
-              (if (pair? #{x 29458}#)
-                (let ((#{e 29463}#
-                        (cons (#{rebuild-macro-output 29351}#
-                                (car #{x 29458}#)
-                                #{m 29459}#)
-                              (#{rebuild-macro-output 29351}#
-                                (cdr #{x 29458}#)
-                                #{m 29459}#))))
+         ((#{rebuild-macro-output 27946}#
+            (lambda (#{x 28053}# #{m 28054}#)
+              (if (pair? #{x 28053}#)
+                (let ((#{e 28058}#
+                        (cons (#{rebuild-macro-output 27946}#
+                                (car #{x 28053}#)
+                                #{m 28054}#)
+                              (#{rebuild-macro-output 27946}#
+                                (cdr #{x 28053}#)
+                                #{m 28054}#))))
                   (begin
-                    (if (if (pair? #{e 29463}#) #{s 29348}# #f)
-                      (set-source-properties! #{e 29463}# #{s 29348}#))
-                    #{e 29463}#))
-                (if (if (vector? #{x 29458}#)
-                      (if (= (vector-length #{x 29458}#) 4)
-                        (eq? (vector-ref #{x 29458}# 0) 'syntax-object)
+                    (if (if (pair? #{e 28058}#) #{s 27943}# #f)
+                      (set-source-properties! #{e 28058}# #{s 27943}#))
+                    #{e 28058}#))
+                (if (if (vector? #{x 28053}#)
+                      (if (= (vector-length #{x 28053}#) 4)
+                        (eq? (vector-ref #{x 28053}# 0) 'syntax-object)
                         #f)
                       #f)
-                  (let ((#{w 29479}# (vector-ref #{x 29458}# 2)))
-                    (let ((#{ms 29480}# (car #{w 29479}#))
-                          (#{s 29481}# (cdr #{w 29479}#)))
-                      (if (if (pair? #{ms 29480}#)
-                            (eq? (car #{ms 29480}#) #f)
+                  (let ((#{w 28074}# (vector-ref #{x 28053}# 2)))
+                    (let ((#{ms 28075}# (car #{w 28074}#))
+                          (#{s 28076}# (cdr #{w 28074}#)))
+                      (if (if (pair? #{ms 28075}#)
+                            (eq? (car #{ms 28075}#) #f)
                             #f)
-                        (let ((#{expression 29489}# (vector-ref #{x 29458}# 1))
-                              (#{wrap 29490}#
-                                (cons (cdr #{ms 29480}#)
-                                      (if #{rib 29349}#
-                                        (cons #{rib 29349}# (cdr #{s 29481}#))
-                                        (cdr #{s 29481}#))))
-                              (#{module 29491}# (vector-ref #{x 29458}# 3)))
+                        (let ((#{expression 28084}# (vector-ref #{x 28053}# 1))
+                              (#{wrap 28085}#
+                                (cons (cdr #{ms 28075}#)
+                                      (if #{rib 27944}#
+                                        (cons #{rib 27944}# (cdr #{s 28076}#))
+                                        (cdr #{s 28076}#))))
+                              (#{module 28086}# (vector-ref #{x 28053}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 29489}#
-                            #{wrap 29490}#
-                            #{module 29491}#))
-                        (let ((#{expression 29501}#
-                                (let ((#{e 29506}# (vector-ref #{x 29458}# 1)))
+                            #{expression 28084}#
+                            #{wrap 28085}#
+                            #{module 28086}#))
+                        (let ((#{expression 28096}#
+                                (let ((#{e 28101}# (vector-ref #{x 28053}# 1)))
                                   (begin
-                                    (if (if (pair? #{e 29506}#) #{s 29481}# #f)
+                                    (if (if (pair? #{e 28101}#) #{s 28076}# #f)
                                       (set-source-properties!
-                                        #{e 29506}#
-                                        #{s 29481}#))
-                                    #{e 29506}#)))
-                              (#{wrap 29502}#
-                                (cons (cons #{m 29459}# #{ms 29480}#)
-                                      (if #{rib 29349}#
-                                        (cons #{rib 29349}#
-                                              (cons 'shift #{s 29481}#))
-                                        (cons 'shift #{s 29481}#))))
-                              (#{module 29503}# (vector-ref #{x 29458}# 3)))
+                                        #{e 28101}#
+                                        #{s 28076}#))
+                                    #{e 28101}#)))
+                              (#{wrap 28097}#
+                                (cons (cons #{m 28054}# #{ms 28075}#)
+                                      (if #{rib 27944}#
+                                        (cons #{rib 27944}#
+                                              (cons 'shift #{s 28076}#))
+                                        (cons 'shift #{s 28076}#))))
+                              (#{module 28098}# (vector-ref #{x 28053}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 29501}#
-                            #{wrap 29502}#
-                            #{module 29503}#)))))
-                  (if (vector? #{x 29458}#)
-                    (let ((#{n 29518}# (vector-length #{x 29458}#)))
-                      (let ((#{v 29519}#
-                              (let ((#{e 29527}# (make-vector #{n 29518}#)))
+                            #{expression 28096}#
+                            #{wrap 28097}#
+                            #{module 28098}#)))))
+                  (if (vector? #{x 28053}#)
+                    (let ((#{n 28113}# (vector-length #{x 28053}#)))
+                      (let ((#{v 28114}#
+                              (let ((#{e 28122}# (make-vector #{n 28113}#)))
                                 (begin
-                                  (if (if (pair? #{e 29527}#) #{x 29458}# #f)
+                                  (if (if (pair? #{e 28122}#) #{x 28053}# #f)
                                     (set-source-properties!
-                                      #{e 29527}#
-                                      #{x 29458}#))
-                                  #{e 29527}#))))
+                                      #{e 28122}#
+                                      #{x 28053}#))
+                                  #{e 28122}#))))
                         (letrec*
-                          ((#{loop 29520}#
-                             (lambda (#{i 29581}#)
-                               (if (= #{i 29581}# #{n 29518}#)
-                                 #{v 29519}#
+                          ((#{loop 28115}#
+                             (lambda (#{i 28176}#)
+                               (if (= #{i 28176}# #{n 28113}#)
+                                 #{v 28114}#
                                  (begin
                                    (vector-set!
-                                     #{v 29519}#
-                                     #{i 29581}#
-                                     (#{rebuild-macro-output 29351}#
-                                       (vector-ref #{x 29458}# #{i 29581}#)
-                                       #{m 29459}#))
-                                   (#{loop 29520}# (#{1+}# #{i 29581}#)))))))
-                          (#{loop 29520}# 0))))
-                    (if (symbol? #{x 29458}#)
+                                     #{v 28114}#
+                                     #{i 28176}#
+                                     (#{rebuild-macro-output 27946}#
+                                       (vector-ref #{x 28053}# #{i 28176}#)
+                                       #{m 28054}#))
+                                   (#{loop 28115}# (#{1+}# #{i 28176}#)))))))
+                          (#{loop 28115}# 0))))
+                    (if (symbol? #{x 28053}#)
                       (syntax-violation
                         #f
                         "encountered raw symbol in macro output"
-                        (let ((#{s 29587}# (cdr #{w 29347}#)))
-                          (let ((#{x 29591}#
+                        (let ((#{s 28182}# (cdr #{w 27942}#)))
+                          (let ((#{x 28186}#
                                   (begin
-                                    (if (if (pair? #{e 29345}#) #{s 29587}# #f)
+                                    (if (if (pair? #{e 27940}#) #{s 28182}# #f)
                                       (set-source-properties!
-                                        #{e 29345}#
-                                        #{s 29587}#))
-                                    #{e 29345}#)))
-                            (if (if (null? (car #{w 29347}#))
-                                  (null? (cdr #{w 29347}#))
+                                        #{e 27940}#
+                                        #{s 28182}#))
+                                    #{e 27940}#)))
+                            (if (if (null? (car #{w 27942}#))
+                                  (null? (cdr #{w 27942}#))
                                   #f)
-                              #{x 29591}#
-                              (if (if (vector? #{x 29591}#)
-                                    (if (= (vector-length #{x 29591}#) 4)
-                                      (eq? (vector-ref #{x 29591}# 0)
+                              #{x 28186}#
+                              (if (if (vector? #{x 28186}#)
+                                    (if (= (vector-length #{x 28186}#) 4)
+                                      (eq? (vector-ref #{x 28186}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 29623}#
-                                        (vector-ref #{x 29591}# 1))
-                                      (#{wrap 29624}#
-                                        (let ((#{w2 29632}#
-                                                (vector-ref #{x 29591}# 2)))
-                                          (let ((#{m1 29633}#
-                                                  (car #{w 29347}#))
-                                                (#{s1 29634}#
-                                                  (cdr #{w 29347}#)))
-                                            (if (null? #{m1 29633}#)
-                                              (if (null? #{s1 29634}#)
-                                                #{w2 29632}#
-                                                (cons (car #{w2 29632}#)
-                                                      (let ((#{m2 29649}#
-                                                              (cdr #{w2 
29632}#)))
-                                                        (if (null? #{m2 
29649}#)
-                                                          #{s1 29634}#
+                                (let ((#{expression 28218}#
+                                        (vector-ref #{x 28186}# 1))
+                                      (#{wrap 28219}#
+                                        (let ((#{w2 28227}#
+                                                (vector-ref #{x 28186}# 2)))
+                                          (let ((#{m1 28228}#
+                                                  (car #{w 27942}#))
+                                                (#{s1 28229}#
+                                                  (cdr #{w 27942}#)))
+                                            (if (null? #{m1 28228}#)
+                                              (if (null? #{s1 28229}#)
+                                                #{w2 28227}#
+                                                (cons (car #{w2 28227}#)
+                                                      (let ((#{m2 28244}#
+                                                              (cdr #{w2 
28227}#)))
+                                                        (if (null? #{m2 
28244}#)
+                                                          #{s1 28229}#
                                                           (append
-                                                            #{s1 29634}#
-                                                            #{m2 29649}#)))))
-                                              (cons (let ((#{m2 29657}#
-                                                            (car #{w2 
29632}#)))
-                                                      (if (null? #{m2 29657}#)
-                                                        #{m1 29633}#
+                                                            #{s1 28229}#
+                                                            #{m2 28244}#)))))
+                                              (cons (let ((#{m2 28252}#
+                                                            (car #{w2 
28227}#)))
+                                                      (if (null? #{m2 28252}#)
+                                                        #{m1 28228}#
                                                         (append
-                                                          #{m1 29633}#
-                                                          #{m2 29657}#)))
-                                                    (let ((#{m2 29665}#
-                                                            (cdr #{w2 
29632}#)))
-                                                      (if (null? #{m2 29665}#)
-                                                        #{s1 29634}#
+                                                          #{m1 28228}#
+                                                          #{m2 28252}#)))
+                                                    (let ((#{m2 28260}#
+                                                            (cdr #{w2 
28227}#)))
+                                                      (if (null? #{m2 28260}#)
+                                                        #{s1 28229}#
                                                         (append
-                                                          #{s1 29634}#
-                                                          #{m2 29665}#))))))))
-                                      (#{module 29625}#
-                                        (vector-ref #{x 29591}# 3)))
+                                                          #{s1 28229}#
+                                                          #{m2 28260}#))))))))
+                                      (#{module 28220}#
+                                        (vector-ref #{x 28186}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 29623}#
-                                    #{wrap 29624}#
-                                    #{module 29625}#))
-                                (if (null? #{x 29591}#)
-                                  #{x 29591}#
+                                    #{expression 28218}#
+                                    #{wrap 28219}#
+                                    #{module 28220}#))
+                                (if (null? #{x 28186}#)
+                                  #{x 28186}#
                                   (vector
                                     'syntax-object
-                                    #{x 29591}#
-                                    #{w 29347}#
-                                    #{mod 29350}#))))))
-                        #{x 29458}#)
+                                    #{x 28186}#
+                                    #{w 27942}#
+                                    #{mod 27945}#))))))
+                        #{x 28053}#)
                       (begin
-                        (if (if (pair? #{x 29458}#) #{s 29348}# #f)
-                          (set-source-properties! #{x 29458}# #{s 29348}#))
-                        #{x 29458}#))))))))
-         (#{rebuild-macro-output 29351}#
-           (#{p 29344}#
-             (let ((#{w 29358}#
-                     (cons (cons #f (car #{w 29347}#))
-                           (cons 'shift (cdr #{w 29347}#)))))
-               (let ((#{x 29363}#
+                        (if (if (pair? #{x 28053}#) #{s 27943}# #f)
+                          (set-source-properties! #{x 28053}# #{s 27943}#))
+                        #{x 28053}#))))))))
+         (#{rebuild-macro-output 27946}#
+           (#{p 27939}#
+             (let ((#{w 27953}#
+                     (cons (cons #f (car #{w 27942}#))
+                           (cons 'shift (cdr #{w 27942}#)))))
+               (let ((#{x 27958}#
                        (begin
-                         (if (if (pair? #{e 29345}#) #{s 29348}# #f)
-                           (set-source-properties! #{e 29345}# #{s 29348}#))
-                         #{e 29345}#)))
-                 (if (if (null? (car #{w 29358}#))
-                       (null? (cdr #{w 29358}#))
+                         (if (if (pair? #{e 27940}#) #{s 27943}# #f)
+                           (set-source-properties! #{e 27940}# #{s 27943}#))
+                         #{e 27940}#)))
+                 (if (if (null? (car #{w 27953}#))
+                       (null? (cdr #{w 27953}#))
                        #f)
-                   #{x 29363}#
-                   (if (if (vector? #{x 29363}#)
-                         (if (= (vector-length #{x 29363}#) 4)
-                           (eq? (vector-ref #{x 29363}# 0) 'syntax-object)
+                   #{x 27958}#
+                   (if (if (vector? #{x 27958}#)
+                         (if (= (vector-length #{x 27958}#) 4)
+                           (eq? (vector-ref #{x 27958}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (let ((#{expression 29401}# (vector-ref #{x 29363}# 1))
-                           (#{wrap 29402}#
-                             (let ((#{w2 29410}# (vector-ref #{x 29363}# 2)))
-                               (let ((#{m1 29411}# (car #{w 29358}#))
-                                     (#{s1 29412}# (cdr #{w 29358}#)))
-                                 (if (null? #{m1 29411}#)
-                                   (if (null? #{s1 29412}#)
-                                     #{w2 29410}#
-                                     (cons (car #{w2 29410}#)
-                                           (let ((#{m2 29427}#
-                                                   (cdr #{w2 29410}#)))
-                                             (if (null? #{m2 29427}#)
-                                               #{s1 29412}#
+                     (let ((#{expression 27996}# (vector-ref #{x 27958}# 1))
+                           (#{wrap 27997}#
+                             (let ((#{w2 28005}# (vector-ref #{x 27958}# 2)))
+                               (let ((#{m1 28006}# (car #{w 27953}#))
+                                     (#{s1 28007}# (cdr #{w 27953}#)))
+                                 (if (null? #{m1 28006}#)
+                                   (if (null? #{s1 28007}#)
+                                     #{w2 28005}#
+                                     (cons (car #{w2 28005}#)
+                                           (let ((#{m2 28022}#
+                                                   (cdr #{w2 28005}#)))
+                                             (if (null? #{m2 28022}#)
+                                               #{s1 28007}#
                                                (append
-                                                 #{s1 29412}#
-                                                 #{m2 29427}#)))))
-                                   (cons (let ((#{m2 29435}#
-                                                 (car #{w2 29410}#)))
-                                           (if (null? #{m2 29435}#)
-                                             #{m1 29411}#
+                                                 #{s1 28007}#
+                                                 #{m2 28022}#)))))
+                                   (cons (let ((#{m2 28030}#
+                                                 (car #{w2 28005}#)))
+                                           (if (null? #{m2 28030}#)
+                                             #{m1 28006}#
                                              (append
-                                               #{m1 29411}#
-                                               #{m2 29435}#)))
-                                         (let ((#{m2 29443}#
-                                                 (cdr #{w2 29410}#)))
-                                           (if (null? #{m2 29443}#)
-                                             #{s1 29412}#
+                                               #{m1 28006}#
+                                               #{m2 28030}#)))
+                                         (let ((#{m2 28038}#
+                                                 (cdr #{w2 28005}#)))
+                                           (if (null? #{m2 28038}#)
+                                             #{s1 28007}#
                                              (append
-                                               #{s1 29412}#
-                                               #{m2 29443}#))))))))
-                           (#{module 29403}# (vector-ref #{x 29363}# 3)))
+                                               #{s1 28007}#
+                                               #{m2 28038}#))))))))
+                           (#{module 27998}# (vector-ref #{x 27958}# 3)))
                        (vector
                          'syntax-object
-                         #{expression 29401}#
-                         #{wrap 29402}#
-                         #{module 29403}#))
-                     (if (null? #{x 29363}#)
-                       #{x 29363}#
+                         #{expression 27996}#
+                         #{wrap 27997}#
+                         #{module 27998}#))
+                     (if (null? #{x 27958}#)
+                       #{x 27958}#
                        (vector
                          'syntax-object
-                         #{x 29363}#
-                         #{w 29358}#
-                         #{mod 29350}#)))))))
+                         #{x 27958}#
+                         #{w 27953}#
+                         #{mod 27945}#)))))))
            (gensym "m")))))
-   (#{chi-body 4377}#
-     (lambda (#{body 29695}#
-              #{outer-form 29696}#
-              #{r 29697}#
-              #{w 29698}#
-              #{mod 29699}#)
-       (let ((#{r 29700}#
-               (cons '("placeholder" placeholder) #{r 29697}#)))
-         (let ((#{ribcage 29701}# (vector 'ribcage '() '() '())))
-           (let ((#{w 29702}#
-                   (cons (car #{w 29698}#)
-                         (cons #{ribcage 29701}# (cdr #{w 29698}#)))))
+   (#{chi-body 4450}#
+     (lambda (#{body 28290}#
+              #{outer-form 28291}#
+              #{r 28292}#
+              #{w 28293}#
+              #{mod 28294}#)
+       (let ((#{r 28295}#
+               (cons '("placeholder" placeholder) #{r 28292}#)))
+         (let ((#{ribcage 28296}# (vector 'ribcage '() '() '())))
+           (let ((#{w 28297}#
+                   (cons (car #{w 28293}#)
+                         (cons #{ribcage 28296}# (cdr #{w 28293}#)))))
              (letrec*
-               ((#{parse 29703}#
-                  (lambda (#{body 29811}#
-                           #{ids 29812}#
-                           #{labels 29813}#
-                           #{var-ids 29814}#
-                           #{vars 29815}#
-                           #{vals 29816}#
-                           #{bindings 29817}#)
-                    (if (null? #{body 29811}#)
+               ((#{parse 28298}#
+                  (lambda (#{body 28406}#
+                           #{ids 28407}#
+                           #{labels 28408}#
+                           #{var-ids 28409}#
+                           #{vars 28410}#
+                           #{vals 28411}#
+                           #{bindings 28412}#)
+                    (if (null? #{body 28406}#)
                       (syntax-violation
                         #f
                         "no expressions in body"
-                        #{outer-form 29696}#)
-                      (let ((#{e 29818}# (cdr (car #{body 29811}#)))
-                            (#{er 29819}# (car (car #{body 29811}#))))
+                        #{outer-form 28291}#)
+                      (let ((#{e 28413}# (cdr (car #{body 28406}#)))
+                            (#{er 28414}# (car (car #{body 28406}#))))
                         (call-with-values
                           (lambda ()
-                            (#{syntax-type 4372}#
-                              #{e 29818}#
-                              #{er 29819}#
+                            (#{syntax-type 4445}#
+                              #{e 28413}#
+                              #{er 28414}#
                               '(())
-                              (#{source-annotation 4334}# #{er 29819}#)
-                              #{ribcage 29701}#
-                              #{mod 29699}#
+                              (#{source-annotation 4407}# #{er 28414}#)
+                              #{ribcage 28296}#
+                              #{mod 28294}#
                               #f))
-                          (lambda (#{type 30025}#
-                                   #{value 30026}#
-                                   #{e 30027}#
-                                   #{w 30028}#
-                                   #{s 30029}#
-                                   #{mod 30030}#)
-                            (if (eqv? #{type 30025}# 'define-form)
-                              (let ((#{id 30034}#
-                                      (if (if (null? (car #{w 30028}#))
-                                            (null? (cdr #{w 30028}#))
+                          (lambda (#{type 28620}#
+                                   #{value 28621}#
+                                   #{e 28622}#
+                                   #{w 28623}#
+                                   #{s 28624}#
+                                   #{mod 28625}#)
+                            (if (eqv? #{type 28620}# 'define-form)
+                              (let ((#{id 28629}#
+                                      (if (if (null? (car #{w 28623}#))
+                                            (null? (cdr #{w 28623}#))
                                             #f)
-                                        #{value 30026}#
-                                        (if (if (vector? #{value 30026}#)
+                                        #{value 28621}#
+                                        (if (if (vector? #{value 28621}#)
                                               (if (= (vector-length
-                                                       #{value 30026}#)
+                                                       #{value 28621}#)
                                                      4)
                                                 (eq? (vector-ref
-                                                       #{value 30026}#
+                                                       #{value 28621}#
                                                        0)
                                                      'syntax-object)
                                                 #f)
                                               #f)
-                                          (let ((#{expression 30079}#
+                                          (let ((#{expression 28674}#
                                                   (vector-ref
-                                                    #{value 30026}#
+                                                    #{value 28621}#
                                                     1))
-                                                (#{wrap 30080}#
-                                                  (let ((#{w2 30090}#
+                                                (#{wrap 28675}#
+                                                  (let ((#{w2 28685}#
                                                           (vector-ref
-                                                            #{value 30026}#
+                                                            #{value 28621}#
                                                             2)))
-                                                    (let ((#{m1 30091}#
-                                                            (car #{w 30028}#))
-                                                          (#{s1 30092}#
-                                                            (cdr #{w 30028}#)))
-                                                      (if (null? #{m1 30091}#)
-                                                        (if (null? #{s1 
30092}#)
-                                                          #{w2 30090}#
-                                                          (cons (car #{w2 
30090}#)
-                                                                (let ((#{m2 
30109}#
-                                                                        (cdr 
#{w2 30090}#)))
-                                                                  (if (null? 
#{m2 30109}#)
-                                                                    #{s1 
30092}#
+                                                    (let ((#{m1 28686}#
+                                                            (car #{w 28623}#))
+                                                          (#{s1 28687}#
+                                                            (cdr #{w 28623}#)))
+                                                      (if (null? #{m1 28686}#)
+                                                        (if (null? #{s1 
28687}#)
+                                                          #{w2 28685}#
+                                                          (cons (car #{w2 
28685}#)
+                                                                (let ((#{m2 
28704}#
+                                                                        (cdr 
#{w2 28685}#)))
+                                                                  (if (null? 
#{m2 28704}#)
+                                                                    #{s1 
28687}#
                                                                     (append
-                                                                      #{s1 
30092}#
-                                                                      #{m2 
30109}#)))))
-                                                        (cons (let ((#{m2 
30117}#
-                                                                      (car 
#{w2 30090}#)))
-                                                                (if (null? 
#{m2 30117}#)
-                                                                  #{m1 30091}#
+                                                                      #{s1 
28687}#
+                                                                      #{m2 
28704}#)))))
+                                                        (cons (let ((#{m2 
28712}#
+                                                                      (car 
#{w2 28685}#)))
+                                                                (if (null? 
#{m2 28712}#)
+                                                                  #{m1 28686}#
                                                                   (append
-                                                                    #{m1 
30091}#
-                                                                    #{m2 
30117}#)))
-                                                              (let ((#{m2 
30125}#
-                                                                      (cdr 
#{w2 30090}#)))
-                                                                (if (null? 
#{m2 30125}#)
-                                                                  #{s1 30092}#
+                                                                    #{m1 
28686}#
+                                                                    #{m2 
28712}#)))
+                                                              (let ((#{m2 
28720}#
+                                                                      (cdr 
#{w2 28685}#)))
+                                                                (if (null? 
#{m2 28720}#)
+                                                                  #{s1 28687}#
                                                                   (append
-                                                                    #{s1 
30092}#
-                                                                    #{m2 
30125}#))))))))
-                                                (#{module 30081}#
+                                                                    #{s1 
28687}#
+                                                                    #{m2 
28720}#))))))))
+                                                (#{module 28676}#
                                                   (vector-ref
-                                                    #{value 30026}#
+                                                    #{value 28621}#
                                                     3)))
                                             (vector
                                               'syntax-object
-                                              #{expression 30079}#
-                                              #{wrap 30080}#
-                                              #{module 30081}#))
-                                          (if (null? #{value 30026}#)
-                                            #{value 30026}#
+                                              #{expression 28674}#
+                                              #{wrap 28675}#
+                                              #{module 28676}#))
+                                          (if (null? #{value 28621}#)
+                                            #{value 28621}#
                                             (vector
                                               'syntax-object
-                                              #{value 30026}#
-                                              #{w 30028}#
-                                              #{mod 30030}#)))))
-                                    (#{label 30035}#
+                                              #{value 28621}#
+                                              #{w 28623}#
+                                              #{mod 28625}#)))))
+                                    (#{label 28630}#
                                       (symbol->string (gensym "i"))))
-                                (let ((#{var 30036}#
-                                        (let ((#{id 30186}#
-                                                (if (if (vector? #{id 30034}#)
+                                (let ((#{var 28631}#
+                                        (let ((#{id 28781}#
+                                                (if (if (vector? #{id 28629}#)
                                                       (if (= (vector-length
-                                                               #{id 30034}#)
+                                                               #{id 28629}#)
                                                              4)
                                                         (eq? (vector-ref
-                                                               #{id 30034}#
+                                                               #{id 28629}#
                                                                0)
                                                              'syntax-object)
                                                         #f)
                                                       #f)
-                                                  (vector-ref #{id 30034}# 1)
-                                                  #{id 30034}#)))
+                                                  (vector-ref #{id 28629}# 1)
+                                                  #{id 28629}#)))
                                           (gensym
                                             (string-append
-                                              (symbol->string #{id 30186}#)
+                                              (symbol->string #{id 28781}#)
                                               " ")))))
                                   (begin
                                     (begin
-                                      (let ((#{update 30045}#
-                                              (cons (vector-ref #{id 30034}# 1)
+                                      (let ((#{update 28640}#
+                                              (cons (vector-ref #{id 28629}# 1)
                                                     (vector-ref
-                                                      #{ribcage 29701}#
+                                                      #{ribcage 28296}#
                                                       1))))
                                         (vector-set!
-                                          #{ribcage 29701}#
+                                          #{ribcage 28296}#
                                           1
-                                          #{update 30045}#))
-                                      (let ((#{update 30157}#
+                                          #{update 28640}#))
+                                      (let ((#{update 28752}#
                                               (cons (car (vector-ref
-                                                           #{id 30034}#
+                                                           #{id 28629}#
                                                            2))
                                                     (vector-ref
-                                                      #{ribcage 29701}#
+                                                      #{ribcage 28296}#
                                                       2))))
                                         (vector-set!
-                                          #{ribcage 29701}#
+                                          #{ribcage 28296}#
                                           2
-                                          #{update 30157}#))
-                                      (let ((#{update 30172}#
-                                              (cons #{label 30035}#
+                                          #{update 28752}#))
+                                      (let ((#{update 28767}#
+                                              (cons #{label 28630}#
                                                     (vector-ref
-                                                      #{ribcage 29701}#
+                                                      #{ribcage 28296}#
                                                       3))))
                                         (vector-set!
-                                          #{ribcage 29701}#
+                                          #{ribcage 28296}#
                                           3
-                                          #{update 30172}#)))
-                                    (#{parse 29703}#
-                                      (cdr #{body 29811}#)
-                                      (cons #{id 30034}# #{ids 29812}#)
-                                      (cons #{label 30035}# #{labels 29813}#)
-                                      (cons #{id 30034}# #{var-ids 29814}#)
-                                      (cons #{var 30036}# #{vars 29815}#)
-                                      (cons (cons #{er 29819}#
-                                                  (if (if (null? (car #{w 
30028}#))
-                                                        (null? (cdr #{w 
30028}#))
+                                          #{update 28767}#)))
+                                    (#{parse 28298}#
+                                      (cdr #{body 28406}#)
+                                      (cons #{id 28629}# #{ids 28407}#)
+                                      (cons #{label 28630}# #{labels 28408}#)
+                                      (cons #{id 28629}# #{var-ids 28409}#)
+                                      (cons #{var 28631}# #{vars 28410}#)
+                                      (cons (cons #{er 28414}#
+                                                  (if (if (null? (car #{w 
28623}#))
+                                                        (null? (cdr #{w 
28623}#))
                                                         #f)
-                                                    #{e 30027}#
+                                                    #{e 28622}#
                                                     (if (if (vector?
-                                                              #{e 30027}#)
+                                                              #{e 28622}#)
                                                           (if (= (vector-length
-                                                                   #{e 30027}#)
+                                                                   #{e 28622}#)
                                                                  4)
                                                             (eq? (vector-ref
-                                                                   #{e 30027}#
+                                                                   #{e 28622}#
                                                                    0)
                                                                  
'syntax-object)
                                                             #f)
                                                           #f)
-                                                      (let ((#{expression 
30238}#
+                                                      (let ((#{expression 
28833}#
                                                               (vector-ref
-                                                                #{e 30027}#
+                                                                #{e 28622}#
                                                                 1))
-                                                            (#{wrap 30239}#
-                                                              (let ((#{w2 
30249}#
+                                                            (#{wrap 28834}#
+                                                              (let ((#{w2 
28844}#
                                                                       
(vector-ref
-                                                                        #{e 
30027}#
+                                                                        #{e 
28622}#
                                                                         2)))
-                                                                (let ((#{m1 
30250}#
-                                                                        (car 
#{w 30028}#))
-                                                                      (#{s1 
30251}#
-                                                                        (cdr 
#{w 30028}#)))
-                                                                  (if (null? 
#{m1 30250}#)
-                                                                    (if (null? 
#{s1 30251}#)
-                                                                      #{w2 
30249}#
-                                                                      (cons 
(car #{w2 30249}#)
-                                                                            
(let ((#{m2 30268}#
-                                                                               
     (cdr #{w2 30249}#)))
-                                                                              
(if (null? #{m2 30268}#)
-                                                                               
 #{s1 30251}#
+                                                                (let ((#{m1 
28845}#
+                                                                        (car 
#{w 28623}#))
+                                                                      (#{s1 
28846}#
+                                                                        (cdr 
#{w 28623}#)))
+                                                                  (if (null? 
#{m1 28845}#)
+                                                                    (if (null? 
#{s1 28846}#)
+                                                                      #{w2 
28844}#
+                                                                      (cons 
(car #{w2 28844}#)
+                                                                            
(let ((#{m2 28863}#
+                                                                               
     (cdr #{w2 28844}#)))
+                                                                              
(if (null? #{m2 28863}#)
+                                                                               
 #{s1 28846}#
                                                                                
 (append
-                                                                               
   #{s1 30251}#
-                                                                               
   #{m2 30268}#)))))
-                                                                    (cons (let 
((#{m2 30276}#
-                                                                               
   (car #{w2 30249}#)))
-                                                                            
(if (null? #{m2 30276}#)
-                                                                              
#{m1 30250}#
+                                                                               
   #{s1 28846}#
+                                                                               
   #{m2 28863}#)))))
+                                                                    (cons (let 
((#{m2 28871}#
+                                                                               
   (car #{w2 28844}#)))
+                                                                            
(if (null? #{m2 28871}#)
+                                                                              
#{m1 28845}#
                                                                               
(append
-                                                                               
 #{m1 30250}#
-                                                                               
 #{m2 30276}#)))
-                                                                          (let 
((#{m2 30284}#
-                                                                               
   (cdr #{w2 30249}#)))
-                                                                            
(if (null? #{m2 30284}#)
-                                                                              
#{s1 30251}#
+                                                                               
 #{m1 28845}#
+                                                                               
 #{m2 28871}#)))
+                                                                          (let 
((#{m2 28879}#
+                                                                               
   (cdr #{w2 28844}#)))
+                                                                            
(if (null? #{m2 28879}#)
+                                                                              
#{s1 28846}#
                                                                               
(append
-                                                                               
 #{s1 30251}#
-                                                                               
 #{m2 30284}#))))))))
-                                                            (#{module 30240}#
+                                                                               
 #{s1 28846}#
+                                                                               
 #{m2 28879}#))))))))
+                                                            (#{module 28835}#
                                                               (vector-ref
-                                                                #{e 30027}#
+                                                                #{e 28622}#
                                                                 3)))
                                                         (vector
                                                           'syntax-object
-                                                          #{expression 30238}#
-                                                          #{wrap 30239}#
-                                                          #{module 30240}#))
-                                                      (if (null? #{e 30027}#)
-                                                        #{e 30027}#
+                                                          #{expression 28833}#
+                                                          #{wrap 28834}#
+                                                          #{module 28835}#))
+                                                      (if (null? #{e 28622}#)
+                                                        #{e 28622}#
                                                         (vector
                                                           'syntax-object
-                                                          #{e 30027}#
-                                                          #{w 30028}#
-                                                          #{mod 30030}#)))))
-                                            #{vals 29816}#)
-                                      (cons (cons 'lexical #{var 30036}#)
-                                            #{bindings 29817}#)))))
-                              (if (eqv? #{type 30025}# 'define-syntax-form)
-                                (let ((#{id 30310}#
-                                        (if (if (null? (car #{w 30028}#))
-                                              (null? (cdr #{w 30028}#))
+                                                          #{e 28622}#
+                                                          #{w 28623}#
+                                                          #{mod 28625}#)))))
+                                            #{vals 28411}#)
+                                      (cons (cons 'lexical #{var 28631}#)
+                                            #{bindings 28412}#)))))
+                              (if (if (eqv? #{type 28620}# 'define-syntax-form)
+                                    #t
+                                    (eqv? #{type 28620}#
+                                          'define-syntax-parameter-form))
+                                (let ((#{id 28910}#
+                                        (if (if (null? (car #{w 28623}#))
+                                              (null? (cdr #{w 28623}#))
                                               #f)
-                                          #{value 30026}#
-                                          (if (if (vector? #{value 30026}#)
+                                          #{value 28621}#
+                                          (if (if (vector? #{value 28621}#)
                                                 (if (= (vector-length
-                                                         #{value 30026}#)
+                                                         #{value 28621}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{value 30026}#
+                                                         #{value 28621}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
-                                            (let ((#{expression 30354}#
+                                            (let ((#{expression 28954}#
                                                     (vector-ref
-                                                      #{value 30026}#
+                                                      #{value 28621}#
                                                       1))
-                                                  (#{wrap 30355}#
-                                                    (let ((#{w2 30365}#
+                                                  (#{wrap 28955}#
+                                                    (let ((#{w2 28965}#
                                                             (vector-ref
-                                                              #{value 30026}#
+                                                              #{value 28621}#
                                                               2)))
-                                                      (let ((#{m1 30366}#
-                                                              (car #{w 
30028}#))
-                                                            (#{s1 30367}#
-                                                              (cdr #{w 
30028}#)))
-                                                        (if (null? #{m1 
30366}#)
-                                                          (if (null? #{s1 
30367}#)
-                                                            #{w2 30365}#
-                                                            (cons (car #{w2 
30365}#)
-                                                                  (let ((#{m2 
30384}#
-                                                                          (cdr 
#{w2 30365}#)))
-                                                                    (if (null? 
#{m2 30384}#)
-                                                                      #{s1 
30367}#
+                                                      (let ((#{m1 28966}#
+                                                              (car #{w 
28623}#))
+                                                            (#{s1 28967}#
+                                                              (cdr #{w 
28623}#)))
+                                                        (if (null? #{m1 
28966}#)
+                                                          (if (null? #{s1 
28967}#)
+                                                            #{w2 28965}#
+                                                            (cons (car #{w2 
28965}#)
+                                                                  (let ((#{m2 
28984}#
+                                                                          (cdr 
#{w2 28965}#)))
+                                                                    (if (null? 
#{m2 28984}#)
+                                                                      #{s1 
28967}#
                                                                       (append
-                                                                        #{s1 
30367}#
-                                                                        #{m2 
30384}#)))))
-                                                          (cons (let ((#{m2 
30392}#
-                                                                        (car 
#{w2 30365}#)))
-                                                                  (if (null? 
#{m2 30392}#)
-                                                                    #{m1 
30366}#
+                                                                        #{s1 
28967}#
+                                                                        #{m2 
28984}#)))))
+                                                          (cons (let ((#{m2 
28992}#
+                                                                        (car 
#{w2 28965}#)))
+                                                                  (if (null? 
#{m2 28992}#)
+                                                                    #{m1 
28966}#
                                                                     (append
-                                                                      #{m1 
30366}#
-                                                                      #{m2 
30392}#)))
-                                                                (let ((#{m2 
30400}#
-                                                                        (cdr 
#{w2 30365}#)))
-                                                                  (if (null? 
#{m2 30400}#)
-                                                                    #{s1 
30367}#
+                                                                      #{m1 
28966}#
+                                                                      #{m2 
28992}#)))
+                                                                (let ((#{m2 
29000}#
+                                                                        (cdr 
#{w2 28965}#)))
+                                                                  (if (null? 
#{m2 29000}#)
+                                                                    #{s1 
28967}#
                                                                     (append
-                                                                      #{s1 
30367}#
-                                                                      #{m2 
30400}#))))))))
-                                                  (#{module 30356}#
+                                                                      #{s1 
28967}#
+                                                                      #{m2 
29000}#))))))))
+                                                  (#{module 28956}#
                                                     (vector-ref
-                                                      #{value 30026}#
+                                                      #{value 28621}#
                                                       3)))
                                               (vector
                                                 'syntax-object
-                                                #{expression 30354}#
-                                                #{wrap 30355}#
-                                                #{module 30356}#))
-                                            (if (null? #{value 30026}#)
-                                              #{value 30026}#
+                                                #{expression 28954}#
+                                                #{wrap 28955}#
+                                                #{module 28956}#))
+                                            (if (null? #{value 28621}#)
+                                              #{value 28621}#
                                               (vector
                                                 'syntax-object
-                                                #{value 30026}#
-                                                #{w 30028}#
-                                                #{mod 30030}#)))))
-                                      (#{label 30311}#
+                                                #{value 28621}#
+                                                #{w 28623}#
+                                                #{mod 28625}#)))))
+                                      (#{label 28911}#
                                         (symbol->string (gensym "i"))))
                                   (begin
                                     (begin
-                                      (let ((#{update 30320}#
-                                              (cons (vector-ref #{id 30310}# 1)
+                                      (let ((#{update 28920}#
+                                              (cons (vector-ref #{id 28910}# 1)
                                                     (vector-ref
-                                                      #{ribcage 29701}#
+                                                      #{ribcage 28296}#
                                                       1))))
                                         (vector-set!
-                                          #{ribcage 29701}#
+                                          #{ribcage 28296}#
                                           1
-                                          #{update 30320}#))
-                                      (let ((#{update 30432}#
+                                          #{update 28920}#))
+                                      (let ((#{update 29032}#
                                               (cons (car (vector-ref
-                                                           #{id 30310}#
+                                                           #{id 28910}#
                                                            2))
                                                     (vector-ref
-                                                      #{ribcage 29701}#
+                                                      #{ribcage 28296}#
                                                       2))))
                                         (vector-set!
-                                          #{ribcage 29701}#
+                                          #{ribcage 28296}#
                                           2
-                                          #{update 30432}#))
-                                      (let ((#{update 30447}#
-                                              (cons #{label 30311}#
+                                          #{update 29032}#))
+                                      (let ((#{update 29047}#
+                                              (cons #{label 28911}#
                                                     (vector-ref
-                                                      #{ribcage 29701}#
+                                                      #{ribcage 28296}#
                                                       3))))
                                         (vector-set!
-                                          #{ribcage 29701}#
+                                          #{ribcage 28296}#
                                           3
-                                          #{update 30447}#)))
-                                    (#{parse 29703}#
-                                      (cdr #{body 29811}#)
-                                      (cons #{id 30310}# #{ids 29812}#)
-                                      (cons #{label 30311}# #{labels 29813}#)
-                                      #{var-ids 29814}#
-                                      #{vars 29815}#
-                                      #{vals 29816}#
-                                      (cons (cons 'macro
-                                                  (cons #{er 29819}#
-                                                        (if (if (null? (car 
#{w 30028}#))
-                                                              (null? (cdr #{w 
30028}#))
+                                          #{update 29047}#)))
+                                    (#{parse 28298}#
+                                      (cdr #{body 28406}#)
+                                      (cons #{id 28910}# #{ids 28407}#)
+                                      (cons #{label 28911}# #{labels 28408}#)
+                                      #{var-ids 28409}#
+                                      #{vars 28410}#
+                                      #{vals 28411}#
+                                      (cons (cons (if (eq? #{type 28620}#
+                                                           
'define-syntax-parameter-form)
+                                                    'syntax-parameter
+                                                    'macro)
+                                                  (cons #{er 28414}#
+                                                        (if (if (null? (car 
#{w 28623}#))
+                                                              (null? (cdr #{w 
28623}#))
                                                               #f)
-                                                          #{e 30027}#
+                                                          #{e 28622}#
                                                           (if (if (vector?
-                                                                    #{e 
30027}#)
+                                                                    #{e 
28622}#)
                                                                 (if (= 
(vector-length
-                                                                         #{e 
30027}#)
+                                                                         #{e 
28622}#)
                                                                        4)
                                                                   (eq? 
(vector-ref
-                                                                         #{e 
30027}#
+                                                                         #{e 
28622}#
                                                                          0)
                                                                        
'syntax-object)
                                                                   #f)
                                                                 #f)
-                                                            (let 
((#{expression 30486}#
+                                                            (let 
((#{expression 29086}#
                                                                     (vector-ref
-                                                                      #{e 
30027}#
+                                                                      #{e 
28622}#
                                                                       1))
-                                                                  (#{wrap 
30487}#
-                                                                    (let 
((#{w2 30497}#
+                                                                  (#{wrap 
29087}#
+                                                                    (let 
((#{w2 29097}#
                                                                             
(vector-ref
-                                                                              
#{e 30027}#
+                                                                              
#{e 28622}#
                                                                               
2)))
-                                                                      (let 
((#{m1 30498}#
-                                                                              
(car #{w 30028}#))
-                                                                            
(#{s1 30499}#
-                                                                              
(cdr #{w 30028}#)))
-                                                                        (if 
(null? #{m1 30498}#)
-                                                                          (if 
(null? #{s1 30499}#)
-                                                                            
#{w2 30497}#
-                                                                            
(cons (car #{w2 30497}#)
-                                                                               
   (let ((#{m2 30516}#
-                                                                               
           (cdr #{w2 30497}#)))
-                                                                               
     (if (null? #{m2 30516}#)
-                                                                               
       #{s1 30499}#
+                                                                      (let 
((#{m1 29098}#
+                                                                              
(car #{w 28623}#))
+                                                                            
(#{s1 29099}#
+                                                                              
(cdr #{w 28623}#)))
+                                                                        (if 
(null? #{m1 29098}#)
+                                                                          (if 
(null? #{s1 29099}#)
+                                                                            
#{w2 29097}#
+                                                                            
(cons (car #{w2 29097}#)
+                                                                               
   (let ((#{m2 29116}#
+                                                                               
           (cdr #{w2 29097}#)))
+                                                                               
     (if (null? #{m2 29116}#)
+                                                                               
       #{s1 29099}#
                                                                                
       (append
-                                                                               
         #{s1 30499}#
-                                                                               
         #{m2 30516}#)))))
-                                                                          
(cons (let ((#{m2 30524}#
-                                                                               
         (car #{w2 30497}#)))
-                                                                               
   (if (null? #{m2 30524}#)
-                                                                               
     #{m1 30498}#
+                                                                               
         #{s1 29099}#
+                                                                               
         #{m2 29116}#)))))
+                                                                          
(cons (let ((#{m2 29124}#
+                                                                               
         (car #{w2 29097}#)))
+                                                                               
   (if (null? #{m2 29124}#)
+                                                                               
     #{m1 29098}#
                                                                                
     (append
-                                                                               
       #{m1 30498}#
-                                                                               
       #{m2 30524}#)))
-                                                                               
 (let ((#{m2 30532}#
-                                                                               
         (cdr #{w2 30497}#)))
-                                                                               
   (if (null? #{m2 30532}#)
-                                                                               
     #{s1 30499}#
+                                                                               
       #{m1 29098}#
+                                                                               
       #{m2 29124}#)))
+                                                                               
 (let ((#{m2 29132}#
+                                                                               
         (cdr #{w2 29097}#)))
+                                                                               
   (if (null? #{m2 29132}#)
+                                                                               
     #{s1 29099}#
                                                                                
     (append
-                                                                               
       #{s1 30499}#
-                                                                               
       #{m2 30532}#))))))))
-                                                                  (#{module 
30488}#
+                                                                               
       #{s1 29099}#
+                                                                               
       #{m2 29132}#))))))))
+                                                                  (#{module 
29088}#
                                                                     (vector-ref
-                                                                      #{e 
30027}#
+                                                                      #{e 
28622}#
                                                                       3)))
                                                               (vector
                                                                 'syntax-object
-                                                                #{expression 
30486}#
-                                                                #{wrap 30487}#
-                                                                #{module 
30488}#))
-                                                            (if (null? #{e 
30027}#)
-                                                              #{e 30027}#
+                                                                #{expression 
29086}#
+                                                                #{wrap 29087}#
+                                                                #{module 
29088}#))
+                                                            (if (null? #{e 
28622}#)
+                                                              #{e 28622}#
                                                               (vector
                                                                 'syntax-object
-                                                                #{e 30027}#
-                                                                #{w 30028}#
-                                                                #{mod 
30030}#))))))
-                                            #{bindings 29817}#))))
-                                (if (eqv? #{type 30025}# 'begin-form)
-                                  (let ((#{tmp 30559}#
+                                                                #{e 28622}#
+                                                                #{w 28623}#
+                                                                #{mod 
28625}#))))))
+                                            #{bindings 28412}#))))
+                                (if (eqv? #{type 28620}# 'begin-form)
+                                  (let ((#{tmp 29159}#
                                           ($sc-dispatch
-                                            #{e 30027}#
+                                            #{e 28622}#
                                             '(_ . each-any))))
-                                    (if #{tmp 30559}#
+                                    (if #{tmp 29159}#
                                       (@apply
-                                        (lambda (#{e1 30563}#)
-                                          (#{parse 29703}#
+                                        (lambda (#{e1 29163}#)
+                                          (#{parse 28298}#
                                             (letrec*
-                                              ((#{f 30564}#
-                                                 (lambda (#{forms 30780}#)
-                                                   (if (null? #{forms 30780}#)
-                                                     (cdr #{body 29811}#)
-                                                     (cons (cons #{er 29819}#
-                                                                 (let ((#{x 
30784}#
-                                                                         (car 
#{forms 30780}#)))
-                                                                   (if (if 
(null? (car #{w 30028}#))
-                                                                         
(null? (cdr #{w 30028}#))
+                                              ((#{f 29164}#
+                                                 (lambda (#{forms 29380}#)
+                                                   (if (null? #{forms 29380}#)
+                                                     (cdr #{body 28406}#)
+                                                     (cons (cons #{er 28414}#
+                                                                 (let ((#{x 
29384}#
+                                                                         (car 
#{forms 29380}#)))
+                                                                   (if (if 
(null? (car #{w 28623}#))
+                                                                         
(null? (cdr #{w 28623}#))
                                                                          #f)
-                                                                     #{x 
30784}#
+                                                                     #{x 
29384}#
                                                                      (if (if 
(vector?
-                                                                               
#{x 30784}#)
+                                                                               
#{x 29384}#)
                                                                            (if 
(= (vector-length
-                                                                               
     #{x 30784}#)
+                                                                               
     #{x 29384}#)
                                                                                
   4)
                                                                              
(eq? (vector-ref
-                                                                               
     #{x 30784}#
+                                                                               
     #{x 29384}#
                                                                                
     0)
                                                                                
   'syntax-object)
                                                                              
#f)
                                                                            #f)
-                                                                       (let 
((#{expression 30802}#
+                                                                       (let 
((#{expression 29402}#
                                                                                
(vector-ref
-                                                                               
  #{x 30784}#
+                                                                               
  #{x 29384}#
                                                                                
  1))
-                                                                             
(#{wrap 30803}#
-                                                                               
(let ((#{w2 30811}#
+                                                                             
(#{wrap 29403}#
+                                                                               
(let ((#{w2 29411}#
                                                                                
        (vector-ref
-                                                                               
          #{x 30784}#
+                                                                               
          #{x 29384}#
                                                                                
          2)))
-                                                                               
  (let ((#{m1 30812}#
-                                                                               
          (car #{w 30028}#))
-                                                                               
        (#{s1 30813}#
-                                                                               
          (cdr #{w 30028}#)))
-                                                                               
    (if (null? #{m1 30812}#)
-                                                                               
      (if (null? #{s1 30813}#)
-                                                                               
        #{w2 30811}#
-                                                                               
        (cons (car #{w2 30811}#)
-                                                                               
              (let ((#{m2 30828}#
-                                                                               
                      (cdr #{w2 30811}#)))
-                                                                               
                (if (null? #{m2 30828}#)
-                                                                               
                  #{s1 30813}#
+                                                                               
  (let ((#{m1 29412}#
+                                                                               
          (car #{w 28623}#))
+                                                                               
        (#{s1 29413}#
+                                                                               
          (cdr #{w 28623}#)))
+                                                                               
    (if (null? #{m1 29412}#)
+                                                                               
      (if (null? #{s1 29413}#)
+                                                                               
        #{w2 29411}#
+                                                                               
        (cons (car #{w2 29411}#)
+                                                                               
              (let ((#{m2 29428}#
+                                                                               
                      (cdr #{w2 29411}#)))
+                                                                               
                (if (null? #{m2 29428}#)
+                                                                               
                  #{s1 29413}#
                                                                                
                  (append
-                                                                               
                    #{s1 30813}#
-                                                                               
                    #{m2 30828}#)))))
-                                                                               
      (cons (let ((#{m2 30836}#
-                                                                               
                    (car #{w2 30811}#)))
-                                                                               
              (if (null? #{m2 30836}#)
-                                                                               
                #{m1 30812}#
+                                                                               
                    #{s1 29413}#
+                                                                               
                    #{m2 29428}#)))))
+                                                                               
      (cons (let ((#{m2 29436}#
+                                                                               
                    (car #{w2 29411}#)))
+                                                                               
              (if (null? #{m2 29436}#)
+                                                                               
                #{m1 29412}#
                                                                                
                (append
-                                                                               
                  #{m1 30812}#
-                                                                               
                  #{m2 30836}#)))
-                                                                               
            (let ((#{m2 30844}#
-                                                                               
                    (cdr #{w2 30811}#)))
-                                                                               
              (if (null? #{m2 30844}#)
-                                                                               
                #{s1 30813}#
+                                                                               
                  #{m1 29412}#
+                                                                               
                  #{m2 29436}#)))
+                                                                               
            (let ((#{m2 29444}#
+                                                                               
                    (cdr #{w2 29411}#)))
+                                                                               
              (if (null? #{m2 29444}#)
+                                                                               
                #{s1 29413}#
                                                                                
                (append
-                                                                               
                  #{s1 30813}#
-                                                                               
                  #{m2 30844}#))))))))
-                                                                             
(#{module 30804}#
+                                                                               
                  #{s1 29413}#
+                                                                               
                  #{m2 29444}#))))))))
+                                                                             
(#{module 29404}#
                                                                                
(vector-ref
-                                                                               
  #{x 30784}#
+                                                                               
  #{x 29384}#
                                                                                
  3)))
                                                                          
(vector
                                                                            
'syntax-object
-                                                                           
#{expression 30802}#
-                                                                           
#{wrap 30803}#
-                                                                           
#{module 30804}#))
-                                                                       (if 
(null? #{x 30784}#)
-                                                                         #{x 
30784}#
+                                                                           
#{expression 29402}#
+                                                                           
#{wrap 29403}#
+                                                                           
#{module 29404}#))
+                                                                       (if 
(null? #{x 29384}#)
+                                                                         #{x 
29384}#
                                                                          
(vector
                                                                            
'syntax-object
-                                                                           #{x 
30784}#
-                                                                           #{w 
30028}#
-                                                                           
#{mod 30030}#))))))
-                                                           (#{f 30564}#
-                                                             (cdr #{forms 
30780}#)))))))
-                                              (#{f 30564}# #{e1 30563}#))
-                                            #{ids 29812}#
-                                            #{labels 29813}#
-                                            #{var-ids 29814}#
-                                            #{vars 29815}#
-                                            #{vals 29816}#
-                                            #{bindings 29817}#))
-                                        #{tmp 30559}#)
+                                                                           #{x 
29384}#
+                                                                           #{w 
28623}#
+                                                                           
#{mod 28625}#))))))
+                                                           (#{f 29164}#
+                                                             (cdr #{forms 
29380}#)))))))
+                                              (#{f 29164}# #{e1 29163}#))
+                                            #{ids 28407}#
+                                            #{labels 28408}#
+                                            #{var-ids 28409}#
+                                            #{vars 28410}#
+                                            #{vals 28411}#
+                                            #{bindings 28412}#))
+                                        #{tmp 29159}#)
                                       (syntax-violation
                                         #f
                                         "source expression failed to match any 
pattern"
-                                        #{e 30027}#)))
-                                  (if (eqv? #{type 30025}# 'local-syntax-form)
-                                    (#{chi-local-syntax 4378}#
-                                      #{value 30026}#
-                                      #{e 30027}#
-                                      #{er 29819}#
-                                      #{w 30028}#
-                                      #{s 30029}#
-                                      #{mod 30030}#
-                                      (lambda (#{forms 30870}#
-                                               #{er 30871}#
-                                               #{w 30872}#
-                                               #{s 30873}#
-                                               #{mod 30874}#)
-                                        (#{parse 29703}#
+                                        #{e 28622}#)))
+                                  (if (eqv? #{type 28620}# 'local-syntax-form)
+                                    (#{chi-local-syntax 4451}#
+                                      #{value 28621}#
+                                      #{e 28622}#
+                                      #{er 28414}#
+                                      #{w 28623}#
+                                      #{s 28624}#
+                                      #{mod 28625}#
+                                      (lambda (#{forms 29470}#
+                                               #{er 29471}#
+                                               #{w 29472}#
+                                               #{s 29473}#
+                                               #{mod 29474}#)
+                                        (#{parse 28298}#
                                           (letrec*
-                                            ((#{f 30875}#
-                                               (lambda (#{forms 31091}#)
-                                                 (if (null? #{forms 31091}#)
-                                                   (cdr #{body 29811}#)
-                                                   (cons (cons #{er 30871}#
-                                                               (let ((#{x 
31095}#
-                                                                       (car 
#{forms 31091}#)))
-                                                                 (if (if 
(null? (car #{w 30872}#))
-                                                                       (null? 
(cdr #{w 30872}#))
+                                            ((#{f 29475}#
+                                               (lambda (#{forms 29691}#)
+                                                 (if (null? #{forms 29691}#)
+                                                   (cdr #{body 28406}#)
+                                                   (cons (cons #{er 29471}#
+                                                               (let ((#{x 
29695}#
+                                                                       (car 
#{forms 29691}#)))
+                                                                 (if (if 
(null? (car #{w 29472}#))
+                                                                       (null? 
(cdr #{w 29472}#))
                                                                        #f)
-                                                                   #{x 31095}#
+                                                                   #{x 29695}#
                                                                    (if (if 
(vector?
-                                                                             
#{x 31095}#)
+                                                                             
#{x 29695}#)
                                                                          (if 
(= (vector-length
-                                                                               
   #{x 31095}#)
+                                                                               
   #{x 29695}#)
                                                                                
 4)
                                                                            
(eq? (vector-ref
-                                                                               
   #{x 31095}#
+                                                                               
   #{x 29695}#
                                                                                
   0)
                                                                                
 'syntax-object)
                                                                            #f)
                                                                          #f)
-                                                                     (let 
((#{expression 31113}#
+                                                                     (let 
((#{expression 29713}#
                                                                              
(vector-ref
-                                                                               
#{x 31095}#
+                                                                               
#{x 29695}#
                                                                                
1))
-                                                                           
(#{wrap 31114}#
-                                                                             
(let ((#{w2 31122}#
+                                                                           
(#{wrap 29714}#
+                                                                             
(let ((#{w2 29722}#
                                                                                
      (vector-ref
-                                                                               
        #{x 31095}#
+                                                                               
        #{x 29695}#
                                                                                
        2)))
-                                                                               
(let ((#{m1 31123}#
-                                                                               
        (car #{w 30872}#))
-                                                                               
      (#{s1 31124}#
-                                                                               
        (cdr #{w 30872}#)))
-                                                                               
  (if (null? #{m1 31123}#)
-                                                                               
    (if (null? #{s1 31124}#)
-                                                                               
      #{w2 31122}#
-                                                                               
      (cons (car #{w2 31122}#)
-                                                                               
            (let ((#{m2 31139}#
-                                                                               
                    (cdr #{w2 31122}#)))
-                                                                               
              (if (null? #{m2 31139}#)
-                                                                               
                #{s1 31124}#
+                                                                               
(let ((#{m1 29723}#
+                                                                               
        (car #{w 29472}#))
+                                                                               
      (#{s1 29724}#
+                                                                               
        (cdr #{w 29472}#)))
+                                                                               
  (if (null? #{m1 29723}#)
+                                                                               
    (if (null? #{s1 29724}#)
+                                                                               
      #{w2 29722}#
+                                                                               
      (cons (car #{w2 29722}#)
+                                                                               
            (let ((#{m2 29739}#
+                                                                               
                    (cdr #{w2 29722}#)))
+                                                                               
              (if (null? #{m2 29739}#)
+                                                                               
                #{s1 29724}#
                                                                                
                (append
-                                                                               
                  #{s1 31124}#
-                                                                               
                  #{m2 31139}#)))))
-                                                                               
    (cons (let ((#{m2 31147}#
-                                                                               
                  (car #{w2 31122}#)))
-                                                                               
            (if (null? #{m2 31147}#)
-                                                                               
              #{m1 31123}#
+                                                                               
                  #{s1 29724}#
+                                                                               
                  #{m2 29739}#)))))
+                                                                               
    (cons (let ((#{m2 29747}#
+                                                                               
                  (car #{w2 29722}#)))
+                                                                               
            (if (null? #{m2 29747}#)
+                                                                               
              #{m1 29723}#
                                                                                
              (append
-                                                                               
                #{m1 31123}#
-                                                                               
                #{m2 31147}#)))
-                                                                               
          (let ((#{m2 31155}#
-                                                                               
                  (cdr #{w2 31122}#)))
-                                                                               
            (if (null? #{m2 31155}#)
-                                                                               
              #{s1 31124}#
+                                                                               
                #{m1 29723}#
+                                                                               
                #{m2 29747}#)))
+                                                                               
          (let ((#{m2 29755}#
+                                                                               
                  (cdr #{w2 29722}#)))
+                                                                               
            (if (null? #{m2 29755}#)
+                                                                               
              #{s1 29724}#
                                                                                
              (append
-                                                                               
                #{s1 31124}#
-                                                                               
                #{m2 31155}#))))))))
-                                                                           
(#{module 31115}#
+                                                                               
                #{s1 29724}#
+                                                                               
                #{m2 29755}#))))))))
+                                                                           
(#{module 29715}#
                                                                              
(vector-ref
-                                                                               
#{x 31095}#
+                                                                               
#{x 29695}#
                                                                                
3)))
                                                                        (vector
                                                                          
'syntax-object
-                                                                         
#{expression 31113}#
-                                                                         
#{wrap 31114}#
-                                                                         
#{module 31115}#))
-                                                                     (if 
(null? #{x 31095}#)
-                                                                       #{x 
31095}#
+                                                                         
#{expression 29713}#
+                                                                         
#{wrap 29714}#
+                                                                         
#{module 29715}#))
+                                                                     (if 
(null? #{x 29695}#)
+                                                                       #{x 
29695}#
                                                                        (vector
                                                                          
'syntax-object
-                                                                         #{x 
31095}#
-                                                                         #{w 
30872}#
-                                                                         #{mod 
30874}#))))))
-                                                         (#{f 30875}#
-                                                           (cdr #{forms 
31091}#)))))))
-                                            (#{f 30875}# #{forms 30870}#))
-                                          #{ids 29812}#
-                                          #{labels 29813}#
-                                          #{var-ids 29814}#
-                                          #{vars 29815}#
-                                          #{vals 29816}#
-                                          #{bindings 29817}#)))
-                                    (if (null? #{ids 29812}#)
-                                      (#{build-sequence 4322}#
+                                                                         #{x 
29695}#
+                                                                         #{w 
29472}#
+                                                                         #{mod 
29474}#))))))
+                                                         (#{f 29475}#
+                                                           (cdr #{forms 
29691}#)))))))
+                                            (#{f 29475}# #{forms 29470}#))
+                                          #{ids 28407}#
+                                          #{labels 28408}#
+                                          #{var-ids 28409}#
+                                          #{vars 28410}#
+                                          #{vals 28411}#
+                                          #{bindings 28412}#)))
+                                    (if (null? #{ids 28407}#)
+                                      (#{build-sequence 4395}#
                                         #f
-                                        (map (lambda (#{x 31244}#)
-                                               (#{chi 4373}#
-                                                 (cdr #{x 31244}#)
-                                                 (car #{x 31244}#)
+                                        (map (lambda (#{x 29844}#)
+                                               (#{chi 4446}#
+                                                 (cdr #{x 29844}#)
+                                                 (car #{x 29844}#)
                                                  '(())
-                                                 #{mod 30030}#))
-                                             (cons (cons #{er 29819}#
-                                                         (let ((#{x 31323}#
+                                                 #{mod 28625}#))
+                                             (cons (cons #{er 28414}#
+                                                         (let ((#{x 29923}#
                                                                  (begin
-                                                                   (if (if 
(pair? #{e 30027}#)
-                                                                         #{s 
30029}#
+                                                                   (if (if 
(pair? #{e 28622}#)
+                                                                         #{s 
28624}#
                                                                          #f)
                                                                      
(set-source-properties!
-                                                                       #{e 
30027}#
-                                                                       #{s 
30029}#))
-                                                                   #{e 
30027}#)))
-                                                           (if (if (null? (car 
#{w 30028}#))
-                                                                 (null? (cdr 
#{w 30028}#))
+                                                                       #{e 
28622}#
+                                                                       #{s 
28624}#))
+                                                                   #{e 
28622}#)))
+                                                           (if (if (null? (car 
#{w 28623}#))
+                                                                 (null? (cdr 
#{w 28623}#))
                                                                  #f)
-                                                             #{x 31323}#
+                                                             #{x 29923}#
                                                              (if (if (vector?
-                                                                       #{x 
31323}#)
+                                                                       #{x 
29923}#)
                                                                    (if (= 
(vector-length
-                                                                            
#{x 31323}#)
+                                                                            
#{x 29923}#)
                                                                           4)
                                                                      (eq? 
(vector-ref
-                                                                            
#{x 31323}#
+                                                                            
#{x 29923}#
                                                                             0)
                                                                           
'syntax-object)
                                                                      #f)
                                                                    #f)
-                                                               (let 
((#{expression 31355}#
+                                                               (let 
((#{expression 29955}#
                                                                        
(vector-ref
-                                                                         #{x 
31323}#
+                                                                         #{x 
29923}#
                                                                          1))
-                                                                     (#{wrap 
31356}#
-                                                                       (let 
((#{w2 31364}#
+                                                                     (#{wrap 
29956}#
+                                                                       (let 
((#{w2 29964}#
                                                                                
(vector-ref
-                                                                               
  #{x 31323}#
+                                                                               
  #{x 29923}#
                                                                                
  2)))
-                                                                         (let 
((#{m1 31365}#
-                                                                               
  (car #{w 30028}#))
-                                                                               
(#{s1 31366}#
-                                                                               
  (cdr #{w 30028}#)))
-                                                                           (if 
(null? #{m1 31365}#)
-                                                                             
(if (null? #{s1 31366}#)
-                                                                               
#{w2 31364}#
-                                                                               
(cons (car #{w2 31364}#)
-                                                                               
      (let ((#{m2 31381}#
-                                                                               
              (cdr #{w2 31364}#)))
-                                                                               
        (if (null? #{m2 31381}#)
-                                                                               
          #{s1 31366}#
+                                                                         (let 
((#{m1 29965}#
+                                                                               
  (car #{w 28623}#))
+                                                                               
(#{s1 29966}#
+                                                                               
  (cdr #{w 28623}#)))
+                                                                           (if 
(null? #{m1 29965}#)
+                                                                             
(if (null? #{s1 29966}#)
+                                                                               
#{w2 29964}#
+                                                                               
(cons (car #{w2 29964}#)
+                                                                               
      (let ((#{m2 29981}#
+                                                                               
              (cdr #{w2 29964}#)))
+                                                                               
        (if (null? #{m2 29981}#)
+                                                                               
          #{s1 29966}#
                                                                                
          (append
-                                                                               
            #{s1 31366}#
-                                                                               
            #{m2 31381}#)))))
-                                                                             
(cons (let ((#{m2 31389}#
-                                                                               
            (car #{w2 31364}#)))
-                                                                               
      (if (null? #{m2 31389}#)
-                                                                               
        #{m1 31365}#
+                                                                               
            #{s1 29966}#
+                                                                               
            #{m2 29981}#)))))
+                                                                             
(cons (let ((#{m2 29989}#
+                                                                               
            (car #{w2 29964}#)))
+                                                                               
      (if (null? #{m2 29989}#)
+                                                                               
        #{m1 29965}#
                                                                                
        (append
-                                                                               
          #{m1 31365}#
-                                                                               
          #{m2 31389}#)))
-                                                                               
    (let ((#{m2 31397}#
-                                                                               
            (cdr #{w2 31364}#)))
-                                                                               
      (if (null? #{m2 31397}#)
-                                                                               
        #{s1 31366}#
+                                                                               
          #{m1 29965}#
+                                                                               
          #{m2 29989}#)))
+                                                                               
    (let ((#{m2 29997}#
+                                                                               
            (cdr #{w2 29964}#)))
+                                                                               
      (if (null? #{m2 29997}#)
+                                                                               
        #{s1 29966}#
                                                                                
        (append
-                                                                               
          #{s1 31366}#
-                                                                               
          #{m2 31397}#))))))))
-                                                                     (#{module 
31357}#
+                                                                               
          #{s1 29966}#
+                                                                               
          #{m2 29997}#))))))))
+                                                                     (#{module 
29957}#
                                                                        
(vector-ref
-                                                                         #{x 
31323}#
+                                                                         #{x 
29923}#
                                                                          3)))
                                                                  (vector
                                                                    
'syntax-object
-                                                                   
#{expression 31355}#
-                                                                   #{wrap 
31356}#
-                                                                   #{module 
31357}#))
-                                                               (if (null? #{x 
31323}#)
-                                                                 #{x 31323}#
+                                                                   
#{expression 29955}#
+                                                                   #{wrap 
29956}#
+                                                                   #{module 
29957}#))
+                                                               (if (null? #{x 
29923}#)
+                                                                 #{x 29923}#
                                                                  (vector
                                                                    
'syntax-object
-                                                                   #{x 31323}#
-                                                                   #{w 30028}#
-                                                                   #{mod 
30030}#))))))
-                                                   (cdr #{body 29811}#))))
+                                                                   #{x 29923}#
+                                                                   #{w 28623}#
+                                                                   #{mod 
28625}#))))))
+                                                   (cdr #{body 28406}#))))
                                       (begin
-                                        (if (not (#{valid-bound-ids? 4363}#
-                                                   #{ids 29812}#))
+                                        (if (not (#{valid-bound-ids? 4436}#
+                                                   #{ids 28407}#))
                                           (syntax-violation
                                             #f
                                             "invalid or duplicate identifier 
in definition"
-                                            #{outer-form 29696}#))
+                                            #{outer-form 28291}#))
                                         (letrec*
-                                          ((#{loop 31496}#
-                                             (lambda (#{bs 31499}#
-                                                      #{er-cache 31500}#
-                                                      #{r-cache 31501}#)
-                                               (if (not (null? #{bs 31499}#))
-                                                 (let ((#{b 31502}#
-                                                         (car #{bs 31499}#)))
-                                                   (if (eq? (car #{b 31502}#)
-                                                            'macro)
-                                                     (let ((#{er 31504}#
-                                                             (car (cdr #{b 
31502}#))))
-                                                       (let ((#{r-cache 31505}#
-                                                               (if (eq? #{er 
31504}#
-                                                                        
#{er-cache 31500}#)
-                                                                 #{r-cache 
31501}#
-                                                                 
(#{macros-only-env 4337}#
-                                                                   #{er 
31504}#))))
+                                          ((#{loop 30096}#
+                                             (lambda (#{bs 30099}#
+                                                      #{er-cache 30100}#
+                                                      #{r-cache 30101}#)
+                                               (if (not (null? #{bs 30099}#))
+                                                 (let ((#{b 30102}#
+                                                         (car #{bs 30099}#)))
+                                                   (if (let ((#{t 30105}#
+                                                               (car #{b 
30102}#)))
+                                                         (if (eq? #{t 30105}#
+                                                                  'macro)
+                                                           #t
+                                                           (eq? #{t 30105}#
+                                                                
'syntax-parameter)))
+                                                     (let ((#{er 30107}#
+                                                             (car (cdr #{b 
30102}#))))
+                                                       (let ((#{r-cache 30108}#
+                                                               (if (eq? #{er 
30107}#
+                                                                        
#{er-cache 30100}#)
+                                                                 #{r-cache 
30101}#
+                                                                 
(#{macros-only-env 4410}#
+                                                                   #{er 
30107}#))))
                                                          (begin
                                                            (set-cdr!
-                                                             #{b 31502}#
-                                                             
(#{eval-local-transformer 4379}#
-                                                               (#{chi 4373}#
-                                                                 (cdr (cdr #{b 
31502}#))
-                                                                 #{r-cache 
31505}#
+                                                             #{b 30102}#
+                                                             
(#{eval-local-transformer 4452}#
+                                                               (#{chi 4446}#
+                                                                 (cdr (cdr #{b 
30102}#))
+                                                                 #{r-cache 
30108}#
                                                                  '(())
-                                                                 #{mod 30030}#)
-                                                               #{mod 30030}#))
-                                                           (#{loop 31496}#
-                                                             (cdr #{bs 31499}#)
-                                                             #{er 31504}#
-                                                             #{r-cache 
31505}#))))
-                                                     (#{loop 31496}#
-                                                       (cdr #{bs 31499}#)
-                                                       #{er-cache 31500}#
-                                                       #{r-cache 31501}#)))))))
-                                          (#{loop 31496}#
-                                            #{bindings 29817}#
+                                                                 #{mod 28625}#)
+                                                               #{mod 28625}#))
+                                                           (if (eq? (car #{b 
30102}#)
+                                                                    
'syntax-parameter)
+                                                             (set-cdr!
+                                                               #{b 30102}#
+                                                               (list (cdr #{b 
30102}#))))
+                                                           (#{loop 30096}#
+                                                             (cdr #{bs 30099}#)
+                                                             #{er 30107}#
+                                                             #{r-cache 
30108}#))))
+                                                     (#{loop 30096}#
+                                                       (cdr #{bs 30099}#)
+                                                       #{er-cache 30100}#
+                                                       #{r-cache 30101}#)))))))
+                                          (#{loop 30096}#
+                                            #{bindings 28412}#
                                             #f
                                             #f))
                                         (set-cdr!
-                                          #{r 29700}#
-                                          (#{extend-env 4335}#
-                                            #{labels 29813}#
-                                            #{bindings 29817}#
-                                            (cdr #{r 29700}#)))
-                                        (#{build-letrec 4325}#
+                                          #{r 28295}#
+                                          (#{extend-env 4408}#
+                                            #{labels 28408}#
+                                            #{bindings 28412}#
+                                            (cdr #{r 28295}#)))
+                                        (#{build-letrec 4398}#
                                           #f
                                           #t
                                           (reverse
                                             (map syntax->datum
-                                                 #{var-ids 29814}#))
-                                          (reverse #{vars 29815}#)
-                                          (map (lambda (#{x 31924}#)
-                                                 (#{chi 4373}#
-                                                   (cdr #{x 31924}#)
-                                                   (car #{x 31924}#)
+                                                 #{var-ids 28409}#))
+                                          (reverse #{vars 28410}#)
+                                          (map (lambda (#{x 30536}#)
+                                                 (#{chi 4446}#
+                                                   (cdr #{x 30536}#)
+                                                   (car #{x 30536}#)
                                                    '(())
-                                                   #{mod 30030}#))
-                                               (reverse #{vals 29816}#))
-                                          (#{build-sequence 4322}#
+                                                   #{mod 28625}#))
+                                               (reverse #{vals 28411}#))
+                                          (#{build-sequence 4395}#
                                             #f
-                                            (map (lambda (#{x 32068}#)
-                                                   (#{chi 4373}#
-                                                     (cdr #{x 32068}#)
-                                                     (car #{x 32068}#)
+                                            (map (lambda (#{x 30680}#)
+                                                   (#{chi 4446}#
+                                                     (cdr #{x 30680}#)
+                                                     (car #{x 30680}#)
                                                      '(())
-                                                     #{mod 30030}#))
-                                                 (cons (cons #{er 29819}#
-                                                             (let ((#{x 32147}#
+                                                     #{mod 28625}#))
+                                                 (cons (cons #{er 28414}#
+                                                             (let ((#{x 30759}#
                                                                      (begin
-                                                                       (if (if 
(pair? #{e 30027}#)
-                                                                             
#{s 30029}#
+                                                                       (if (if 
(pair? #{e 28622}#)
+                                                                             
#{s 28624}#
                                                                              
#f)
                                                                          
(set-source-properties!
-                                                                           #{e 
30027}#
-                                                                           #{s 
30029}#))
-                                                                       #{e 
30027}#)))
-                                                               (if (if (null? 
(car #{w 30028}#))
-                                                                     (null? 
(cdr #{w 30028}#))
+                                                                           #{e 
28622}#
+                                                                           #{s 
28624}#))
+                                                                       #{e 
28622}#)))
+                                                               (if (if (null? 
(car #{w 28623}#))
+                                                                     (null? 
(cdr #{w 28623}#))
                                                                      #f)
-                                                                 #{x 32147}#
+                                                                 #{x 30759}#
                                                                  (if (if 
(vector?
-                                                                           #{x 
32147}#)
+                                                                           #{x 
30759}#)
                                                                        (if (= 
(vector-length
-                                                                               
 #{x 32147}#)
+                                                                               
 #{x 30759}#)
                                                                               
4)
                                                                          (eq? 
(vector-ref
-                                                                               
 #{x 32147}#
+                                                                               
 #{x 30759}#
                                                                                
 0)
                                                                               
'syntax-object)
                                                                          #f)
                                                                        #f)
-                                                                   (let 
((#{expression 32179}#
+                                                                   (let 
((#{expression 30791}#
                                                                            
(vector-ref
-                                                                             
#{x 32147}#
+                                                                             
#{x 30759}#
                                                                              
1))
-                                                                         
(#{wrap 32180}#
-                                                                           
(let ((#{w2 32188}#
+                                                                         
(#{wrap 30792}#
+                                                                           
(let ((#{w2 30800}#
                                                                                
    (vector-ref
-                                                                               
      #{x 32147}#
+                                                                               
      #{x 30759}#
                                                                                
      2)))
-                                                                             
(let ((#{m1 32189}#
-                                                                               
      (car #{w 30028}#))
-                                                                               
    (#{s1 32190}#
-                                                                               
      (cdr #{w 30028}#)))
-                                                                               
(if (null? #{m1 32189}#)
-                                                                               
  (if (null? #{s1 32190}#)
-                                                                               
    #{w2 32188}#
-                                                                               
    (cons (car #{w2 32188}#)
-                                                                               
          (let ((#{m2 32205}#
-                                                                               
                  (cdr #{w2 32188}#)))
-                                                                               
            (if (null? #{m2 32205}#)
-                                                                               
              #{s1 32190}#
+                                                                             
(let ((#{m1 30801}#
+                                                                               
      (car #{w 28623}#))
+                                                                               
    (#{s1 30802}#
+                                                                               
      (cdr #{w 28623}#)))
+                                                                               
(if (null? #{m1 30801}#)
+                                                                               
  (if (null? #{s1 30802}#)
+                                                                               
    #{w2 30800}#
+                                                                               
    (cons (car #{w2 30800}#)
+                                                                               
          (let ((#{m2 30817}#
+                                                                               
                  (cdr #{w2 30800}#)))
+                                                                               
            (if (null? #{m2 30817}#)
+                                                                               
              #{s1 30802}#
                                                                                
              (append
-                                                                               
                #{s1 32190}#
-                                                                               
                #{m2 32205}#)))))
-                                                                               
  (cons (let ((#{m2 32213}#
-                                                                               
                (car #{w2 32188}#)))
-                                                                               
          (if (null? #{m2 32213}#)
-                                                                               
            #{m1 32189}#
+                                                                               
                #{s1 30802}#
+                                                                               
                #{m2 30817}#)))))
+                                                                               
  (cons (let ((#{m2 30825}#
+                                                                               
                (car #{w2 30800}#)))
+                                                                               
          (if (null? #{m2 30825}#)
+                                                                               
            #{m1 30801}#
                                                                                
            (append
-                                                                               
              #{m1 32189}#
-                                                                               
              #{m2 32213}#)))
-                                                                               
        (let ((#{m2 32221}#
-                                                                               
                (cdr #{w2 32188}#)))
-                                                                               
          (if (null? #{m2 32221}#)
-                                                                               
            #{s1 32190}#
+                                                                               
              #{m1 30801}#
+                                                                               
              #{m2 30825}#)))
+                                                                               
        (let ((#{m2 30833}#
+                                                                               
                (cdr #{w2 30800}#)))
+                                                                               
          (if (null? #{m2 30833}#)
+                                                                               
            #{s1 30802}#
                                                                                
            (append
-                                                                               
              #{s1 32190}#
-                                                                               
              #{m2 32221}#))))))))
-                                                                         
(#{module 32181}#
+                                                                               
              #{s1 30802}#
+                                                                               
              #{m2 30833}#))))))))
+                                                                         
(#{module 30793}#
                                                                            
(vector-ref
-                                                                             
#{x 32147}#
+                                                                             
#{x 30759}#
                                                                              
3)))
                                                                      (vector
                                                                        
'syntax-object
-                                                                       
#{expression 32179}#
-                                                                       #{wrap 
32180}#
-                                                                       
#{module 32181}#))
-                                                                   (if (null? 
#{x 32147}#)
-                                                                     #{x 
32147}#
+                                                                       
#{expression 30791}#
+                                                                       #{wrap 
30792}#
+                                                                       
#{module 30793}#))
+                                                                   (if (null? 
#{x 30759}#)
+                                                                     #{x 
30759}#
                                                                      (vector
                                                                        
'syntax-object
-                                                                       #{x 
32147}#
-                                                                       #{w 
30028}#
-                                                                       #{mod 
30030}#))))))
-                                                       (cdr #{body 
29811}#))))))))))))))))))
-               (#{parse 29703}#
-                 (map (lambda (#{x 29706}#)
-                        (cons #{r 29700}#
-                              (if (if (null? (car #{w 29702}#))
-                                    (null? (cdr #{w 29702}#))
+                                                                       #{x 
30759}#
+                                                                       #{w 
28623}#
+                                                                       #{mod 
28625}#))))))
+                                                       (cdr #{body 
28406}#))))))))))))))))))
+               (#{parse 28298}#
+                 (map (lambda (#{x 28301}#)
+                        (cons #{r 28295}#
+                              (if (if (null? (car #{w 28297}#))
+                                    (null? (cdr #{w 28297}#))
                                     #f)
-                                #{x 29706}#
-                                (if (if (vector? #{x 29706}#)
-                                      (if (= (vector-length #{x 29706}#) 4)
-                                        (eq? (vector-ref #{x 29706}# 0)
+                                #{x 28301}#
+                                (if (if (vector? #{x 28301}#)
+                                      (if (= (vector-length #{x 28301}#) 4)
+                                        (eq? (vector-ref #{x 28301}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (let ((#{expression 29742}#
-                                          (vector-ref #{x 29706}# 1))
-                                        (#{wrap 29743}#
-                                          (let ((#{w2 29753}#
-                                                  (vector-ref #{x 29706}# 2)))
-                                            (let ((#{m1 29754}#
-                                                    (car #{w 29702}#))
-                                                  (#{s1 29755}#
-                                                    (cdr #{w 29702}#)))
-                                              (if (null? #{m1 29754}#)
-                                                (if (null? #{s1 29755}#)
-                                                  #{w2 29753}#
-                                                  (cons (car #{w2 29753}#)
-                                                        (let ((#{m2 29772}#
-                                                                (cdr #{w2 
29753}#)))
-                                                          (if (null? #{m2 
29772}#)
-                                                            #{s1 29755}#
+                                  (let ((#{expression 28337}#
+                                          (vector-ref #{x 28301}# 1))
+                                        (#{wrap 28338}#
+                                          (let ((#{w2 28348}#
+                                                  (vector-ref #{x 28301}# 2)))
+                                            (let ((#{m1 28349}#
+                                                    (car #{w 28297}#))
+                                                  (#{s1 28350}#
+                                                    (cdr #{w 28297}#)))
+                                              (if (null? #{m1 28349}#)
+                                                (if (null? #{s1 28350}#)
+                                                  #{w2 28348}#
+                                                  (cons (car #{w2 28348}#)
+                                                        (let ((#{m2 28367}#
+                                                                (cdr #{w2 
28348}#)))
+                                                          (if (null? #{m2 
28367}#)
+                                                            #{s1 28350}#
                                                             (append
-                                                              #{s1 29755}#
-                                                              #{m2 29772}#)))))
-                                                (cons (let ((#{m2 29780}#
-                                                              (car #{w2 
29753}#)))
-                                                        (if (null? #{m2 
29780}#)
-                                                          #{m1 29754}#
+                                                              #{s1 28350}#
+                                                              #{m2 28367}#)))))
+                                                (cons (let ((#{m2 28375}#
+                                                              (car #{w2 
28348}#)))
+                                                        (if (null? #{m2 
28375}#)
+                                                          #{m1 28349}#
                                                           (append
-                                                            #{m1 29754}#
-                                                            #{m2 29780}#)))
-                                                      (let ((#{m2 29788}#
-                                                              (cdr #{w2 
29753}#)))
-                                                        (if (null? #{m2 
29788}#)
-                                                          #{s1 29755}#
+                                                            #{m1 28349}#
+                                                            #{m2 28375}#)))
+                                                      (let ((#{m2 28383}#
+                                                              (cdr #{w2 
28348}#)))
+                                                        (if (null? #{m2 
28383}#)
+                                                          #{s1 28350}#
                                                           (append
-                                                            #{s1 29755}#
-                                                            #{m2 
29788}#))))))))
-                                        (#{module 29744}#
-                                          (vector-ref #{x 29706}# 3)))
+                                                            #{s1 28350}#
+                                                            #{m2 
28383}#))))))))
+                                        (#{module 28339}#
+                                          (vector-ref #{x 28301}# 3)))
                                     (vector
                                       'syntax-object
-                                      #{expression 29742}#
-                                      #{wrap 29743}#
-                                      #{module 29744}#))
-                                  (if (null? #{x 29706}#)
-                                    #{x 29706}#
+                                      #{expression 28337}#
+                                      #{wrap 28338}#
+                                      #{module 28339}#))
+                                  (if (null? #{x 28301}#)
+                                    #{x 28301}#
                                     (vector
                                       'syntax-object
-                                      #{x 29706}#
-                                      #{w 29702}#
-                                      #{mod 29699}#))))))
-                      #{body 29695}#)
+                                      #{x 28301}#
+                                      #{w 28297}#
+                                      #{mod 28294}#))))))
+                      #{body 28290}#)
                  '()
                  '()
                  '()
                  '()
                  '()
                  '())))))))
-   (#{chi-local-syntax 4378}#
-     (lambda (#{rec? 32236}#
-              #{e 32237}#
-              #{r 32238}#
-              #{w 32239}#
-              #{s 32240}#
-              #{mod 32241}#
-              #{k 32242}#)
-       (let ((#{tmp 32244}#
+   (#{chi-local-syntax 4451}#
+     (lambda (#{rec? 30848}#
+              #{e 30849}#
+              #{r 30850}#
+              #{w 30851}#
+              #{s 30852}#
+              #{mod 30853}#
+              #{k 30854}#)
+       (let ((#{tmp 30856}#
                ($sc-dispatch
-                 #{e 32237}#
+                 #{e 30849}#
                  '(_ #(each (any any)) any . each-any))))
-         (if #{tmp 32244}#
+         (if #{tmp 30856}#
            (@apply
-             (lambda (#{id 32248}#
-                      #{val 32249}#
-                      #{e1 32250}#
-                      #{e2 32251}#)
-               (if (not (#{valid-bound-ids? 4363}# #{id 32248}#))
+             (lambda (#{id 30860}#
+                      #{val 30861}#
+                      #{e1 30862}#
+                      #{e2 30863}#)
+               (if (not (#{valid-bound-ids? 4436}# #{id 30860}#))
                  (syntax-violation
                    #f
                    "duplicate bound keyword"
-                   #{e 32237}#)
-                 (let ((#{labels 32348}#
-                         (#{gen-labels 4344}# #{id 32248}#)))
-                   (let ((#{new-w 32349}#
-                           (#{make-binding-wrap 4355}#
-                             #{id 32248}#
-                             #{labels 32348}#
-                             #{w 32239}#)))
-                     (#{k 32242}#
-                       (cons #{e1 32250}# #{e2 32251}#)
-                       (#{extend-env 4335}#
-                         #{labels 32348}#
-                         (let ((#{trans-r 32389}#
-                                 (#{macros-only-env 4337}# #{r 32238}#)))
+                   #{e 30849}#)
+                 (let ((#{labels 30960}#
+                         (#{gen-labels 4416}# #{id 30860}#)))
+                   (let ((#{new-w 30961}#
+                           (#{make-binding-wrap 4427}#
+                             #{id 30860}#
+                             #{labels 30960}#
+                             #{w 30851}#)))
+                     (#{k 30854}#
+                       (cons #{e1 30862}# #{e2 30863}#)
+                       (#{extend-env 4408}#
+                         #{labels 30960}#
+                         (let ((#{trans-r 31001}#
+                                 (#{macros-only-env 4410}# #{r 30850}#)))
                            (begin
-                             (if #{rec? 32236}# (if #f #f))
-                             (map (lambda (#{x 32390}#)
+                             (if #{rec? 30848}# (if #f #f))
+                             (map (lambda (#{x 31002}#)
                                     (cons 'macro
-                                          (#{eval-local-transformer 4379}#
-                                            (#{chi 4373}#
-                                              #{x 32390}#
-                                              #{trans-r 32389}#
-                                              (if #{rec? 32236}#
-                                                #{new-w 32349}#
-                                                #{w 32239}#)
-                                              #{mod 32241}#)
-                                            #{mod 32241}#)))
-                                  #{val 32249}#)))
-                         #{r 32238}#)
-                       #{new-w 32349}#
-                       #{s 32240}#
-                       #{mod 32241}#)))))
-             #{tmp 32244}#)
+                                          (#{eval-local-transformer 4452}#
+                                            (#{chi 4446}#
+                                              #{x 31002}#
+                                              #{trans-r 31001}#
+                                              (if #{rec? 30848}#
+                                                #{new-w 30961}#
+                                                #{w 30851}#)
+                                              #{mod 30853}#)
+                                            #{mod 30853}#)))
+                                  #{val 30861}#)))
+                         #{r 30850}#)
+                       #{new-w 30961}#
+                       #{s 30852}#
+                       #{mod 30853}#)))))
+             #{tmp 30856}#)
            (syntax-violation
              #f
              "bad local syntax definition"
-             (let ((#{x 32715}#
+             (let ((#{x 31335}#
                      (begin
-                       (if (if (pair? #{e 32237}#) #{s 32240}# #f)
-                         (set-source-properties! #{e 32237}# #{s 32240}#))
-                       #{e 32237}#)))
-               (if (if (null? (car #{w 32239}#))
-                     (null? (cdr #{w 32239}#))
+                       (if (if (pair? #{e 30849}#) #{s 30852}# #f)
+                         (set-source-properties! #{e 30849}# #{s 30852}#))
+                       #{e 30849}#)))
+               (if (if (null? (car #{w 30851}#))
+                     (null? (cdr #{w 30851}#))
                      #f)
-                 #{x 32715}#
-                 (if (if (vector? #{x 32715}#)
-                       (if (= (vector-length #{x 32715}#) 4)
-                         (eq? (vector-ref #{x 32715}# 0) 'syntax-object)
+                 #{x 31335}#
+                 (if (if (vector? #{x 31335}#)
+                       (if (= (vector-length #{x 31335}#) 4)
+                         (eq? (vector-ref #{x 31335}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (let ((#{expression 32747}# (vector-ref #{x 32715}# 1))
-                         (#{wrap 32748}#
-                           (let ((#{w2 32756}# (vector-ref #{x 32715}# 2)))
-                             (let ((#{m1 32757}# (car #{w 32239}#))
-                                   (#{s1 32758}# (cdr #{w 32239}#)))
-                               (if (null? #{m1 32757}#)
-                                 (if (null? #{s1 32758}#)
-                                   #{w2 32756}#
-                                   (cons (car #{w2 32756}#)
-                                         (let ((#{m2 32773}#
-                                                 (cdr #{w2 32756}#)))
-                                           (if (null? #{m2 32773}#)
-                                             #{s1 32758}#
+                   (let ((#{expression 31367}# (vector-ref #{x 31335}# 1))
+                         (#{wrap 31368}#
+                           (let ((#{w2 31376}# (vector-ref #{x 31335}# 2)))
+                             (let ((#{m1 31377}# (car #{w 30851}#))
+                                   (#{s1 31378}# (cdr #{w 30851}#)))
+                               (if (null? #{m1 31377}#)
+                                 (if (null? #{s1 31378}#)
+                                   #{w2 31376}#
+                                   (cons (car #{w2 31376}#)
+                                         (let ((#{m2 31393}#
+                                                 (cdr #{w2 31376}#)))
+                                           (if (null? #{m2 31393}#)
+                                             #{s1 31378}#
                                              (append
-                                               #{s1 32758}#
-                                               #{m2 32773}#)))))
-                                 (cons (let ((#{m2 32781}# (car #{w2 32756}#)))
-                                         (if (null? #{m2 32781}#)
-                                           #{m1 32757}#
-                                           (append #{m1 32757}# #{m2 32781}#)))
-                                       (let ((#{m2 32789}# (cdr #{w2 32756}#)))
-                                         (if (null? #{m2 32789}#)
-                                           #{s1 32758}#
+                                               #{s1 31378}#
+                                               #{m2 31393}#)))))
+                                 (cons (let ((#{m2 31401}# (car #{w2 31376}#)))
+                                         (if (null? #{m2 31401}#)
+                                           #{m1 31377}#
+                                           (append #{m1 31377}# #{m2 31401}#)))
+                                       (let ((#{m2 31409}# (cdr #{w2 31376}#)))
+                                         (if (null? #{m2 31409}#)
+                                           #{s1 31378}#
                                            (append
-                                             #{s1 32758}#
-                                             #{m2 32789}#))))))))
-                         (#{module 32749}# (vector-ref #{x 32715}# 3)))
+                                             #{s1 31378}#
+                                             #{m2 31409}#))))))))
+                         (#{module 31369}# (vector-ref #{x 31335}# 3)))
                      (vector
                        'syntax-object
-                       #{expression 32747}#
-                       #{wrap 32748}#
-                       #{module 32749}#))
-                   (if (null? #{x 32715}#)
-                     #{x 32715}#
+                       #{expression 31367}#
+                       #{wrap 31368}#
+                       #{module 31369}#))
+                   (if (null? #{x 31335}#)
+                     #{x 31335}#
                      (vector
                        'syntax-object
-                       #{x 32715}#
-                       #{w 32239}#
-                       #{mod 32241}#))))))))))
-   (#{eval-local-transformer 4379}#
-     (lambda (#{expanded 32807}# #{mod 32808}#)
-       (let ((#{p 32809}# (primitive-eval #{expanded 32807}#)))
-         (if (procedure? #{p 32809}#)
-           #{p 32809}#
+                       #{x 31335}#
+                       #{w 30851}#
+                       #{mod 30853}#))))))))))
+   (#{eval-local-transformer 4452}#
+     (lambda (#{expanded 31427}# #{mod 31428}#)
+       (let ((#{p 31429}# (primitive-eval #{expanded 31427}#)))
+         (if (procedure? #{p 31429}#)
+           #{p 31429}#
            (syntax-violation
              #f
              "nonprocedure transformer"
-             #{p 32809}#)))))
-   (#{ellipsis? 4381}#
-     (lambda (#{x 5832}#)
-       (if (if (if (vector? #{x 5832}#)
-                 (if (= (vector-length #{x 5832}#) 4)
-                   (eq? (vector-ref #{x 5832}# 0) 'syntax-object)
+             #{p 31429}#)))))
+   (#{ellipsis? 4454}#
+     (lambda (#{x 6023}#)
+       (if (if (if (vector? #{x 6023}#)
+                 (if (= (vector-length #{x 6023}#) 4)
+                   (eq? (vector-ref #{x 6023}# 0) 'syntax-object)
                    #f)
                  #f)
-             (symbol? (vector-ref #{x 5832}# 1))
+             (symbol? (vector-ref #{x 6023}# 1))
              #f)
-         (#{free-id=? 4361}#
-           #{x 5832}#
+         (#{free-id=? 4434}#
+           #{x 6023}#
            '#(syntax-object
               ...
               ((top)
                #(ribcage () () ())
                #(ribcage () () ())
-               #(ribcage #(x) #((top)) #("i2261"))
+               #(ribcage #(x) #((top)) #("i2341"))
                #(ribcage
                  (lambda-var-list
                    gen-var
@@ -6123,6 +6308,7 @@
                    valid-bound-ids?
                    bound-id=?
                    free-id=?
+                   resolve-identifier
                    id-var-name
                    same-marks?
                    join-marks
@@ -6160,7 +6346,6 @@
                    id?
                    nonsymbol-id?
                    global-extend
-                   lookup
                    macros-only-env
                    extend-var-env
                    extend-env
@@ -6406,13 +6591,13 @@
                   "i407"
                   "i405"
                   "i403"
-                  "i402"
+                  "i401"
                   "i400"
-                  "i397"
-                  "i396"
+                  "i398"
                   "i395"
+                  "i394"
                   "i393"
-                  "i392"
+                  "i391"
                   "i390"
                   "i388"
                   "i386"
@@ -6421,19 +6606,19 @@
                   "i380"
                   "i378"
                   "i376"
-                  "i373"
+                  "i374"
                   "i371"
-                  "i370"
+                  "i369"
                   "i368"
                   "i366"
                   "i364"
                   "i362"
-                  "i361"
                   "i360"
                   "i359"
+                  "i358"
                   "i357"
-                  "i356"
-                  "i353"
+                  "i355"
+                  "i354"
                   "i351"
                   "i349"
                   "i347"
@@ -6514,353 +6699,354 @@
                    define-expansion-accessors
                    define-expansion-constructors)
                  ((top) (top) (top))
-                 ("i46" "i45" "i44")))
+                 ("i46" "i45" "i44"))
+               #(ribcage () () ()))
               (hygiene guile)))
          #f)))
-   (#{lambda-formals 4382}#
-     (lambda (#{orig-args 32814}#)
+   (#{lambda-formals 4455}#
+     (lambda (#{orig-args 31434}#)
        (letrec*
-         ((#{req 32815}#
-            (lambda (#{args 32819}# #{rreq 32820}#)
-              (let ((#{tmp 32822}# ($sc-dispatch #{args 32819}# '())))
-                (if #{tmp 32822}#
+         ((#{req 31435}#
+            (lambda (#{args 31439}# #{rreq 31440}#)
+              (let ((#{tmp 31442}# ($sc-dispatch #{args 31439}# '())))
+                (if #{tmp 31442}#
                   (@apply
                     (lambda ()
-                      (#{check 32816}# (reverse #{rreq 32820}#) #f))
-                    #{tmp 32822}#)
-                  (let ((#{tmp 32938}#
-                          ($sc-dispatch #{args 32819}# '(any . any))))
-                    (if (if #{tmp 32938}#
+                      (#{check 31436}# (reverse #{rreq 31440}#) #f))
+                    #{tmp 31442}#)
+                  (let ((#{tmp 31558}#
+                          ($sc-dispatch #{args 31439}# '(any . any))))
+                    (if (if #{tmp 31558}#
                           (@apply
-                            (lambda (#{a 32942}# #{b 32943}#)
-                              (if (symbol? #{a 32942}#)
+                            (lambda (#{a 31562}# #{b 31563}#)
+                              (if (symbol? #{a 31562}#)
                                 #t
-                                (if (if (vector? #{a 32942}#)
-                                      (if (= (vector-length #{a 32942}#) 4)
-                                        (eq? (vector-ref #{a 32942}# 0)
+                                (if (if (vector? #{a 31562}#)
+                                      (if (= (vector-length #{a 31562}#) 4)
+                                        (eq? (vector-ref #{a 31562}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 32942}# 1))
+                                  (symbol? (vector-ref #{a 31562}# 1))
                                   #f)))
-                            #{tmp 32938}#)
+                            #{tmp 31558}#)
                           #f)
                       (@apply
-                        (lambda (#{a 32970}# #{b 32971}#)
-                          (#{req 32815}#
-                            #{b 32971}#
-                            (cons #{a 32970}# #{rreq 32820}#)))
-                        #{tmp 32938}#)
-                      (let ((#{tmp 32972}# (list #{args 32819}#)))
+                        (lambda (#{a 31590}# #{b 31591}#)
+                          (#{req 31435}#
+                            #{b 31591}#
+                            (cons #{a 31590}# #{rreq 31440}#)))
+                        #{tmp 31558}#)
+                      (let ((#{tmp 31592}# (list #{args 31439}#)))
                         (if (@apply
-                              (lambda (#{r 32974}#)
-                                (if (symbol? #{r 32974}#)
+                              (lambda (#{r 31594}#)
+                                (if (symbol? #{r 31594}#)
                                   #t
-                                  (if (if (vector? #{r 32974}#)
-                                        (if (= (vector-length #{r 32974}#) 4)
-                                          (eq? (vector-ref #{r 32974}# 0)
+                                  (if (if (vector? #{r 31594}#)
+                                        (if (= (vector-length #{r 31594}#) 4)
+                                          (eq? (vector-ref #{r 31594}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (symbol? (vector-ref #{r 32974}# 1))
+                                    (symbol? (vector-ref #{r 31594}# 1))
                                     #f)))
-                              #{tmp 32972}#)
+                              #{tmp 31592}#)
                           (@apply
-                            (lambda (#{r 33004}#)
-                              (#{check 32816}#
-                                (reverse #{rreq 32820}#)
-                                #{r 33004}#))
-                            #{tmp 32972}#)
+                            (lambda (#{r 31624}#)
+                              (#{check 31436}#
+                                (reverse #{rreq 31440}#)
+                                #{r 31624}#))
+                            #{tmp 31592}#)
                           (syntax-violation
                             'lambda
                             "invalid argument list"
-                            #{orig-args 32814}#
-                            #{args 32819}#)))))))))
-          (#{check 32816}#
-            (lambda (#{req 33128}# #{rest 33129}#)
-              (if (#{distinct-bound-ids? 4364}#
-                    (if #{rest 33129}#
-                      (cons #{rest 33129}# #{req 33128}#)
-                      #{req 33128}#))
-                (values #{req 33128}# #f #{rest 33129}# #f)
+                            #{orig-args 31434}#
+                            #{args 31439}#)))))))))
+          (#{check 31436}#
+            (lambda (#{req 31748}# #{rest 31749}#)
+              (if (#{distinct-bound-ids? 4437}#
+                    (if #{rest 31749}#
+                      (cons #{rest 31749}# #{req 31748}#)
+                      #{req 31748}#))
+                (values #{req 31748}# #f #{rest 31749}# #f)
                 (syntax-violation
                   'lambda
                   "duplicate identifier in argument list"
-                  #{orig-args 32814}#)))))
-         (#{req 32815}# #{orig-args 32814}# '()))))
-   (#{chi-simple-lambda 4383}#
-     (lambda (#{e 33238}#
-              #{r 33239}#
-              #{w 33240}#
-              #{s 33241}#
-              #{mod 33242}#
-              #{req 33243}#
-              #{rest 33244}#
-              #{meta 33245}#
-              #{body 33246}#)
-       (let ((#{ids 33247}#
-               (if #{rest 33244}#
-                 (append #{req 33243}# (list #{rest 33244}#))
-                 #{req 33243}#)))
-         (let ((#{vars 33248}#
-                 (map #{gen-var 4387}# #{ids 33247}#)))
-           (let ((#{labels 33249}#
-                   (#{gen-labels 4344}# #{ids 33247}#)))
-             (#{build-simple-lambda 4316}#
-               #{s 33241}#
-               (map syntax->datum #{req 33243}#)
-               (if #{rest 33244}#
-                 (syntax->datum #{rest 33244}#)
+                  #{orig-args 31434}#)))))
+         (#{req 31435}# #{orig-args 31434}# '()))))
+   (#{chi-simple-lambda 4456}#
+     (lambda (#{e 31858}#
+              #{r 31859}#
+              #{w 31860}#
+              #{s 31861}#
+              #{mod 31862}#
+              #{req 31863}#
+              #{rest 31864}#
+              #{meta 31865}#
+              #{body 31866}#)
+       (let ((#{ids 31867}#
+               (if #{rest 31864}#
+                 (append #{req 31863}# (list #{rest 31864}#))
+                 #{req 31863}#)))
+         (let ((#{vars 31868}#
+                 (map #{gen-var 4460}# #{ids 31867}#)))
+           (let ((#{labels 31869}#
+                   (#{gen-labels 4416}# #{ids 31867}#)))
+             (#{build-simple-lambda 4389}#
+               #{s 31861}#
+               (map syntax->datum #{req 31863}#)
+               (if #{rest 31864}#
+                 (syntax->datum #{rest 31864}#)
                  #f)
-               #{vars 33248}#
-               #{meta 33245}#
-               (#{chi-body 4377}#
-                 #{body 33246}#
-                 (let ((#{x 33438}#
+               #{vars 31868}#
+               #{meta 31865}#
+               (#{chi-body 4450}#
+                 #{body 31866}#
+                 (let ((#{x 32058}#
                          (begin
-                           (if (if (pair? #{e 33238}#) #{s 33241}# #f)
-                             (set-source-properties! #{e 33238}# #{s 33241}#))
-                           #{e 33238}#)))
-                   (if (if (null? (car #{w 33240}#))
-                         (null? (cdr #{w 33240}#))
+                           (if (if (pair? #{e 31858}#) #{s 31861}# #f)
+                             (set-source-properties! #{e 31858}# #{s 31861}#))
+                           #{e 31858}#)))
+                   (if (if (null? (car #{w 31860}#))
+                         (null? (cdr #{w 31860}#))
                          #f)
-                     #{x 33438}#
-                     (if (if (vector? #{x 33438}#)
-                           (if (= (vector-length #{x 33438}#) 4)
-                             (eq? (vector-ref #{x 33438}# 0) 'syntax-object)
+                     #{x 32058}#
+                     (if (if (vector? #{x 32058}#)
+                           (if (= (vector-length #{x 32058}#) 4)
+                             (eq? (vector-ref #{x 32058}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (let ((#{expression 33470}# (vector-ref #{x 33438}# 1))
-                             (#{wrap 33471}#
-                               (let ((#{w2 33479}# (vector-ref #{x 33438}# 2)))
-                                 (let ((#{m1 33480}# (car #{w 33240}#))
-                                       (#{s1 33481}# (cdr #{w 33240}#)))
-                                   (if (null? #{m1 33480}#)
-                                     (if (null? #{s1 33481}#)
-                                       #{w2 33479}#
-                                       (cons (car #{w2 33479}#)
-                                             (let ((#{m2 33496}#
-                                                     (cdr #{w2 33479}#)))
-                                               (if (null? #{m2 33496}#)
-                                                 #{s1 33481}#
+                       (let ((#{expression 32090}# (vector-ref #{x 32058}# 1))
+                             (#{wrap 32091}#
+                               (let ((#{w2 32099}# (vector-ref #{x 32058}# 2)))
+                                 (let ((#{m1 32100}# (car #{w 31860}#))
+                                       (#{s1 32101}# (cdr #{w 31860}#)))
+                                   (if (null? #{m1 32100}#)
+                                     (if (null? #{s1 32101}#)
+                                       #{w2 32099}#
+                                       (cons (car #{w2 32099}#)
+                                             (let ((#{m2 32116}#
+                                                     (cdr #{w2 32099}#)))
+                                               (if (null? #{m2 32116}#)
+                                                 #{s1 32101}#
                                                  (append
-                                                   #{s1 33481}#
-                                                   #{m2 33496}#)))))
-                                     (cons (let ((#{m2 33504}#
-                                                   (car #{w2 33479}#)))
-                                             (if (null? #{m2 33504}#)
-                                               #{m1 33480}#
+                                                   #{s1 32101}#
+                                                   #{m2 32116}#)))))
+                                     (cons (let ((#{m2 32124}#
+                                                   (car #{w2 32099}#)))
+                                             (if (null? #{m2 32124}#)
+                                               #{m1 32100}#
                                                (append
-                                                 #{m1 33480}#
-                                                 #{m2 33504}#)))
-                                           (let ((#{m2 33512}#
-                                                   (cdr #{w2 33479}#)))
-                                             (if (null? #{m2 33512}#)
-                                               #{s1 33481}#
+                                                 #{m1 32100}#
+                                                 #{m2 32124}#)))
+                                           (let ((#{m2 32132}#
+                                                   (cdr #{w2 32099}#)))
+                                             (if (null? #{m2 32132}#)
+                                               #{s1 32101}#
                                                (append
-                                                 #{s1 33481}#
-                                                 #{m2 33512}#))))))))
-                             (#{module 33472}# (vector-ref #{x 33438}# 3)))
+                                                 #{s1 32101}#
+                                                 #{m2 32132}#))))))))
+                             (#{module 32092}# (vector-ref #{x 32058}# 3)))
                          (vector
                            'syntax-object
-                           #{expression 33470}#
-                           #{wrap 33471}#
-                           #{module 33472}#))
-                       (if (null? #{x 33438}#)
-                         #{x 33438}#
+                           #{expression 32090}#
+                           #{wrap 32091}#
+                           #{module 32092}#))
+                       (if (null? #{x 32058}#)
+                         #{x 32058}#
                          (vector
                            'syntax-object
-                           #{x 33438}#
-                           #{w 33240}#
-                           #{mod 33242}#)))))
-                 (#{extend-var-env 4336}#
-                   #{labels 33249}#
-                   #{vars 33248}#
-                   #{r 33239}#)
-                 (#{make-binding-wrap 4355}#
-                   #{ids 33247}#
-                   #{labels 33249}#
-                   #{w 33240}#)
-                 #{mod 33242}#)))))))
-   (#{lambda*-formals 4384}#
-     (lambda (#{orig-args 33743}#)
+                           #{x 32058}#
+                           #{w 31860}#
+                           #{mod 31862}#)))))
+                 (#{extend-var-env 4409}#
+                   #{labels 31869}#
+                   #{vars 31868}#
+                   #{r 31859}#)
+                 (#{make-binding-wrap 4427}#
+                   #{ids 31867}#
+                   #{labels 31869}#
+                   #{w 31860}#)
+                 #{mod 31862}#)))))))
+   (#{lambda*-formals 4457}#
+     (lambda (#{orig-args 32363}#)
        (letrec*
-         ((#{req 33744}#
-            (lambda (#{args 33751}# #{rreq 33752}#)
-              (let ((#{tmp 33754}# ($sc-dispatch #{args 33751}# '())))
-                (if #{tmp 33754}#
+         ((#{req 32364}#
+            (lambda (#{args 32371}# #{rreq 32372}#)
+              (let ((#{tmp 32374}# ($sc-dispatch #{args 32371}# '())))
+                (if #{tmp 32374}#
                   (@apply
                     (lambda ()
-                      (#{check 33748}#
-                        (reverse #{rreq 33752}#)
+                      (#{check 32368}#
+                        (reverse #{rreq 32372}#)
                         '()
                         #f
                         '()))
-                    #{tmp 33754}#)
-                  (let ((#{tmp 33873}#
-                          ($sc-dispatch #{args 33751}# '(any . any))))
-                    (if (if #{tmp 33873}#
+                    #{tmp 32374}#)
+                  (let ((#{tmp 32493}#
+                          ($sc-dispatch #{args 32371}# '(any . any))))
+                    (if (if #{tmp 32493}#
                           (@apply
-                            (lambda (#{a 33877}# #{b 33878}#)
-                              (if (symbol? #{a 33877}#)
+                            (lambda (#{a 32497}# #{b 32498}#)
+                              (if (symbol? #{a 32497}#)
                                 #t
-                                (if (if (vector? #{a 33877}#)
-                                      (if (= (vector-length #{a 33877}#) 4)
-                                        (eq? (vector-ref #{a 33877}# 0)
+                                (if (if (vector? #{a 32497}#)
+                                      (if (= (vector-length #{a 32497}#) 4)
+                                        (eq? (vector-ref #{a 32497}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 33877}# 1))
+                                  (symbol? (vector-ref #{a 32497}# 1))
                                   #f)))
-                            #{tmp 33873}#)
+                            #{tmp 32493}#)
                           #f)
                       (@apply
-                        (lambda (#{a 33905}# #{b 33906}#)
-                          (#{req 33744}#
-                            #{b 33906}#
-                            (cons #{a 33905}# #{rreq 33752}#)))
-                        #{tmp 33873}#)
-                      (let ((#{tmp 33907}#
-                              ($sc-dispatch #{args 33751}# '(any . any))))
-                        (if (if #{tmp 33907}#
+                        (lambda (#{a 32525}# #{b 32526}#)
+                          (#{req 32364}#
+                            #{b 32526}#
+                            (cons #{a 32525}# #{rreq 32372}#)))
+                        #{tmp 32493}#)
+                      (let ((#{tmp 32527}#
+                              ($sc-dispatch #{args 32371}# '(any . any))))
+                        (if (if #{tmp 32527}#
                               (@apply
-                                (lambda (#{a 33911}# #{b 33912}#)
-                                  (eq? (syntax->datum #{a 33911}#) #:optional))
-                                #{tmp 33907}#)
+                                (lambda (#{a 32531}# #{b 32532}#)
+                                  (eq? (syntax->datum #{a 32531}#) #:optional))
+                                #{tmp 32527}#)
                               #f)
                           (@apply
-                            (lambda (#{a 33913}# #{b 33914}#)
-                              (#{opt 33745}#
-                                #{b 33914}#
-                                (reverse #{rreq 33752}#)
+                            (lambda (#{a 32533}# #{b 32534}#)
+                              (#{opt 32365}#
+                                #{b 32534}#
+                                (reverse #{rreq 32372}#)
                                 '()))
-                            #{tmp 33907}#)
-                          (let ((#{tmp 33917}#
-                                  ($sc-dispatch #{args 33751}# '(any . any))))
-                            (if (if #{tmp 33917}#
+                            #{tmp 32527}#)
+                          (let ((#{tmp 32537}#
+                                  ($sc-dispatch #{args 32371}# '(any . any))))
+                            (if (if #{tmp 32537}#
                                   (@apply
-                                    (lambda (#{a 33921}# #{b 33922}#)
-                                      (eq? (syntax->datum #{a 33921}#) #:key))
-                                    #{tmp 33917}#)
+                                    (lambda (#{a 32541}# #{b 32542}#)
+                                      (eq? (syntax->datum #{a 32541}#) #:key))
+                                    #{tmp 32537}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 33923}# #{b 33924}#)
-                                  (#{key 33746}#
-                                    #{b 33924}#
-                                    (reverse #{rreq 33752}#)
+                                (lambda (#{a 32543}# #{b 32544}#)
+                                  (#{key 32366}#
+                                    #{b 32544}#
+                                    (reverse #{rreq 32372}#)
                                     '()
                                     '()))
-                                #{tmp 33917}#)
-                              (let ((#{tmp 33927}#
+                                #{tmp 32537}#)
+                              (let ((#{tmp 32547}#
                                       ($sc-dispatch
-                                        #{args 33751}#
+                                        #{args 32371}#
                                         '(any any))))
-                                (if (if #{tmp 33927}#
+                                (if (if #{tmp 32547}#
                                       (@apply
-                                        (lambda (#{a 33931}# #{b 33932}#)
-                                          (eq? (syntax->datum #{a 33931}#)
+                                        (lambda (#{a 32551}# #{b 32552}#)
+                                          (eq? (syntax->datum #{a 32551}#)
                                                #:rest))
-                                        #{tmp 33927}#)
+                                        #{tmp 32547}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a 33933}# #{b 33934}#)
-                                      (#{rest 33747}#
-                                        #{b 33934}#
-                                        (reverse #{rreq 33752}#)
+                                    (lambda (#{a 32553}# #{b 32554}#)
+                                      (#{rest 32367}#
+                                        #{b 32554}#
+                                        (reverse #{rreq 32372}#)
                                         '()
                                         '()))
-                                    #{tmp 33927}#)
-                                  (let ((#{tmp 33937}# (list #{args 33751}#)))
+                                    #{tmp 32547}#)
+                                  (let ((#{tmp 32557}# (list #{args 32371}#)))
                                     (if (@apply
-                                          (lambda (#{r 33939}#)
-                                            (if (symbol? #{r 33939}#)
+                                          (lambda (#{r 32559}#)
+                                            (if (symbol? #{r 32559}#)
                                               #t
-                                              (if (if (vector? #{r 33939}#)
+                                              (if (if (vector? #{r 32559}#)
                                                     (if (= (vector-length
-                                                             #{r 33939}#)
+                                                             #{r 32559}#)
                                                            4)
                                                       (eq? (vector-ref
-                                                             #{r 33939}#
+                                                             #{r 32559}#
                                                              0)
                                                            'syntax-object)
                                                       #f)
                                                     #f)
                                                 (symbol?
-                                                  (vector-ref #{r 33939}# 1))
+                                                  (vector-ref #{r 32559}# 1))
                                                 #f)))
-                                          #{tmp 33937}#)
+                                          #{tmp 32557}#)
                                       (@apply
-                                        (lambda (#{r 33969}#)
-                                          (#{rest 33747}#
-                                            #{r 33969}#
-                                            (reverse #{rreq 33752}#)
+                                        (lambda (#{r 32589}#)
+                                          (#{rest 32367}#
+                                            #{r 32589}#
+                                            (reverse #{rreq 32372}#)
                                             '()
                                             '()))
-                                        #{tmp 33937}#)
+                                        #{tmp 32557}#)
                                       (syntax-violation
                                         'lambda*
                                         "invalid argument list"
-                                        #{orig-args 33743}#
-                                        #{args 33751}#)))))))))))))))
-          (#{opt 33745}#
-            (lambda (#{args 33988}# #{req 33989}# #{ropt 33990}#)
-              (let ((#{tmp 33992}# ($sc-dispatch #{args 33988}# '())))
-                (if #{tmp 33992}#
+                                        #{orig-args 32363}#
+                                        #{args 32371}#)))))))))))))))
+          (#{opt 32365}#
+            (lambda (#{args 32608}# #{req 32609}# #{ropt 32610}#)
+              (let ((#{tmp 32612}# ($sc-dispatch #{args 32608}# '())))
+                (if #{tmp 32612}#
                   (@apply
                     (lambda ()
-                      (#{check 33748}#
-                        #{req 33989}#
-                        (reverse #{ropt 33990}#)
+                      (#{check 32368}#
+                        #{req 32609}#
+                        (reverse #{ropt 32610}#)
                         #f
                         '()))
-                    #{tmp 33992}#)
-                  (let ((#{tmp 34113}#
-                          ($sc-dispatch #{args 33988}# '(any . any))))
-                    (if (if #{tmp 34113}#
+                    #{tmp 32612}#)
+                  (let ((#{tmp 32733}#
+                          ($sc-dispatch #{args 32608}# '(any . any))))
+                    (if (if #{tmp 32733}#
                           (@apply
-                            (lambda (#{a 34117}# #{b 34118}#)
-                              (if (symbol? #{a 34117}#)
+                            (lambda (#{a 32737}# #{b 32738}#)
+                              (if (symbol? #{a 32737}#)
                                 #t
-                                (if (if (vector? #{a 34117}#)
-                                      (if (= (vector-length #{a 34117}#) 4)
-                                        (eq? (vector-ref #{a 34117}# 0)
+                                (if (if (vector? #{a 32737}#)
+                                      (if (= (vector-length #{a 32737}#) 4)
+                                        (eq? (vector-ref #{a 32737}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 34117}# 1))
+                                  (symbol? (vector-ref #{a 32737}# 1))
                                   #f)))
-                            #{tmp 34113}#)
+                            #{tmp 32733}#)
                           #f)
                       (@apply
-                        (lambda (#{a 34145}# #{b 34146}#)
-                          (#{opt 33745}#
-                            #{b 34146}#
-                            #{req 33989}#
-                            (cons (cons #{a 34145}#
+                        (lambda (#{a 32765}# #{b 32766}#)
+                          (#{opt 32365}#
+                            #{b 32766}#
+                            #{req 32609}#
+                            (cons (cons #{a 32765}#
                                         '(#(syntax-object
                                             #f
                                             ((top)
                                              #(ribcage
                                                #(a b)
                                                #((top) (top))
-                                               #("i2400" "i2401"))
+                                               #("i2480" "i2481"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(args req ropt)
                                                #((top) (top) (top))
-                                               #("i2390" "i2391" "i2392"))
+                                               #("i2470" "i2471" "i2472"))
                                              #(ribcage
                                                (check rest key opt req)
                                                ((top) (top) (top) (top) (top))
-                                               ("i2336"
-                                                "i2334"
-                                                "i2332"
-                                                "i2330"
-                                                "i2328"))
+                                               ("i2416"
+                                                "i2414"
+                                                "i2412"
+                                                "i2410"
+                                                "i2408"))
                                              #(ribcage
                                                #(orig-args)
                                                #((top))
-                                               #("i2327"))
+                                               #("i2407"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -6890,6 +7076,7 @@
                                                  valid-bound-ids?
                                                  bound-id=?
                                                  free-id=?
+                                                 resolve-identifier
                                                  id-var-name
                                                  same-marks?
                                                  join-marks
@@ -6927,7 +7114,6 @@
                                                  id?
                                                  nonsymbol-id?
                                                  global-extend
-                                                 lookup
                                                  macros-only-env
                                                  extend-var-env
                                                  extend-env
@@ -7173,13 +7359,13 @@
                                                 "i407"
                                                 "i405"
                                                 "i403"
-                                                "i402"
+                                                "i401"
                                                 "i400"
-                                                "i397"
-                                                "i396"
+                                                "i398"
                                                 "i395"
+                                                "i394"
                                                 "i393"
-                                                "i392"
+                                                "i391"
                                                 "i390"
                                                 "i388"
                                                 "i386"
@@ -7188,19 +7374,19 @@
                                                 "i380"
                                                 "i378"
                                                 "i376"
-                                                "i373"
+                                                "i374"
                                                 "i371"
-                                                "i370"
+                                                "i369"
                                                 "i368"
                                                 "i366"
                                                 "i364"
                                                 "i362"
-                                                "i361"
                                                 "i360"
                                                 "i359"
+                                                "i358"
                                                 "i357"
-                                                "i356"
-                                                "i353"
+                                                "i355"
+                                                "i354"
                                                 "i351"
                                                 "i349"
                                                 "i347"
@@ -7281,149 +7467,150 @@
                                                  define-expansion-accessors
                                                  define-expansion-constructors)
                                                ((top) (top) (top))
-                                               ("i46" "i45" "i44")))
+                                               ("i46" "i45" "i44"))
+                                             #(ribcage () () ()))
                                             (hygiene guile))))
-                                  #{ropt 33990}#)))
-                        #{tmp 34113}#)
-                      (let ((#{tmp 34147}#
+                                  #{ropt 32610}#)))
+                        #{tmp 32733}#)
+                      (let ((#{tmp 32767}#
                               ($sc-dispatch
-                                #{args 33988}#
+                                #{args 32608}#
                                 '((any any) . any))))
-                        (if (if #{tmp 34147}#
+                        (if (if #{tmp 32767}#
                               (@apply
-                                (lambda (#{a 34151}#
-                                         #{init 34152}#
-                                         #{b 34153}#)
-                                  (if (symbol? #{a 34151}#)
+                                (lambda (#{a 32771}#
+                                         #{init 32772}#
+                                         #{b 32773}#)
+                                  (if (symbol? #{a 32771}#)
                                     #t
-                                    (if (if (vector? #{a 34151}#)
-                                          (if (= (vector-length #{a 34151}#) 4)
-                                            (eq? (vector-ref #{a 34151}# 0)
+                                    (if (if (vector? #{a 32771}#)
+                                          (if (= (vector-length #{a 32771}#) 4)
+                                            (eq? (vector-ref #{a 32771}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (symbol? (vector-ref #{a 34151}# 1))
+                                      (symbol? (vector-ref #{a 32771}# 1))
                                       #f)))
-                                #{tmp 34147}#)
+                                #{tmp 32767}#)
                               #f)
                           (@apply
-                            (lambda (#{a 34180}# #{init 34181}# #{b 34182}#)
-                              (#{opt 33745}#
-                                #{b 34182}#
-                                #{req 33989}#
-                                (cons (list #{a 34180}# #{init 34181}#)
-                                      #{ropt 33990}#)))
-                            #{tmp 34147}#)
-                          (let ((#{tmp 34183}#
-                                  ($sc-dispatch #{args 33988}# '(any . any))))
-                            (if (if #{tmp 34183}#
+                            (lambda (#{a 32800}# #{init 32801}# #{b 32802}#)
+                              (#{opt 32365}#
+                                #{b 32802}#
+                                #{req 32609}#
+                                (cons (list #{a 32800}# #{init 32801}#)
+                                      #{ropt 32610}#)))
+                            #{tmp 32767}#)
+                          (let ((#{tmp 32803}#
+                                  ($sc-dispatch #{args 32608}# '(any . any))))
+                            (if (if #{tmp 32803}#
                                   (@apply
-                                    (lambda (#{a 34187}# #{b 34188}#)
-                                      (eq? (syntax->datum #{a 34187}#) #:key))
-                                    #{tmp 34183}#)
+                                    (lambda (#{a 32807}# #{b 32808}#)
+                                      (eq? (syntax->datum #{a 32807}#) #:key))
+                                    #{tmp 32803}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 34189}# #{b 34190}#)
-                                  (#{key 33746}#
-                                    #{b 34190}#
-                                    #{req 33989}#
-                                    (reverse #{ropt 33990}#)
+                                (lambda (#{a 32809}# #{b 32810}#)
+                                  (#{key 32366}#
+                                    #{b 32810}#
+                                    #{req 32609}#
+                                    (reverse #{ropt 32610}#)
                                     '()))
-                                #{tmp 34183}#)
-                              (let ((#{tmp 34193}#
+                                #{tmp 32803}#)
+                              (let ((#{tmp 32813}#
                                       ($sc-dispatch
-                                        #{args 33988}#
+                                        #{args 32608}#
                                         '(any any))))
-                                (if (if #{tmp 34193}#
+                                (if (if #{tmp 32813}#
                                       (@apply
-                                        (lambda (#{a 34197}# #{b 34198}#)
-                                          (eq? (syntax->datum #{a 34197}#)
+                                        (lambda (#{a 32817}# #{b 32818}#)
+                                          (eq? (syntax->datum #{a 32817}#)
                                                #:rest))
-                                        #{tmp 34193}#)
+                                        #{tmp 32813}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a 34199}# #{b 34200}#)
-                                      (#{rest 33747}#
-                                        #{b 34200}#
-                                        #{req 33989}#
-                                        (reverse #{ropt 33990}#)
+                                    (lambda (#{a 32819}# #{b 32820}#)
+                                      (#{rest 32367}#
+                                        #{b 32820}#
+                                        #{req 32609}#
+                                        (reverse #{ropt 32610}#)
                                         '()))
-                                    #{tmp 34193}#)
-                                  (let ((#{tmp 34203}# (list #{args 33988}#)))
+                                    #{tmp 32813}#)
+                                  (let ((#{tmp 32823}# (list #{args 32608}#)))
                                     (if (@apply
-                                          (lambda (#{r 34205}#)
-                                            (if (symbol? #{r 34205}#)
+                                          (lambda (#{r 32825}#)
+                                            (if (symbol? #{r 32825}#)
                                               #t
-                                              (if (if (vector? #{r 34205}#)
+                                              (if (if (vector? #{r 32825}#)
                                                     (if (= (vector-length
-                                                             #{r 34205}#)
+                                                             #{r 32825}#)
                                                            4)
                                                       (eq? (vector-ref
-                                                             #{r 34205}#
+                                                             #{r 32825}#
                                                              0)
                                                            'syntax-object)
                                                       #f)
                                                     #f)
                                                 (symbol?
-                                                  (vector-ref #{r 34205}# 1))
+                                                  (vector-ref #{r 32825}# 1))
                                                 #f)))
-                                          #{tmp 34203}#)
+                                          #{tmp 32823}#)
                                       (@apply
-                                        (lambda (#{r 34235}#)
-                                          (#{rest 33747}#
-                                            #{r 34235}#
-                                            #{req 33989}#
-                                            (reverse #{ropt 33990}#)
+                                        (lambda (#{r 32855}#)
+                                          (#{rest 32367}#
+                                            #{r 32855}#
+                                            #{req 32609}#
+                                            (reverse #{ropt 32610}#)
                                             '()))
-                                        #{tmp 34203}#)
+                                        #{tmp 32823}#)
                                       (syntax-violation
                                         'lambda*
                                         "invalid optional argument list"
-                                        #{orig-args 33743}#
-                                        #{args 33988}#)))))))))))))))
-          (#{key 33746}#
-            (lambda (#{args 34254}#
-                     #{req 34255}#
-                     #{opt 34256}#
-                     #{rkey 34257}#)
-              (let ((#{tmp 34259}# ($sc-dispatch #{args 34254}# '())))
-                (if #{tmp 34259}#
+                                        #{orig-args 32363}#
+                                        #{args 32608}#)))))))))))))))
+          (#{key 32366}#
+            (lambda (#{args 32874}#
+                     #{req 32875}#
+                     #{opt 32876}#
+                     #{rkey 32877}#)
+              (let ((#{tmp 32879}# ($sc-dispatch #{args 32874}# '())))
+                (if #{tmp 32879}#
                   (@apply
                     (lambda ()
-                      (#{check 33748}#
-                        #{req 34255}#
-                        #{opt 34256}#
+                      (#{check 32368}#
+                        #{req 32875}#
+                        #{opt 32876}#
                         #f
-                        (cons #f (reverse #{rkey 34257}#))))
-                    #{tmp 34259}#)
-                  (let ((#{tmp 34381}#
-                          ($sc-dispatch #{args 34254}# '(any . any))))
-                    (if (if #{tmp 34381}#
+                        (cons #f (reverse #{rkey 32877}#))))
+                    #{tmp 32879}#)
+                  (let ((#{tmp 33001}#
+                          ($sc-dispatch #{args 32874}# '(any . any))))
+                    (if (if #{tmp 33001}#
                           (@apply
-                            (lambda (#{a 34385}# #{b 34386}#)
-                              (if (symbol? #{a 34385}#)
+                            (lambda (#{a 33005}# #{b 33006}#)
+                              (if (symbol? #{a 33005}#)
                                 #t
-                                (if (if (vector? #{a 34385}#)
-                                      (if (= (vector-length #{a 34385}#) 4)
-                                        (eq? (vector-ref #{a 34385}# 0)
+                                (if (if (vector? #{a 33005}#)
+                                      (if (= (vector-length #{a 33005}#) 4)
+                                        (eq? (vector-ref #{a 33005}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{a 34385}# 1))
+                                  (symbol? (vector-ref #{a 33005}# 1))
                                   #f)))
-                            #{tmp 34381}#)
+                            #{tmp 33001}#)
                           #f)
                       (@apply
-                        (lambda (#{a 34413}# #{b 34414}#)
-                          (let ((#{tmp 34415}#
+                        (lambda (#{a 33033}# #{b 33034}#)
+                          (let ((#{tmp 33035}#
                                   (symbol->keyword
-                                    (syntax->datum #{a 34413}#))))
-                            (#{key 33746}#
-                              #{b 34414}#
-                              #{req 34255}#
-                              #{opt 34256}#
-                              (cons (cons #{tmp 34415}#
-                                          (cons #{a 34413}#
+                                    (syntax->datum #{a 33033}#))))
+                            (#{key 32366}#
+                              #{b 33034}#
+                              #{req 32875}#
+                              #{opt 32876}#
+                              (cons (cons #{tmp 33035}#
+                                          (cons #{a 33033}#
                                                 '(#(syntax-object
                                                     #f
                                                     ((top)
@@ -7431,11 +7618,11 @@
                                                      #(ribcage
                                                        #(k)
                                                        #((top))
-                                                       #("i2463"))
+                                                       #("i2543"))
                                                      #(ribcage
                                                        #(a b)
                                                        #((top) (top))
-                                                       #("i2457" "i2458"))
+                                                       #("i2537" "i2538"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(args req opt rkey)
@@ -7443,10 +7630,10 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i2446"
-                                                         "i2447"
-                                                         "i2448"
-                                                         "i2449"))
+                                                       #("i2526"
+                                                         "i2527"
+                                                         "i2528"
+                                                         "i2529"))
                                                      #(ribcage
                                                        (check rest key opt req)
                                                        ((top)
@@ -7454,15 +7641,15 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i2336"
-                                                        "i2334"
-                                                        "i2332"
-                                                        "i2330"
-                                                        "i2328"))
+                                                       ("i2416"
+                                                        "i2414"
+                                                        "i2412"
+                                                        "i2410"
+                                                        "i2408"))
                                                      #(ribcage
                                                        #(orig-args)
                                                        #((top))
-                                                       #("i2327"))
+                                                       #("i2407"))
                                                      #(ribcage
                                                        (lambda-var-list
                                                          gen-var
@@ -7492,6 +7679,7 @@
                                                          valid-bound-ids?
                                                          bound-id=?
                                                          free-id=?
+                                                         resolve-identifier
                                                          id-var-name
                                                          same-marks?
                                                          join-marks
@@ -7529,7 +7717,6 @@
                                                          id?
                                                          nonsymbol-id?
                                                          global-extend
-                                                         lookup
                                                          macros-only-env
                                                          extend-var-env
                                                          extend-env
@@ -7775,13 +7962,13 @@
                                                         "i407"
                                                         "i405"
                                                         "i403"
-                                                        "i402"
+                                                        "i401"
                                                         "i400"
-                                                        "i397"
-                                                        "i396"
+                                                        "i398"
                                                         "i395"
+                                                        "i394"
                                                         "i393"
-                                                        "i392"
+                                                        "i391"
                                                         "i390"
                                                         "i388"
                                                         "i386"
@@ -7790,19 +7977,19 @@
                                                         "i380"
                                                         "i378"
                                                         "i376"
-                                                        "i373"
+                                                        "i374"
                                                         "i371"
-                                                        "i370"
+                                                        "i369"
                                                         "i368"
                                                         "i366"
                                                         "i364"
                                                         "i362"
-                                                        "i361"
                                                         "i360"
                                                         "i359"
+                                                        "i358"
                                                         "i357"
-                                                        "i356"
-                                                        "i353"
+                                                        "i355"
+                                                        "i354"
                                                         "i351"
                                                         "i349"
                                                         "i347"
@@ -7883,1011 +8070,1012 @@
                                                          
define-expansion-accessors
                                                          
define-expansion-constructors)
                                                        ((top) (top) (top))
-                                                       ("i46" "i45" "i44")))
+                                                       ("i46" "i45" "i44"))
+                                                     #(ribcage () () ()))
                                                     (hygiene guile)))))
-                                    #{rkey 34257}#))))
-                        #{tmp 34381}#)
-                      (let ((#{tmp 34418}#
+                                    #{rkey 32877}#))))
+                        #{tmp 33001}#)
+                      (let ((#{tmp 33038}#
                               ($sc-dispatch
-                                #{args 34254}#
+                                #{args 32874}#
                                 '((any any) . any))))
-                        (if (if #{tmp 34418}#
+                        (if (if #{tmp 33038}#
                               (@apply
-                                (lambda (#{a 34422}#
-                                         #{init 34423}#
-                                         #{b 34424}#)
-                                  (if (symbol? #{a 34422}#)
+                                (lambda (#{a 33042}#
+                                         #{init 33043}#
+                                         #{b 33044}#)
+                                  (if (symbol? #{a 33042}#)
                                     #t
-                                    (if (if (vector? #{a 34422}#)
-                                          (if (= (vector-length #{a 34422}#) 4)
-                                            (eq? (vector-ref #{a 34422}# 0)
+                                    (if (if (vector? #{a 33042}#)
+                                          (if (= (vector-length #{a 33042}#) 4)
+                                            (eq? (vector-ref #{a 33042}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (symbol? (vector-ref #{a 34422}# 1))
+                                      (symbol? (vector-ref #{a 33042}# 1))
                                       #f)))
-                                #{tmp 34418}#)
+                                #{tmp 33038}#)
                               #f)
                           (@apply
-                            (lambda (#{a 34451}# #{init 34452}# #{b 34453}#)
-                              (let ((#{tmp 34454}#
+                            (lambda (#{a 33071}# #{init 33072}# #{b 33073}#)
+                              (let ((#{tmp 33074}#
                                       (symbol->keyword
-                                        (syntax->datum #{a 34451}#))))
-                                (#{key 33746}#
-                                  #{b 34453}#
-                                  #{req 34255}#
-                                  #{opt 34256}#
-                                  (cons (list #{tmp 34454}#
-                                              #{a 34451}#
-                                              #{init 34452}#)
-                                        #{rkey 34257}#))))
-                            #{tmp 34418}#)
-                          (let ((#{tmp 34457}#
+                                        (syntax->datum #{a 33071}#))))
+                                (#{key 32366}#
+                                  #{b 33073}#
+                                  #{req 32875}#
+                                  #{opt 32876}#
+                                  (cons (list #{tmp 33074}#
+                                              #{a 33071}#
+                                              #{init 33072}#)
+                                        #{rkey 32877}#))))
+                            #{tmp 33038}#)
+                          (let ((#{tmp 33077}#
                                   ($sc-dispatch
-                                    #{args 34254}#
+                                    #{args 32874}#
                                     '((any any any) . any))))
-                            (if (if #{tmp 34457}#
+                            (if (if #{tmp 33077}#
                                   (@apply
-                                    (lambda (#{a 34461}#
-                                             #{init 34462}#
-                                             #{k 34463}#
-                                             #{b 34464}#)
-                                      (if (if (symbol? #{a 34461}#)
+                                    (lambda (#{a 33081}#
+                                             #{init 33082}#
+                                             #{k 33083}#
+                                             #{b 33084}#)
+                                      (if (if (symbol? #{a 33081}#)
                                             #t
-                                            (if (if (vector? #{a 34461}#)
+                                            (if (if (vector? #{a 33081}#)
                                                   (if (= (vector-length
-                                                           #{a 34461}#)
+                                                           #{a 33081}#)
                                                          4)
                                                     (eq? (vector-ref
-                                                           #{a 34461}#
+                                                           #{a 33081}#
                                                            0)
                                                          'syntax-object)
                                                     #f)
                                                   #f)
                                               (symbol?
-                                                (vector-ref #{a 34461}# 1))
+                                                (vector-ref #{a 33081}# 1))
                                               #f))
-                                        (keyword? (syntax->datum #{k 34463}#))
+                                        (keyword? (syntax->datum #{k 33083}#))
                                         #f))
-                                    #{tmp 34457}#)
+                                    #{tmp 33077}#)
                                   #f)
                               (@apply
-                                (lambda (#{a 34491}#
-                                         #{init 34492}#
-                                         #{k 34493}#
-                                         #{b 34494}#)
-                                  (#{key 33746}#
-                                    #{b 34494}#
-                                    #{req 34255}#
-                                    #{opt 34256}#
-                                    (cons (list #{k 34493}#
-                                                #{a 34491}#
-                                                #{init 34492}#)
-                                          #{rkey 34257}#)))
-                                #{tmp 34457}#)
-                              (let ((#{tmp 34495}#
-                                      ($sc-dispatch #{args 34254}# '(any))))
-                                (if (if #{tmp 34495}#
+                                (lambda (#{a 33111}#
+                                         #{init 33112}#
+                                         #{k 33113}#
+                                         #{b 33114}#)
+                                  (#{key 32366}#
+                                    #{b 33114}#
+                                    #{req 32875}#
+                                    #{opt 32876}#
+                                    (cons (list #{k 33113}#
+                                                #{a 33111}#
+                                                #{init 33112}#)
+                                          #{rkey 32877}#)))
+                                #{tmp 33077}#)
+                              (let ((#{tmp 33115}#
+                                      ($sc-dispatch #{args 32874}# '(any))))
+                                (if (if #{tmp 33115}#
                                       (@apply
-                                        (lambda (#{aok 34499}#)
-                                          (eq? (syntax->datum #{aok 34499}#)
+                                        (lambda (#{aok 33119}#)
+                                          (eq? (syntax->datum #{aok 33119}#)
                                                #:allow-other-keys))
-                                        #{tmp 34495}#)
+                                        #{tmp 33115}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{aok 34500}#)
-                                      (#{check 33748}#
-                                        #{req 34255}#
-                                        #{opt 34256}#
+                                    (lambda (#{aok 33120}#)
+                                      (#{check 32368}#
+                                        #{req 32875}#
+                                        #{opt 32876}#
                                         #f
-                                        (cons #t (reverse #{rkey 34257}#))))
-                                    #{tmp 34495}#)
-                                  (let ((#{tmp 34619}#
+                                        (cons #t (reverse #{rkey 32877}#))))
+                                    #{tmp 33115}#)
+                                  (let ((#{tmp 33239}#
                                           ($sc-dispatch
-                                            #{args 34254}#
+                                            #{args 32874}#
                                             '(any any any))))
-                                    (if (if #{tmp 34619}#
+                                    (if (if #{tmp 33239}#
                                           (@apply
-                                            (lambda (#{aok 34623}#
-                                                     #{a 34624}#
-                                                     #{b 34625}#)
+                                            (lambda (#{aok 33243}#
+                                                     #{a 33244}#
+                                                     #{b 33245}#)
                                               (if (eq? (syntax->datum
-                                                         #{aok 34623}#)
+                                                         #{aok 33243}#)
                                                        #:allow-other-keys)
                                                 (eq? (syntax->datum
-                                                       #{a 34624}#)
+                                                       #{a 33244}#)
                                                      #:rest)
                                                 #f))
-                                            #{tmp 34619}#)
+                                            #{tmp 33239}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{aok 34626}#
-                                                 #{a 34627}#
-                                                 #{b 34628}#)
-                                          (#{rest 33747}#
-                                            #{b 34628}#
-                                            #{req 34255}#
-                                            #{opt 34256}#
+                                        (lambda (#{aok 33246}#
+                                                 #{a 33247}#
+                                                 #{b 33248}#)
+                                          (#{rest 32367}#
+                                            #{b 33248}#
+                                            #{req 32875}#
+                                            #{opt 32876}#
                                             (cons #t
-                                                  (reverse #{rkey 34257}#))))
-                                        #{tmp 34619}#)
-                                      (let ((#{tmp 34631}#
+                                                  (reverse #{rkey 32877}#))))
+                                        #{tmp 33239}#)
+                                      (let ((#{tmp 33251}#
                                               ($sc-dispatch
-                                                #{args 34254}#
+                                                #{args 32874}#
                                                 '(any . any))))
-                                        (if (if #{tmp 34631}#
+                                        (if (if #{tmp 33251}#
                                               (@apply
-                                                (lambda (#{aok 34635}#
-                                                         #{r 34636}#)
+                                                (lambda (#{aok 33255}#
+                                                         #{r 33256}#)
                                                   (if (eq? (syntax->datum
-                                                             #{aok 34635}#)
+                                                             #{aok 33255}#)
                                                            #:allow-other-keys)
-                                                    (if (symbol? #{r 34636}#)
+                                                    (if (symbol? #{r 33256}#)
                                                       #t
                                                       (if (if (vector?
-                                                                #{r 34636}#)
+                                                                #{r 33256}#)
                                                             (if (= 
(vector-length
-                                                                     #{r 
34636}#)
+                                                                     #{r 
33256}#)
                                                                    4)
                                                               (eq? (vector-ref
-                                                                     #{r 
34636}#
+                                                                     #{r 
33256}#
                                                                      0)
                                                                    
'syntax-object)
                                                               #f)
                                                             #f)
                                                         (symbol?
                                                           (vector-ref
-                                                            #{r 34636}#
+                                                            #{r 33256}#
                                                             1))
                                                         #f))
                                                     #f))
-                                                #{tmp 34631}#)
+                                                #{tmp 33251}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{aok 34663}# #{r 34664}#)
-                                              (#{rest 33747}#
-                                                #{r 34664}#
-                                                #{req 34255}#
-                                                #{opt 34256}#
+                                            (lambda (#{aok 33283}# #{r 33284}#)
+                                              (#{rest 32367}#
+                                                #{r 33284}#
+                                                #{req 32875}#
+                                                #{opt 32876}#
                                                 (cons #t
                                                       (reverse
-                                                        #{rkey 34257}#))))
-                                            #{tmp 34631}#)
-                                          (let ((#{tmp 34667}#
+                                                        #{rkey 32877}#))))
+                                            #{tmp 33251}#)
+                                          (let ((#{tmp 33287}#
                                                   ($sc-dispatch
-                                                    #{args 34254}#
+                                                    #{args 32874}#
                                                     '(any any))))
-                                            (if (if #{tmp 34667}#
+                                            (if (if #{tmp 33287}#
                                                   (@apply
-                                                    (lambda (#{a 34671}#
-                                                             #{b 34672}#)
+                                                    (lambda (#{a 33291}#
+                                                             #{b 33292}#)
                                                       (eq? (syntax->datum
-                                                             #{a 34671}#)
+                                                             #{a 33291}#)
                                                            #:rest))
-                                                    #{tmp 34667}#)
+                                                    #{tmp 33287}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{a 34673}#
-                                                         #{b 34674}#)
-                                                  (#{rest 33747}#
-                                                    #{b 34674}#
-                                                    #{req 34255}#
-                                                    #{opt 34256}#
+                                                (lambda (#{a 33293}#
+                                                         #{b 33294}#)
+                                                  (#{rest 32367}#
+                                                    #{b 33294}#
+                                                    #{req 32875}#
+                                                    #{opt 32876}#
                                                     (cons #f
                                                           (reverse
-                                                            #{rkey 34257}#))))
-                                                #{tmp 34667}#)
-                                              (let ((#{tmp 34677}#
-                                                      (list #{args 34254}#)))
+                                                            #{rkey 32877}#))))
+                                                #{tmp 33287}#)
+                                              (let ((#{tmp 33297}#
+                                                      (list #{args 32874}#)))
                                                 (if (@apply
-                                                      (lambda (#{r 34679}#)
+                                                      (lambda (#{r 33299}#)
                                                         (if (symbol?
-                                                              #{r 34679}#)
+                                                              #{r 33299}#)
                                                           #t
                                                           (if (if (vector?
-                                                                    #{r 
34679}#)
+                                                                    #{r 
33299}#)
                                                                 (if (= 
(vector-length
-                                                                         #{r 
34679}#)
+                                                                         #{r 
33299}#)
                                                                        4)
                                                                   (eq? 
(vector-ref
-                                                                         #{r 
34679}#
+                                                                         #{r 
33299}#
                                                                          0)
                                                                        
'syntax-object)
                                                                   #f)
                                                                 #f)
                                                             (symbol?
                                                               (vector-ref
-                                                                #{r 34679}#
+                                                                #{r 33299}#
                                                                 1))
                                                             #f)))
-                                                      #{tmp 34677}#)
+                                                      #{tmp 33297}#)
                                                   (@apply
-                                                    (lambda (#{r 34709}#)
-                                                      (#{rest 33747}#
-                                                        #{r 34709}#
-                                                        #{req 34255}#
-                                                        #{opt 34256}#
+                                                    (lambda (#{r 33329}#)
+                                                      (#{rest 32367}#
+                                                        #{r 33329}#
+                                                        #{req 32875}#
+                                                        #{opt 32876}#
                                                         (cons #f
                                                               (reverse
-                                                                #{rkey 
34257}#))))
-                                                    #{tmp 34677}#)
+                                                                #{rkey 
32877}#))))
+                                                    #{tmp 33297}#)
                                                   (syntax-violation
                                                     'lambda*
                                                     "invalid keyword argument 
list"
-                                                    #{orig-args 33743}#
-                                                    #{args 
34254}#)))))))))))))))))))))
-          (#{rest 33747}#
-            (lambda (#{args 34737}#
-                     #{req 34738}#
-                     #{opt 34739}#
-                     #{kw 34740}#)
-              (let ((#{tmp 34742}# (list #{args 34737}#)))
+                                                    #{orig-args 32363}#
+                                                    #{args 
32874}#)))))))))))))))))))))
+          (#{rest 32367}#
+            (lambda (#{args 33357}#
+                     #{req 33358}#
+                     #{opt 33359}#
+                     #{kw 33360}#)
+              (let ((#{tmp 33362}# (list #{args 33357}#)))
                 (if (@apply
-                      (lambda (#{r 34744}#)
-                        (if (symbol? #{r 34744}#)
+                      (lambda (#{r 33364}#)
+                        (if (symbol? #{r 33364}#)
                           #t
-                          (if (if (vector? #{r 34744}#)
-                                (if (= (vector-length #{r 34744}#) 4)
-                                  (eq? (vector-ref #{r 34744}# 0)
+                          (if (if (vector? #{r 33364}#)
+                                (if (= (vector-length #{r 33364}#) 4)
+                                  (eq? (vector-ref #{r 33364}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{r 34744}# 1))
+                            (symbol? (vector-ref #{r 33364}# 1))
                             #f)))
-                      #{tmp 34742}#)
+                      #{tmp 33362}#)
                   (@apply
-                    (lambda (#{r 34774}#)
-                      (#{check 33748}#
-                        #{req 34738}#
-                        #{opt 34739}#
-                        #{r 34774}#
-                        #{kw 34740}#))
-                    #{tmp 34742}#)
+                    (lambda (#{r 33394}#)
+                      (#{check 32368}#
+                        #{req 33358}#
+                        #{opt 33359}#
+                        #{r 33394}#
+                        #{kw 33360}#))
+                    #{tmp 33362}#)
                   (syntax-violation
                     'lambda*
                     "invalid rest argument"
-                    #{orig-args 33743}#
-                    #{args 34737}#)))))
-          (#{check 33748}#
-            (lambda (#{req 34902}#
-                     #{opt 34903}#
-                     #{rest 34904}#
-                     #{kw 34905}#)
-              (if (#{distinct-bound-ids? 4364}#
+                    #{orig-args 32363}#
+                    #{args 33357}#)))))
+          (#{check 32368}#
+            (lambda (#{req 33522}#
+                     #{opt 33523}#
+                     #{rest 33524}#
+                     #{kw 33525}#)
+              (if (#{distinct-bound-ids? 4437}#
                     (append
-                      #{req 34902}#
-                      (map car #{opt 34903}#)
-                      (if #{rest 34904}# (list #{rest 34904}#) '())
-                      (if (pair? #{kw 34905}#)
-                        (map cadr (cdr #{kw 34905}#))
+                      #{req 33522}#
+                      (map car #{opt 33523}#)
+                      (if #{rest 33524}# (list #{rest 33524}#) '())
+                      (if (pair? #{kw 33525}#)
+                        (map cadr (cdr #{kw 33525}#))
                         '())))
                 (values
-                  #{req 34902}#
-                  #{opt 34903}#
-                  #{rest 34904}#
-                  #{kw 34905}#)
+                  #{req 33522}#
+                  #{opt 33523}#
+                  #{rest 33524}#
+                  #{kw 33525}#)
                 (syntax-violation
                   'lambda*
                   "duplicate identifier in argument list"
-                  #{orig-args 33743}#)))))
-         (#{req 33744}# #{orig-args 33743}# '()))))
-   (#{chi-lambda-case 4385}#
-     (lambda (#{e 35014}#
-              #{r 35015}#
-              #{w 35016}#
-              #{s 35017}#
-              #{mod 35018}#
-              #{get-formals 35019}#
-              #{clauses 35020}#)
+                  #{orig-args 32363}#)))))
+         (#{req 32364}# #{orig-args 32363}# '()))))
+   (#{chi-lambda-case 4458}#
+     (lambda (#{e 33634}#
+              #{r 33635}#
+              #{w 33636}#
+              #{s 33637}#
+              #{mod 33638}#
+              #{get-formals 33639}#
+              #{clauses 33640}#)
        (letrec*
-         ((#{expand-req 35021}#
-            (lambda (#{req 35157}#
-                     #{opt 35158}#
-                     #{rest 35159}#
-                     #{kw 35160}#
-                     #{body 35161}#)
-              (let ((#{vars 35162}#
-                      (map #{gen-var 4387}# #{req 35157}#))
-                    (#{labels 35163}#
-                      (#{gen-labels 4344}# #{req 35157}#)))
-                (let ((#{r* 35164}#
-                        (#{extend-var-env 4336}#
-                          #{labels 35163}#
-                          #{vars 35162}#
-                          #{r 35015}#))
-                      (#{w* 35165}#
-                        (#{make-binding-wrap 4355}#
-                          #{req 35157}#
-                          #{labels 35163}#
-                          #{w 35016}#)))
-                  (#{expand-opt 35022}#
-                    (map syntax->datum #{req 35157}#)
-                    #{opt 35158}#
-                    #{rest 35159}#
-                    #{kw 35160}#
-                    #{body 35161}#
-                    (reverse #{vars 35162}#)
-                    #{r* 35164}#
-                    #{w* 35165}#
+         ((#{expand-req 33641}#
+            (lambda (#{req 33777}#
+                     #{opt 33778}#
+                     #{rest 33779}#
+                     #{kw 33780}#
+                     #{body 33781}#)
+              (let ((#{vars 33782}#
+                      (map #{gen-var 4460}# #{req 33777}#))
+                    (#{labels 33783}#
+                      (#{gen-labels 4416}# #{req 33777}#)))
+                (let ((#{r* 33784}#
+                        (#{extend-var-env 4409}#
+                          #{labels 33783}#
+                          #{vars 33782}#
+                          #{r 33635}#))
+                      (#{w* 33785}#
+                        (#{make-binding-wrap 4427}#
+                          #{req 33777}#
+                          #{labels 33783}#
+                          #{w 33636}#)))
+                  (#{expand-opt 33642}#
+                    (map syntax->datum #{req 33777}#)
+                    #{opt 33778}#
+                    #{rest 33779}#
+                    #{kw 33780}#
+                    #{body 33781}#
+                    (reverse #{vars 33782}#)
+                    #{r* 33784}#
+                    #{w* 33785}#
                     '()
                     '())))))
-          (#{expand-opt 35022}#
-            (lambda (#{req 35401}#
-                     #{opt 35402}#
-                     #{rest 35403}#
-                     #{kw 35404}#
-                     #{body 35405}#
-                     #{vars 35406}#
-                     #{r* 35407}#
-                     #{w* 35408}#
-                     #{out 35409}#
-                     #{inits 35410}#)
-              (if (pair? #{opt 35402}#)
-                (let ((#{tmp 35411}# (car #{opt 35402}#)))
-                  (let ((#{tmp 35412}#
-                          ($sc-dispatch #{tmp 35411}# '(any any))))
-                    (if #{tmp 35412}#
+          (#{expand-opt 33642}#
+            (lambda (#{req 34021}#
+                     #{opt 34022}#
+                     #{rest 34023}#
+                     #{kw 34024}#
+                     #{body 34025}#
+                     #{vars 34026}#
+                     #{r* 34027}#
+                     #{w* 34028}#
+                     #{out 34029}#
+                     #{inits 34030}#)
+              (if (pair? #{opt 34022}#)
+                (let ((#{tmp 34031}# (car #{opt 34022}#)))
+                  (let ((#{tmp 34032}#
+                          ($sc-dispatch #{tmp 34031}# '(any any))))
+                    (if #{tmp 34032}#
                       (@apply
-                        (lambda (#{id 35414}# #{i 35415}#)
-                          (let ((#{v 35416}#
-                                  (let ((#{id 35424}#
-                                          (if (if (vector? #{id 35414}#)
+                        (lambda (#{id 34034}# #{i 34035}#)
+                          (let ((#{v 34036}#
+                                  (let ((#{id 34044}#
+                                          (if (if (vector? #{id 34034}#)
                                                 (if (= (vector-length
-                                                         #{id 35414}#)
+                                                         #{id 34034}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{id 35414}#
+                                                         #{id 34034}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
-                                            (vector-ref #{id 35414}# 1)
-                                            #{id 35414}#)))
+                                            (vector-ref #{id 34034}# 1)
+                                            #{id 34034}#)))
                                     (gensym
                                       (string-append
-                                        (symbol->string #{id 35424}#)
+                                        (symbol->string #{id 34044}#)
                                         " ")))))
-                            (let ((#{l 35417}#
-                                    (#{gen-labels 4344}# (list #{v 35416}#))))
-                              (let ((#{r** 35418}#
-                                      (#{extend-var-env 4336}#
-                                        #{l 35417}#
-                                        (list #{v 35416}#)
-                                        #{r* 35407}#)))
-                                (let ((#{w** 35419}#
-                                        (#{make-binding-wrap 4355}#
-                                          (list #{id 35414}#)
-                                          #{l 35417}#
-                                          #{w* 35408}#)))
-                                  (#{expand-opt 35022}#
-                                    #{req 35401}#
-                                    (cdr #{opt 35402}#)
-                                    #{rest 35403}#
-                                    #{kw 35404}#
-                                    #{body 35405}#
-                                    (cons #{v 35416}# #{vars 35406}#)
-                                    #{r** 35418}#
-                                    #{w** 35419}#
-                                    (cons (syntax->datum #{id 35414}#)
-                                          #{out 35409}#)
-                                    (cons (#{chi 4373}#
-                                            #{i 35415}#
-                                            #{r* 35407}#
-                                            #{w* 35408}#
-                                            #{mod 35018}#)
-                                          #{inits 35410}#)))))))
-                        #{tmp 35412}#)
+                            (let ((#{l 34037}#
+                                    (#{gen-labels 4416}# (list #{v 34036}#))))
+                              (let ((#{r** 34038}#
+                                      (#{extend-var-env 4409}#
+                                        #{l 34037}#
+                                        (list #{v 34036}#)
+                                        #{r* 34027}#)))
+                                (let ((#{w** 34039}#
+                                        (#{make-binding-wrap 4427}#
+                                          (list #{id 34034}#)
+                                          #{l 34037}#
+                                          #{w* 34028}#)))
+                                  (#{expand-opt 33642}#
+                                    #{req 34021}#
+                                    (cdr #{opt 34022}#)
+                                    #{rest 34023}#
+                                    #{kw 34024}#
+                                    #{body 34025}#
+                                    (cons #{v 34036}# #{vars 34026}#)
+                                    #{r** 34038}#
+                                    #{w** 34039}#
+                                    (cons (syntax->datum #{id 34034}#)
+                                          #{out 34029}#)
+                                    (cons (#{chi 4446}#
+                                            #{i 34035}#
+                                            #{r* 34027}#
+                                            #{w* 34028}#
+                                            #{mod 33638}#)
+                                          #{inits 34030}#)))))))
+                        #{tmp 34032}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 35411}#))))
-                (if #{rest 35403}#
-                  (let ((#{v 35725}#
-                          (let ((#{id 35735}#
-                                  (if (if (vector? #{rest 35403}#)
-                                        (if (= (vector-length #{rest 35403}#)
+                        #{tmp 34031}#))))
+                (if #{rest 34023}#
+                  (let ((#{v 34345}#
+                          (let ((#{id 34355}#
+                                  (if (if (vector? #{rest 34023}#)
+                                        (if (= (vector-length #{rest 34023}#)
                                                4)
-                                          (eq? (vector-ref #{rest 35403}# 0)
+                                          (eq? (vector-ref #{rest 34023}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (vector-ref #{rest 35403}# 1)
-                                    #{rest 35403}#)))
+                                    (vector-ref #{rest 34023}# 1)
+                                    #{rest 34023}#)))
                             (gensym
                               (string-append
-                                (symbol->string #{id 35735}#)
+                                (symbol->string #{id 34355}#)
                                 " ")))))
-                    (let ((#{l 35726}#
-                            (#{gen-labels 4344}# (list #{v 35725}#))))
-                      (let ((#{r* 35727}#
-                              (#{extend-var-env 4336}#
-                                #{l 35726}#
-                                (list #{v 35725}#)
-                                #{r* 35407}#)))
-                        (let ((#{w* 35728}#
-                                (#{make-binding-wrap 4355}#
-                                  (list #{rest 35403}#)
-                                  #{l 35726}#
-                                  #{w* 35408}#)))
-                          (#{expand-kw 35023}#
-                            #{req 35401}#
-                            (if (pair? #{out 35409}#)
-                              (reverse #{out 35409}#)
+                    (let ((#{l 34346}#
+                            (#{gen-labels 4416}# (list #{v 34345}#))))
+                      (let ((#{r* 34347}#
+                              (#{extend-var-env 4409}#
+                                #{l 34346}#
+                                (list #{v 34345}#)
+                                #{r* 34027}#)))
+                        (let ((#{w* 34348}#
+                                (#{make-binding-wrap 4427}#
+                                  (list #{rest 34023}#)
+                                  #{l 34346}#
+                                  #{w* 34028}#)))
+                          (#{expand-kw 33643}#
+                            #{req 34021}#
+                            (if (pair? #{out 34029}#)
+                              (reverse #{out 34029}#)
                               #f)
-                            (syntax->datum #{rest 35403}#)
-                            (if (pair? #{kw 35404}#)
-                              (cdr #{kw 35404}#)
-                              #{kw 35404}#)
-                            #{body 35405}#
-                            (cons #{v 35725}# #{vars 35406}#)
-                            #{r* 35727}#
-                            #{w* 35728}#
-                            (if (pair? #{kw 35404}#) (car #{kw 35404}#) #f)
+                            (syntax->datum #{rest 34023}#)
+                            (if (pair? #{kw 34024}#)
+                              (cdr #{kw 34024}#)
+                              #{kw 34024}#)
+                            #{body 34025}#
+                            (cons #{v 34345}# #{vars 34026}#)
+                            #{r* 34347}#
+                            #{w* 34348}#
+                            (if (pair? #{kw 34024}#) (car #{kw 34024}#) #f)
                             '()
-                            #{inits 35410}#)))))
-                  (#{expand-kw 35023}#
-                    #{req 35401}#
-                    (if (pair? #{out 35409}#)
-                      (reverse #{out 35409}#)
+                            #{inits 34030}#)))))
+                  (#{expand-kw 33643}#
+                    #{req 34021}#
+                    (if (pair? #{out 34029}#)
+                      (reverse #{out 34029}#)
                       #f)
                     #f
-                    (if (pair? #{kw 35404}#)
-                      (cdr #{kw 35404}#)
-                      #{kw 35404}#)
-                    #{body 35405}#
-                    #{vars 35406}#
-                    #{r* 35407}#
-                    #{w* 35408}#
-                    (if (pair? #{kw 35404}#) (car #{kw 35404}#) #f)
+                    (if (pair? #{kw 34024}#)
+                      (cdr #{kw 34024}#)
+                      #{kw 34024}#)
+                    #{body 34025}#
+                    #{vars 34026}#
+                    #{r* 34027}#
+                    #{w* 34028}#
+                    (if (pair? #{kw 34024}#) (car #{kw 34024}#) #f)
                     '()
-                    #{inits 35410}#)))))
-          (#{expand-kw 35023}#
-            (lambda (#{req 35957}#
-                     #{opt 35958}#
-                     #{rest 35959}#
-                     #{kw 35960}#
-                     #{body 35961}#
-                     #{vars 35962}#
-                     #{r* 35963}#
-                     #{w* 35964}#
-                     #{aok 35965}#
-                     #{out 35966}#
-                     #{inits 35967}#)
-              (if (pair? #{kw 35960}#)
-                (let ((#{tmp 35968}# (car #{kw 35960}#)))
-                  (let ((#{tmp 35969}#
-                          ($sc-dispatch #{tmp 35968}# '(any any any))))
-                    (if #{tmp 35969}#
+                    #{inits 34030}#)))))
+          (#{expand-kw 33643}#
+            (lambda (#{req 34577}#
+                     #{opt 34578}#
+                     #{rest 34579}#
+                     #{kw 34580}#
+                     #{body 34581}#
+                     #{vars 34582}#
+                     #{r* 34583}#
+                     #{w* 34584}#
+                     #{aok 34585}#
+                     #{out 34586}#
+                     #{inits 34587}#)
+              (if (pair? #{kw 34580}#)
+                (let ((#{tmp 34588}# (car #{kw 34580}#)))
+                  (let ((#{tmp 34589}#
+                          ($sc-dispatch #{tmp 34588}# '(any any any))))
+                    (if #{tmp 34589}#
                       (@apply
-                        (lambda (#{k 35971}# #{id 35972}# #{i 35973}#)
-                          (let ((#{v 35974}#
-                                  (let ((#{id 35982}#
-                                          (if (if (vector? #{id 35972}#)
+                        (lambda (#{k 34591}# #{id 34592}# #{i 34593}#)
+                          (let ((#{v 34594}#
+                                  (let ((#{id 34602}#
+                                          (if (if (vector? #{id 34592}#)
                                                 (if (= (vector-length
-                                                         #{id 35972}#)
+                                                         #{id 34592}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{id 35972}#
+                                                         #{id 34592}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
-                                            (vector-ref #{id 35972}# 1)
-                                            #{id 35972}#)))
+                                            (vector-ref #{id 34592}# 1)
+                                            #{id 34592}#)))
                                     (gensym
                                       (string-append
-                                        (symbol->string #{id 35982}#)
+                                        (symbol->string #{id 34602}#)
                                         " ")))))
-                            (let ((#{l 35975}#
-                                    (#{gen-labels 4344}# (list #{v 35974}#))))
-                              (let ((#{r** 35976}#
-                                      (#{extend-var-env 4336}#
-                                        #{l 35975}#
-                                        (list #{v 35974}#)
-                                        #{r* 35963}#)))
-                                (let ((#{w** 35977}#
-                                        (#{make-binding-wrap 4355}#
-                                          (list #{id 35972}#)
-                                          #{l 35975}#
-                                          #{w* 35964}#)))
-                                  (#{expand-kw 35023}#
-                                    #{req 35957}#
-                                    #{opt 35958}#
-                                    #{rest 35959}#
-                                    (cdr #{kw 35960}#)
-                                    #{body 35961}#
-                                    (cons #{v 35974}# #{vars 35962}#)
-                                    #{r** 35976}#
-                                    #{w** 35977}#
-                                    #{aok 35965}#
-                                    (cons (list (syntax->datum #{k 35971}#)
-                                                (syntax->datum #{id 35972}#)
-                                                #{v 35974}#)
-                                          #{out 35966}#)
-                                    (cons (#{chi 4373}#
-                                            #{i 35973}#
-                                            #{r* 35963}#
-                                            #{w* 35964}#
-                                            #{mod 35018}#)
-                                          #{inits 35967}#)))))))
-                        #{tmp 35969}#)
+                            (let ((#{l 34595}#
+                                    (#{gen-labels 4416}# (list #{v 34594}#))))
+                              (let ((#{r** 34596}#
+                                      (#{extend-var-env 4409}#
+                                        #{l 34595}#
+                                        (list #{v 34594}#)
+                                        #{r* 34583}#)))
+                                (let ((#{w** 34597}#
+                                        (#{make-binding-wrap 4427}#
+                                          (list #{id 34592}#)
+                                          #{l 34595}#
+                                          #{w* 34584}#)))
+                                  (#{expand-kw 33643}#
+                                    #{req 34577}#
+                                    #{opt 34578}#
+                                    #{rest 34579}#
+                                    (cdr #{kw 34580}#)
+                                    #{body 34581}#
+                                    (cons #{v 34594}# #{vars 34582}#)
+                                    #{r** 34596}#
+                                    #{w** 34597}#
+                                    #{aok 34585}#
+                                    (cons (list (syntax->datum #{k 34591}#)
+                                                (syntax->datum #{id 34592}#)
+                                                #{v 34594}#)
+                                          #{out 34586}#)
+                                    (cons (#{chi 4446}#
+                                            #{i 34593}#
+                                            #{r* 34583}#
+                                            #{w* 34584}#
+                                            #{mod 33638}#)
+                                          #{inits 34587}#)))))))
+                        #{tmp 34589}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp 35968}#))))
-                (#{expand-body 35024}#
-                  #{req 35957}#
-                  #{opt 35958}#
-                  #{rest 35959}#
-                  (if (if #{aok 35965}#
-                        #{aok 35965}#
-                        (pair? #{out 35966}#))
-                    (cons #{aok 35965}# (reverse #{out 35966}#))
+                        #{tmp 34588}#))))
+                (#{expand-body 33644}#
+                  #{req 34577}#
+                  #{opt 34578}#
+                  #{rest 34579}#
+                  (if (if #{aok 34585}#
+                        #{aok 34585}#
+                        (pair? #{out 34586}#))
+                    (cons #{aok 34585}# (reverse #{out 34586}#))
                     #f)
-                  #{body 35961}#
-                  (reverse #{vars 35962}#)
-                  #{r* 35963}#
-                  #{w* 35964}#
-                  (reverse #{inits 35967}#)
+                  #{body 34581}#
+                  (reverse #{vars 34582}#)
+                  #{r* 34583}#
+                  #{w* 34584}#
+                  (reverse #{inits 34587}#)
                   '()))))
-          (#{expand-body 35024}#
-            (lambda (#{req 36292}#
-                     #{opt 36293}#
-                     #{rest 36294}#
-                     #{kw 36295}#
-                     #{body 36296}#
-                     #{vars 36297}#
-                     #{r* 36298}#
-                     #{w* 36299}#
-                     #{inits 36300}#
-                     #{meta 36301}#)
-              (let ((#{tmp 36303}#
+          (#{expand-body 33644}#
+            (lambda (#{req 34912}#
+                     #{opt 34913}#
+                     #{rest 34914}#
+                     #{kw 34915}#
+                     #{body 34916}#
+                     #{vars 34917}#
+                     #{r* 34918}#
+                     #{w* 34919}#
+                     #{inits 34920}#
+                     #{meta 34921}#)
+              (let ((#{tmp 34923}#
                       ($sc-dispatch
-                        #{body 36296}#
+                        #{body 34916}#
                         '(any any . each-any))))
-                (if (if #{tmp 36303}#
+                (if (if #{tmp 34923}#
                       (@apply
-                        (lambda (#{docstring 36307}# #{e1 36308}# #{e2 36309}#)
-                          (string? (syntax->datum #{docstring 36307}#)))
-                        #{tmp 36303}#)
+                        (lambda (#{docstring 34927}# #{e1 34928}# #{e2 34929}#)
+                          (string? (syntax->datum #{docstring 34927}#)))
+                        #{tmp 34923}#)
                       #f)
                   (@apply
-                    (lambda (#{docstring 36310}# #{e1 36311}# #{e2 36312}#)
-                      (#{expand-body 35024}#
-                        #{req 36292}#
-                        #{opt 36293}#
-                        #{rest 36294}#
-                        #{kw 36295}#
-                        (cons #{e1 36311}# #{e2 36312}#)
-                        #{vars 36297}#
-                        #{r* 36298}#
-                        #{w* 36299}#
-                        #{inits 36300}#
+                    (lambda (#{docstring 34930}# #{e1 34931}# #{e2 34932}#)
+                      (#{expand-body 33644}#
+                        #{req 34912}#
+                        #{opt 34913}#
+                        #{rest 34914}#
+                        #{kw 34915}#
+                        (cons #{e1 34931}# #{e2 34932}#)
+                        #{vars 34917}#
+                        #{r* 34918}#
+                        #{w* 34919}#
+                        #{inits 34920}#
                         (append
-                          #{meta 36301}#
+                          #{meta 34921}#
                           (list (cons 'documentation
-                                      (syntax->datum #{docstring 36310}#))))))
-                    #{tmp 36303}#)
-                  (let ((#{tmp 36313}#
+                                      (syntax->datum #{docstring 34930}#))))))
+                    #{tmp 34923}#)
+                  (let ((#{tmp 34933}#
                           ($sc-dispatch
-                            #{body 36296}#
+                            #{body 34916}#
                             '(#(vector #(each (any . any))) any . each-any))))
-                    (if #{tmp 36313}#
+                    (if #{tmp 34933}#
                       (@apply
-                        (lambda (#{k 36317}#
-                                 #{v 36318}#
-                                 #{e1 36319}#
-                                 #{e2 36320}#)
-                          (#{expand-body 35024}#
-                            #{req 36292}#
-                            #{opt 36293}#
-                            #{rest 36294}#
-                            #{kw 36295}#
-                            (cons #{e1 36319}# #{e2 36320}#)
-                            #{vars 36297}#
-                            #{r* 36298}#
-                            #{w* 36299}#
-                            #{inits 36300}#
+                        (lambda (#{k 34937}#
+                                 #{v 34938}#
+                                 #{e1 34939}#
+                                 #{e2 34940}#)
+                          (#{expand-body 33644}#
+                            #{req 34912}#
+                            #{opt 34913}#
+                            #{rest 34914}#
+                            #{kw 34915}#
+                            (cons #{e1 34939}# #{e2 34940}#)
+                            #{vars 34917}#
+                            #{r* 34918}#
+                            #{w* 34919}#
+                            #{inits 34920}#
                             (append
-                              #{meta 36301}#
+                              #{meta 34921}#
                               (syntax->datum
-                                (map cons #{k 36317}# #{v 36318}#)))))
-                        #{tmp 36313}#)
-                      (let ((#{tmp 36321}#
-                              ($sc-dispatch #{body 36296}# '(any . each-any))))
-                        (if #{tmp 36321}#
+                                (map cons #{k 34937}# #{v 34938}#)))))
+                        #{tmp 34933}#)
+                      (let ((#{tmp 34941}#
+                              ($sc-dispatch #{body 34916}# '(any . each-any))))
+                        (if #{tmp 34941}#
                           (@apply
-                            (lambda (#{e1 36325}# #{e2 36326}#)
+                            (lambda (#{e1 34945}# #{e2 34946}#)
                               (values
-                                #{meta 36301}#
-                                #{req 36292}#
-                                #{opt 36293}#
-                                #{rest 36294}#
-                                #{kw 36295}#
-                                #{inits 36300}#
-                                #{vars 36297}#
-                                (#{chi-body 4377}#
-                                  (cons #{e1 36325}# #{e2 36326}#)
-                                  (let ((#{x 36338}#
+                                #{meta 34921}#
+                                #{req 34912}#
+                                #{opt 34913}#
+                                #{rest 34914}#
+                                #{kw 34915}#
+                                #{inits 34920}#
+                                #{vars 34917}#
+                                (#{chi-body 4450}#
+                                  (cons #{e1 34945}# #{e2 34946}#)
+                                  (let ((#{x 34958}#
                                           (begin
-                                            (if (if (pair? #{e 35014}#)
-                                                  #{s 35017}#
+                                            (if (if (pair? #{e 33634}#)
+                                                  #{s 33637}#
                                                   #f)
                                               (set-source-properties!
-                                                #{e 35014}#
-                                                #{s 35017}#))
-                                            #{e 35014}#)))
-                                    (if (if (null? (car #{w 35016}#))
-                                          (null? (cdr #{w 35016}#))
+                                                #{e 33634}#
+                                                #{s 33637}#))
+                                            #{e 33634}#)))
+                                    (if (if (null? (car #{w 33636}#))
+                                          (null? (cdr #{w 33636}#))
                                           #f)
-                                      #{x 36338}#
-                                      (if (if (vector? #{x 36338}#)
-                                            (if (= (vector-length #{x 36338}#)
+                                      #{x 34958}#
+                                      (if (if (vector? #{x 34958}#)
+                                            (if (= (vector-length #{x 34958}#)
                                                    4)
-                                              (eq? (vector-ref #{x 36338}# 0)
+                                              (eq? (vector-ref #{x 34958}# 0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (let ((#{expression 36370}#
-                                                (vector-ref #{x 36338}# 1))
-                                              (#{wrap 36371}#
-                                                (let ((#{w2 36379}#
+                                        (let ((#{expression 34990}#
+                                                (vector-ref #{x 34958}# 1))
+                                              (#{wrap 34991}#
+                                                (let ((#{w2 34999}#
                                                         (vector-ref
-                                                          #{x 36338}#
+                                                          #{x 34958}#
                                                           2)))
-                                                  (let ((#{m1 36380}#
-                                                          (car #{w 35016}#))
-                                                        (#{s1 36381}#
-                                                          (cdr #{w 35016}#)))
-                                                    (if (null? #{m1 36380}#)
-                                                      (if (null? #{s1 36381}#)
-                                                        #{w2 36379}#
-                                                        (cons (car #{w2 
36379}#)
-                                                              (let ((#{m2 
36396}#
-                                                                      (cdr 
#{w2 36379}#)))
-                                                                (if (null? 
#{m2 36396}#)
-                                                                  #{s1 36381}#
+                                                  (let ((#{m1 35000}#
+                                                          (car #{w 33636}#))
+                                                        (#{s1 35001}#
+                                                          (cdr #{w 33636}#)))
+                                                    (if (null? #{m1 35000}#)
+                                                      (if (null? #{s1 35001}#)
+                                                        #{w2 34999}#
+                                                        (cons (car #{w2 
34999}#)
+                                                              (let ((#{m2 
35016}#
+                                                                      (cdr 
#{w2 34999}#)))
+                                                                (if (null? 
#{m2 35016}#)
+                                                                  #{s1 35001}#
                                                                   (append
-                                                                    #{s1 
36381}#
-                                                                    #{m2 
36396}#)))))
-                                                      (cons (let ((#{m2 36404}#
-                                                                    (car #{w2 
36379}#)))
-                                                              (if (null? #{m2 
36404}#)
-                                                                #{m1 36380}#
+                                                                    #{s1 
35001}#
+                                                                    #{m2 
35016}#)))))
+                                                      (cons (let ((#{m2 35024}#
+                                                                    (car #{w2 
34999}#)))
+                                                              (if (null? #{m2 
35024}#)
+                                                                #{m1 35000}#
                                                                 (append
-                                                                  #{m1 36380}#
-                                                                  #{m2 
36404}#)))
-                                                            (let ((#{m2 36412}#
-                                                                    (cdr #{w2 
36379}#)))
-                                                              (if (null? #{m2 
36412}#)
-                                                                #{s1 36381}#
+                                                                  #{m1 35000}#
+                                                                  #{m2 
35024}#)))
+                                                            (let ((#{m2 35032}#
+                                                                    (cdr #{w2 
34999}#)))
+                                                              (if (null? #{m2 
35032}#)
+                                                                #{s1 35001}#
                                                                 (append
-                                                                  #{s1 36381}#
-                                                                  #{m2 
36412}#))))))))
-                                              (#{module 36372}#
-                                                (vector-ref #{x 36338}# 3)))
+                                                                  #{s1 35001}#
+                                                                  #{m2 
35032}#))))))))
+                                              (#{module 34992}#
+                                                (vector-ref #{x 34958}# 3)))
                                           (vector
                                             'syntax-object
-                                            #{expression 36370}#
-                                            #{wrap 36371}#
-                                            #{module 36372}#))
-                                        (if (null? #{x 36338}#)
-                                          #{x 36338}#
+                                            #{expression 34990}#
+                                            #{wrap 34991}#
+                                            #{module 34992}#))
+                                        (if (null? #{x 34958}#)
+                                          #{x 34958}#
                                           (vector
                                             'syntax-object
-                                            #{x 36338}#
-                                            #{w 35016}#
-                                            #{mod 35018}#)))))
-                                  #{r* 36298}#
-                                  #{w* 36299}#
-                                  #{mod 35018}#)))
-                            #{tmp 36321}#)
+                                            #{x 34958}#
+                                            #{w 33636}#
+                                            #{mod 33638}#)))))
+                                  #{r* 34918}#
+                                  #{w* 34919}#
+                                  #{mod 33638}#)))
+                            #{tmp 34941}#)
                           (syntax-violation
                             #f
                             "source expression failed to match any pattern"
-                            #{body 36296}#))))))))))
-         (let ((#{tmp 35026}#
-                 ($sc-dispatch #{clauses 35020}# '())))
-           (if #{tmp 35026}#
+                            #{body 34916}#))))))))))
+         (let ((#{tmp 33646}#
+                 ($sc-dispatch #{clauses 33640}# '())))
+           (if #{tmp 33646}#
              (@apply
                (lambda () (values '() #f))
-               #{tmp 35026}#)
-             (let ((#{tmp 35031}#
+               #{tmp 33646}#)
+             (let ((#{tmp 33651}#
                      ($sc-dispatch
-                       #{clauses 35020}#
+                       #{clauses 33640}#
                        '((any any . each-any)
                          .
                          #(each (any any . each-any))))))
-               (if #{tmp 35031}#
+               (if #{tmp 33651}#
                  (@apply
-                   (lambda (#{args 35035}#
-                            #{e1 35036}#
-                            #{e2 35037}#
-                            #{args* 35038}#
-                            #{e1* 35039}#
-                            #{e2* 35040}#)
+                   (lambda (#{args 33655}#
+                            #{e1 33656}#
+                            #{e2 33657}#
+                            #{args* 33658}#
+                            #{e1* 33659}#
+                            #{e2* 33660}#)
                      (call-with-values
                        (lambda ()
-                         (#{get-formals 35019}# #{args 35035}#))
-                       (lambda (#{req 35041}#
-                                #{opt 35042}#
-                                #{rest 35043}#
-                                #{kw 35044}#)
+                         (#{get-formals 33639}# #{args 33655}#))
+                       (lambda (#{req 33661}#
+                                #{opt 33662}#
+                                #{rest 33663}#
+                                #{kw 33664}#)
                          (call-with-values
                            (lambda ()
-                             (#{expand-req 35021}#
-                               #{req 35041}#
-                               #{opt 35042}#
-                               #{rest 35043}#
-                               #{kw 35044}#
-                               (cons #{e1 35036}# #{e2 35037}#)))
-                           (lambda (#{meta 35113}#
-                                    #{req 35114}#
-                                    #{opt 35115}#
-                                    #{rest 35116}#
-                                    #{kw 35117}#
-                                    #{inits 35118}#
-                                    #{vars 35119}#
-                                    #{body 35120}#)
+                             (#{expand-req 33641}#
+                               #{req 33661}#
+                               #{opt 33662}#
+                               #{rest 33663}#
+                               #{kw 33664}#
+                               (cons #{e1 33656}# #{e2 33657}#)))
+                           (lambda (#{meta 33733}#
+                                    #{req 33734}#
+                                    #{opt 33735}#
+                                    #{rest 33736}#
+                                    #{kw 33737}#
+                                    #{inits 33738}#
+                                    #{vars 33739}#
+                                    #{body 33740}#)
                              (call-with-values
                                (lambda ()
-                                 (#{chi-lambda-case 4385}#
-                                   #{e 35014}#
-                                   #{r 35015}#
-                                   #{w 35016}#
-                                   #{s 35017}#
-                                   #{mod 35018}#
-                                   #{get-formals 35019}#
-                                   (map (lambda (#{tmp 2806 35121}#
-                                                 #{tmp 2805 35122}#
-                                                 #{tmp 2804 35123}#)
-                                          (cons #{tmp 2804 35123}#
-                                                (cons #{tmp 2805 35122}#
-                                                      #{tmp 2806 35121}#)))
-                                        #{e2* 35040}#
-                                        #{e1* 35039}#
-                                        #{args* 35038}#)))
-                               (lambda (#{meta* 35124}# #{else* 35125}#)
+                                 (#{chi-lambda-case 4458}#
+                                   #{e 33634}#
+                                   #{r 33635}#
+                                   #{w 33636}#
+                                   #{s 33637}#
+                                   #{mod 33638}#
+                                   #{get-formals 33639}#
+                                   (map (lambda (#{tmp 2886 33741}#
+                                                 #{tmp 2885 33742}#
+                                                 #{tmp 2884 33743}#)
+                                          (cons #{tmp 2884 33743}#
+                                                (cons #{tmp 2885 33742}#
+                                                      #{tmp 2886 33741}#)))
+                                        #{e2* 33660}#
+                                        #{e1* 33659}#
+                                        #{args* 33658}#)))
+                               (lambda (#{meta* 33744}# #{else* 33745}#)
                                  (values
-                                   (append #{meta 35113}# #{meta* 35124}#)
+                                   (append #{meta 33733}# #{meta* 33744}#)
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 15)
-                                     #{s 35017}#
-                                     #{req 35114}#
-                                     #{opt 35115}#
-                                     #{rest 35116}#
-                                     #{kw 35117}#
-                                     #{inits 35118}#
-                                     #{vars 35119}#
-                                     #{body 35120}#
-                                     #{else* 35125}#)))))))))
-                   #{tmp 35031}#)
+                                     #{s 33637}#
+                                     #{req 33734}#
+                                     #{opt 33735}#
+                                     #{rest 33736}#
+                                     #{kw 33737}#
+                                     #{inits 33738}#
+                                     #{vars 33739}#
+                                     #{body 33740}#
+                                     #{else* 33745}#)))))))))
+                   #{tmp 33651}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{clauses 35020}#))))))))
-   (#{strip 4386}#
-     (lambda (#{x 36439}# #{w 36440}#)
-       (if (memq 'top (car #{w 36440}#))
-         #{x 36439}#
+                   #{clauses 33640}#))))))))
+   (#{strip 4459}#
+     (lambda (#{x 35059}# #{w 35060}#)
+       (if (memq 'top (car #{w 35060}#))
+         #{x 35059}#
          (letrec*
-           ((#{f 36441}#
-              (lambda (#{x 36444}#)
-                (if (if (vector? #{x 36444}#)
-                      (if (= (vector-length #{x 36444}#) 4)
-                        (eq? (vector-ref #{x 36444}# 0) 'syntax-object)
+           ((#{f 35061}#
+              (lambda (#{x 35064}#)
+                (if (if (vector? #{x 35064}#)
+                      (if (= (vector-length #{x 35064}#) 4)
+                        (eq? (vector-ref #{x 35064}# 0) 'syntax-object)
                         #f)
                       #f)
-                  (#{strip 4386}#
-                    (vector-ref #{x 36444}# 1)
-                    (vector-ref #{x 36444}# 2))
-                  (if (pair? #{x 36444}#)
-                    (let ((#{a 36463}# (#{f 36441}# (car #{x 36444}#)))
-                          (#{d 36464}# (#{f 36441}# (cdr #{x 36444}#))))
-                      (if (if (eq? #{a 36463}# (car #{x 36444}#))
-                            (eq? #{d 36464}# (cdr #{x 36444}#))
+                  (#{strip 4459}#
+                    (vector-ref #{x 35064}# 1)
+                    (vector-ref #{x 35064}# 2))
+                  (if (pair? #{x 35064}#)
+                    (let ((#{a 35083}# (#{f 35061}# (car #{x 35064}#)))
+                          (#{d 35084}# (#{f 35061}# (cdr #{x 35064}#))))
+                      (if (if (eq? #{a 35083}# (car #{x 35064}#))
+                            (eq? #{d 35084}# (cdr #{x 35064}#))
                             #f)
-                        #{x 36444}#
-                        (cons #{a 36463}# #{d 36464}#)))
-                    (if (vector? #{x 36444}#)
-                      (let ((#{old 36467}# (vector->list #{x 36444}#)))
-                        (let ((#{new 36468}# (map #{f 36441}# #{old 36467}#)))
+                        #{x 35064}#
+                        (cons #{a 35083}# #{d 35084}#)))
+                    (if (vector? #{x 35064}#)
+                      (let ((#{old 35087}# (vector->list #{x 35064}#)))
+                        (let ((#{new 35088}# (map #{f 35061}# #{old 35087}#)))
                           (letrec*
-                            ((#{lp 36469}#
-                               (lambda (#{l1 36566}# #{l2 36567}#)
-                                 (if (null? #{l1 36566}#)
-                                   #{x 36444}#
-                                   (if (eq? (car #{l1 36566}#)
-                                            (car #{l2 36567}#))
-                                     (#{lp 36469}#
-                                       (cdr #{l1 36566}#)
-                                       (cdr #{l2 36567}#))
-                                     (list->vector #{new 36468}#))))))
-                            (#{lp 36469}# #{old 36467}# #{new 36468}#))))
-                      #{x 36444}#))))))
-           (#{f 36441}# #{x 36439}#)))))
-   (#{gen-var 4387}#
-     (lambda (#{id 35169}#)
-       (let ((#{id 35170}#
-               (if (if (vector? #{id 35169}#)
-                     (if (= (vector-length #{id 35169}#) 4)
-                       (eq? (vector-ref #{id 35169}# 0) 'syntax-object)
+                            ((#{lp 35089}#
+                               (lambda (#{l1 35186}# #{l2 35187}#)
+                                 (if (null? #{l1 35186}#)
+                                   #{x 35064}#
+                                   (if (eq? (car #{l1 35186}#)
+                                            (car #{l2 35187}#))
+                                     (#{lp 35089}#
+                                       (cdr #{l1 35186}#)
+                                       (cdr #{l2 35187}#))
+                                     (list->vector #{new 35088}#))))))
+                            (#{lp 35089}# #{old 35087}# #{new 35088}#))))
+                      #{x 35064}#))))))
+           (#{f 35061}# #{x 35059}#)))))
+   (#{gen-var 4460}#
+     (lambda (#{id 33789}#)
+       (let ((#{id 33790}#
+               (if (if (vector? #{id 33789}#)
+                     (if (= (vector-length #{id 33789}#) 4)
+                       (eq? (vector-ref #{id 33789}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (vector-ref #{id 35169}# 1)
-                 #{id 35169}#)))
+                 (vector-ref #{id 33789}# 1)
+                 #{id 33789}#)))
          (gensym
-           (string-append (symbol->string #{id 35170}#) " ")))))
-   (#{lambda-var-list 4388}#
-     (lambda (#{vars 36568}#)
+           (string-append (symbol->string #{id 33790}#) " ")))))
+   (#{lambda-var-list 4461}#
+     (lambda (#{vars 35188}#)
        (letrec*
-         ((#{lvl 36569}#
-            (lambda (#{vars 36572}# #{ls 36573}# #{w 36574}#)
-              (if (pair? #{vars 36572}#)
-                (#{lvl 36569}#
-                  (cdr #{vars 36572}#)
-                  (cons (let ((#{x 36578}# (car #{vars 36572}#)))
-                          (if (if (null? (car #{w 36574}#))
-                                (null? (cdr #{w 36574}#))
+         ((#{lvl 35189}#
+            (lambda (#{vars 35192}# #{ls 35193}# #{w 35194}#)
+              (if (pair? #{vars 35192}#)
+                (#{lvl 35189}#
+                  (cdr #{vars 35192}#)
+                  (cons (let ((#{x 35198}# (car #{vars 35192}#)))
+                          (if (if (null? (car #{w 35194}#))
+                                (null? (cdr #{w 35194}#))
                                 #f)
-                            #{x 36578}#
-                            (if (if (vector? #{x 36578}#)
-                                  (if (= (vector-length #{x 36578}#) 4)
-                                    (eq? (vector-ref #{x 36578}# 0)
+                            #{x 35198}#
+                            (if (if (vector? #{x 35198}#)
+                                  (if (= (vector-length #{x 35198}#) 4)
+                                    (eq? (vector-ref #{x 35198}# 0)
                                          'syntax-object)
                                     #f)
                                   #f)
-                              (let ((#{expression 36596}#
-                                      (vector-ref #{x 36578}# 1))
-                                    (#{wrap 36597}#
-                                      (let ((#{w2 36605}#
-                                              (vector-ref #{x 36578}# 2)))
-                                        (let ((#{m1 36606}# (car #{w 36574}#))
-                                              (#{s1 36607}# (cdr #{w 36574}#)))
-                                          (if (null? #{m1 36606}#)
-                                            (if (null? #{s1 36607}#)
-                                              #{w2 36605}#
-                                              (cons (car #{w2 36605}#)
-                                                    (let ((#{m2 36622}#
-                                                            (cdr #{w2 
36605}#)))
-                                                      (if (null? #{m2 36622}#)
-                                                        #{s1 36607}#
+                              (let ((#{expression 35216}#
+                                      (vector-ref #{x 35198}# 1))
+                                    (#{wrap 35217}#
+                                      (let ((#{w2 35225}#
+                                              (vector-ref #{x 35198}# 2)))
+                                        (let ((#{m1 35226}# (car #{w 35194}#))
+                                              (#{s1 35227}# (cdr #{w 35194}#)))
+                                          (if (null? #{m1 35226}#)
+                                            (if (null? #{s1 35227}#)
+                                              #{w2 35225}#
+                                              (cons (car #{w2 35225}#)
+                                                    (let ((#{m2 35242}#
+                                                            (cdr #{w2 
35225}#)))
+                                                      (if (null? #{m2 35242}#)
+                                                        #{s1 35227}#
                                                         (append
-                                                          #{s1 36607}#
-                                                          #{m2 36622}#)))))
-                                            (cons (let ((#{m2 36630}#
-                                                          (car #{w2 36605}#)))
-                                                    (if (null? #{m2 36630}#)
-                                                      #{m1 36606}#
+                                                          #{s1 35227}#
+                                                          #{m2 35242}#)))))
+                                            (cons (let ((#{m2 35250}#
+                                                          (car #{w2 35225}#)))
+                                                    (if (null? #{m2 35250}#)
+                                                      #{m1 35226}#
                                                       (append
-                                                        #{m1 36606}#
-                                                        #{m2 36630}#)))
-                                                  (let ((#{m2 36638}#
-                                                          (cdr #{w2 36605}#)))
-                                                    (if (null? #{m2 36638}#)
-                                                      #{s1 36607}#
+                                                        #{m1 35226}#
+                                                        #{m2 35250}#)))
+                                                  (let ((#{m2 35258}#
+                                                          (cdr #{w2 35225}#)))
+                                                    (if (null? #{m2 35258}#)
+                                                      #{s1 35227}#
                                                       (append
-                                                        #{s1 36607}#
-                                                        #{m2 36638}#))))))))
-                                    (#{module 36598}#
-                                      (vector-ref #{x 36578}# 3)))
+                                                        #{s1 35227}#
+                                                        #{m2 35258}#))))))))
+                                    (#{module 35218}#
+                                      (vector-ref #{x 35198}# 3)))
                                 (vector
                                   'syntax-object
-                                  #{expression 36596}#
-                                  #{wrap 36597}#
-                                  #{module 36598}#))
-                              (if (null? #{x 36578}#)
-                                #{x 36578}#
+                                  #{expression 35216}#
+                                  #{wrap 35217}#
+                                  #{module 35218}#))
+                              (if (null? #{x 35198}#)
+                                #{x 35198}#
                                 (vector
                                   'syntax-object
-                                  #{x 36578}#
-                                  #{w 36574}#
+                                  #{x 35198}#
+                                  #{w 35194}#
                                   #f)))))
-                        #{ls 36573}#)
-                  #{w 36574}#)
-                (if (if (symbol? #{vars 36572}#)
+                        #{ls 35193}#)
+                  #{w 35194}#)
+                (if (if (symbol? #{vars 35192}#)
                       #t
-                      (if (if (vector? #{vars 36572}#)
-                            (if (= (vector-length #{vars 36572}#) 4)
-                              (eq? (vector-ref #{vars 36572}# 0)
+                      (if (if (vector? #{vars 35192}#)
+                            (if (= (vector-length #{vars 35192}#) 4)
+                              (eq? (vector-ref #{vars 35192}# 0)
                                    'syntax-object)
                               #f)
                             #f)
-                        (symbol? (vector-ref #{vars 36572}# 1))
+                        (symbol? (vector-ref #{vars 35192}# 1))
                         #f))
-                  (cons (if (if (null? (car #{w 36574}#))
-                              (null? (cdr #{w 36574}#))
+                  (cons (if (if (null? (car #{w 35194}#))
+                              (null? (cdr #{w 35194}#))
                               #f)
-                          #{vars 36572}#
-                          (if (if (vector? #{vars 36572}#)
-                                (if (= (vector-length #{vars 36572}#) 4)
-                                  (eq? (vector-ref #{vars 36572}# 0)
+                          #{vars 35192}#
+                          (if (if (vector? #{vars 35192}#)
+                                (if (= (vector-length #{vars 35192}#) 4)
+                                  (eq? (vector-ref #{vars 35192}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (let ((#{expression 36708}#
-                                    (vector-ref #{vars 36572}# 1))
-                                  (#{wrap 36709}#
-                                    (let ((#{w2 36719}#
-                                            (vector-ref #{vars 36572}# 2)))
-                                      (let ((#{m1 36720}# (car #{w 36574}#))
-                                            (#{s1 36721}# (cdr #{w 36574}#)))
-                                        (if (null? #{m1 36720}#)
-                                          (if (null? #{s1 36721}#)
-                                            #{w2 36719}#
-                                            (cons (car #{w2 36719}#)
-                                                  (let ((#{m2 36738}#
-                                                          (cdr #{w2 36719}#)))
-                                                    (if (null? #{m2 36738}#)
-                                                      #{s1 36721}#
+                            (let ((#{expression 35328}#
+                                    (vector-ref #{vars 35192}# 1))
+                                  (#{wrap 35329}#
+                                    (let ((#{w2 35339}#
+                                            (vector-ref #{vars 35192}# 2)))
+                                      (let ((#{m1 35340}# (car #{w 35194}#))
+                                            (#{s1 35341}# (cdr #{w 35194}#)))
+                                        (if (null? #{m1 35340}#)
+                                          (if (null? #{s1 35341}#)
+                                            #{w2 35339}#
+                                            (cons (car #{w2 35339}#)
+                                                  (let ((#{m2 35358}#
+                                                          (cdr #{w2 35339}#)))
+                                                    (if (null? #{m2 35358}#)
+                                                      #{s1 35341}#
                                                       (append
-                                                        #{s1 36721}#
-                                                        #{m2 36738}#)))))
-                                          (cons (let ((#{m2 36746}#
-                                                        (car #{w2 36719}#)))
-                                                  (if (null? #{m2 36746}#)
-                                                    #{m1 36720}#
+                                                        #{s1 35341}#
+                                                        #{m2 35358}#)))))
+                                          (cons (let ((#{m2 35366}#
+                                                        (car #{w2 35339}#)))
+                                                  (if (null? #{m2 35366}#)
+                                                    #{m1 35340}#
                                                     (append
-                                                      #{m1 36720}#
-                                                      #{m2 36746}#)))
-                                                (let ((#{m2 36754}#
-                                                        (cdr #{w2 36719}#)))
-                                                  (if (null? #{m2 36754}#)
-                                                    #{s1 36721}#
+                                                      #{m1 35340}#
+                                                      #{m2 35366}#)))
+                                                (let ((#{m2 35374}#
+                                                        (cdr #{w2 35339}#)))
+                                                  (if (null? #{m2 35374}#)
+                                                    #{s1 35341}#
                                                     (append
-                                                      #{s1 36721}#
-                                                      #{m2 36754}#))))))))
-                                  (#{module 36710}#
-                                    (vector-ref #{vars 36572}# 3)))
+                                                      #{s1 35341}#
+                                                      #{m2 35374}#))))))))
+                                  (#{module 35330}#
+                                    (vector-ref #{vars 35192}# 3)))
                               (vector
                                 'syntax-object
-                                #{expression 36708}#
-                                #{wrap 36709}#
-                                #{module 36710}#))
-                            (if (null? #{vars 36572}#)
-                              #{vars 36572}#
+                                #{expression 35328}#
+                                #{wrap 35329}#
+                                #{module 35330}#))
+                            (if (null? #{vars 35192}#)
+                              #{vars 35192}#
                               (vector
                                 'syntax-object
-                                #{vars 36572}#
-                                #{w 36574}#
+                                #{vars 35192}#
+                                #{w 35194}#
                                 #f))))
-                        #{ls 36573}#)
-                  (if (null? #{vars 36572}#)
-                    #{ls 36573}#
-                    (if (if (vector? #{vars 36572}#)
-                          (if (= (vector-length #{vars 36572}#) 4)
-                            (eq? (vector-ref #{vars 36572}# 0)
+                        #{ls 35193}#)
+                  (if (null? #{vars 35192}#)
+                    #{ls 35193}#
+                    (if (if (vector? #{vars 35192}#)
+                          (if (= (vector-length #{vars 35192}#) 4)
+                            (eq? (vector-ref #{vars 35192}# 0)
                                  'syntax-object)
                             #f)
                           #f)
-                      (#{lvl 36569}#
-                        (vector-ref #{vars 36572}# 1)
-                        #{ls 36573}#
-                        (let ((#{w2 36795}# (vector-ref #{vars 36572}# 2)))
-                          (let ((#{m1 36796}# (car #{w 36574}#))
-                                (#{s1 36797}# (cdr #{w 36574}#)))
-                            (if (null? #{m1 36796}#)
-                              (if (null? #{s1 36797}#)
-                                #{w2 36795}#
-                                (cons (car #{w2 36795}#)
-                                      (let ((#{m2 36808}# (cdr #{w2 36795}#)))
-                                        (if (null? #{m2 36808}#)
-                                          #{s1 36797}#
+                      (#{lvl 35189}#
+                        (vector-ref #{vars 35192}# 1)
+                        #{ls 35193}#
+                        (let ((#{w2 35415}# (vector-ref #{vars 35192}# 2)))
+                          (let ((#{m1 35416}# (car #{w 35194}#))
+                                (#{s1 35417}# (cdr #{w 35194}#)))
+                            (if (null? #{m1 35416}#)
+                              (if (null? #{s1 35417}#)
+                                #{w2 35415}#
+                                (cons (car #{w2 35415}#)
+                                      (let ((#{m2 35428}# (cdr #{w2 35415}#)))
+                                        (if (null? #{m2 35428}#)
+                                          #{s1 35417}#
                                           (append
-                                            #{s1 36797}#
-                                            #{m2 36808}#)))))
-                              (cons (let ((#{m2 36816}# (car #{w2 36795}#)))
-                                      (if (null? #{m2 36816}#)
-                                        #{m1 36796}#
-                                        (append #{m1 36796}# #{m2 36816}#)))
-                                    (let ((#{m2 36824}# (cdr #{w2 36795}#)))
-                                      (if (null? #{m2 36824}#)
-                                        #{s1 36797}#
+                                            #{s1 35417}#
+                                            #{m2 35428}#)))))
+                              (cons (let ((#{m2 35436}# (car #{w2 35415}#)))
+                                      (if (null? #{m2 35436}#)
+                                        #{m1 35416}#
+                                        (append #{m1 35416}# #{m2 35436}#)))
+                                    (let ((#{m2 35444}# (cdr #{w2 35415}#)))
+                                      (if (null? #{m2 35444}#)
+                                        #{s1 35417}#
                                         (append
-                                          #{s1 36797}#
-                                          #{m2 36824}#))))))))
-                      (cons #{vars 36572}# #{ls 36573}#))))))))
-         (#{lvl 36569}# #{vars 36568}# '() '(()))))))
+                                          #{s1 35417}#
+                                          #{m2 35444}#))))))))
+                      (cons #{vars 35192}# #{ls 35193}#))))))))
+         (#{lvl 35189}# #{vars 35188}# '() '(()))))))
   (begin
     (module-define!
       (current-module)
@@ -8903,2101 +9091,2070 @@
         'let-syntax
         'local-syntax
         #f))
-    (#{global-extend 4339}#
+    (#{global-extend 4411}#
       'core
-      'fluid-let-syntax
-      (lambda (#{e 4515}#
-               #{r 4516}#
-               #{w 4517}#
-               #{s 4518}#
-               #{mod 4519}#)
-        (let ((#{tmp 4521}#
+      'syntax-parameterize
+      (lambda (#{e 4588}#
+               #{r 4589}#
+               #{w 4590}#
+               #{s 4591}#
+               #{mod 4592}#)
+        (let ((#{tmp 4594}#
                 ($sc-dispatch
-                  #{e 4515}#
+                  #{e 4588}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 4521}#
+          (if (if #{tmp 4594}#
                 (@apply
-                  (lambda (#{var 4525}#
-                           #{val 4526}#
-                           #{e1 4527}#
-                           #{e2 4528}#)
-                    (#{valid-bound-ids? 4363}# #{var 4525}#))
-                  #{tmp 4521}#)
+                  (lambda (#{var 4598}#
+                           #{val 4599}#
+                           #{e1 4600}#
+                           #{e2 4601}#)
+                    (#{valid-bound-ids? 4436}# #{var 4598}#))
+                  #{tmp 4594}#)
                 #f)
             (@apply
-              (lambda (#{var 4613}#
-                       #{val 4614}#
-                       #{e1 4615}#
-                       #{e2 4616}#)
-                (let ((#{names 4617}#
-                        (map (lambda (#{x 4883}#)
-                               (#{id-var-name 4360}# #{x 4883}# #{w 4517}#))
-                             #{var 4613}#)))
-                  (begin
-                    (for-each
-                      (lambda (#{id 4618}# #{n 4619}#)
-                        (let ((#{atom-key 4620}#
-                                (car (let ((#{t 4820}#
-                                             (assq #{n 4619}# #{r 4516}#)))
-                                       (if #{t 4820}#
-                                         (cdr #{t 4820}#)
-                                         (if (symbol? #{n 4619}#)
-                                           (let ((#{t 4825}#
-                                                   (begin
-                                                     (if (if (not #{mod 4519}#)
-                                                           (current-module)
-                                                           #f)
-                                                       (warn "module system is 
booted, we should have a module"
-                                                             #{n 4619}#))
-                                                     (let ((#{v 4862}#
-                                                             (module-variable
-                                                               (if #{mod 4519}#
-                                                                 
(resolve-module
-                                                                   (cdr #{mod 
4519}#))
-                                                                 
(current-module))
-                                                               #{n 4619}#)))
-                                                       (if #{v 4862}#
-                                                         (if (variable-bound?
-                                                               #{v 4862}#)
-                                                           (let ((#{val 4871}#
-                                                                   
(variable-ref
-                                                                     #{v 
4862}#)))
-                                                             (if (macro?
-                                                                   #{val 
4871}#)
-                                                               (if (macro-type
-                                                                     #{val 
4871}#)
-                                                                 (cons 
(macro-type
-                                                                         #{val 
4871}#)
-                                                                       
(macro-binding
-                                                                         #{val 
4871}#))
-                                                                 #f)
-                                                               #f))
-                                                           #f)
-                                                         #f)))))
-                                             (if #{t 4825}#
-                                               #{t 4825}#
-                                               '(global)))
-                                           '(displaced-lexical)))))))
-                          (if (let ((#{t 4653}# #{atom-key 4620}#))
-                                (eqv? #{t 4653}# 'displaced-lexical))
-                            (syntax-violation
-                              'fluid-let-syntax
-                              "identifier out of context"
-                              #{e 4515}#
-                              (let ((#{x 4725}#
-                                      (begin
-                                        (if (if (pair? #{id 4618}#)
-                                              #{s 4518}#
-                                              #f)
-                                          (set-source-properties!
-                                            #{id 4618}#
-                                            #{s 4518}#))
-                                        #{id 4618}#)))
-                                (if (if (null? (car #{w 4517}#))
-                                      (null? (cdr #{w 4517}#))
-                                      #f)
-                                  #{x 4725}#
-                                  (if (if (vector? #{x 4725}#)
-                                        (if (= (vector-length #{x 4725}#) 4)
-                                          (eq? (vector-ref #{x 4725}# 0)
-                                               'syntax-object)
-                                          #f)
-                                        #f)
-                                    (let ((#{expression 4757}#
-                                            (vector-ref #{x 4725}# 1))
-                                          (#{wrap 4758}#
-                                            (let ((#{w2 4766}#
-                                                    (vector-ref #{x 4725}# 2)))
-                                              (let ((#{m1 4767}#
-                                                      (car #{w 4517}#))
-                                                    (#{s1 4768}#
-                                                      (cdr #{w 4517}#)))
-                                                (if (null? #{m1 4767}#)
-                                                  (if (null? #{s1 4768}#)
-                                                    #{w2 4766}#
-                                                    (cons (car #{w2 4766}#)
-                                                          (let ((#{m2 4783}#
-                                                                  (cdr #{w2 
4766}#)))
-                                                            (if (null? #{m2 
4783}#)
-                                                              #{s1 4768}#
-                                                              (append
-                                                                #{s1 4768}#
-                                                                #{m2 
4783}#)))))
-                                                  (cons (let ((#{m2 4791}#
-                                                                (car #{w2 
4766}#)))
-                                                          (if (null? #{m2 
4791}#)
-                                                            #{m1 4767}#
-                                                            (append
-                                                              #{m1 4767}#
-                                                              #{m2 4791}#)))
-                                                        (let ((#{m2 4799}#
-                                                                (cdr #{w2 
4766}#)))
-                                                          (if (null? #{m2 
4799}#)
-                                                            #{s1 4768}#
-                                                            (append
-                                                              #{s1 4768}#
-                                                              #{m2 
4799}#))))))))
-                                          (#{module 4759}#
-                                            (vector-ref #{x 4725}# 3)))
-                                      (vector
-                                        'syntax-object
-                                        #{expression 4757}#
-                                        #{wrap 4758}#
-                                        #{module 4759}#))
-                                    (if (null? #{x 4725}#)
-                                      #{x 4725}#
-                                      (vector
-                                        'syntax-object
-                                        #{x 4725}#
-                                        #{w 4517}#
-                                        #{mod 4519}#)))))))))
-                      #{var 4613}#
-                      #{names 4617}#)
-                    (#{chi-body 4377}#
-                      (cons #{e1 4615}# #{e2 4616}#)
-                      (let ((#{x 4896}#
-                              (begin
-                                (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 4896}#
-                          (if (if (vector? #{x 4896}#)
-                                (if (= (vector-length #{x 4896}#) 4)
-                                  (eq? (vector-ref #{x 4896}# 0)
-                                       'syntax-object)
-                                  #f)
+              (lambda (#{var 4686}#
+                       #{val 4687}#
+                       #{e1 4688}#
+                       #{e2 4689}#)
+                (let ((#{names 4690}#
+                        (map (lambda (#{x 5039}#)
+                               (call-with-values
+                                 (lambda ()
+                                   (#{resolve-identifier 4433}#
+                                     #{x 5039}#
+                                     #{w 4590}#
+                                     #{r 4589}#
+                                     #{mod 4592}#
+                                     #f))
+                                 (lambda (#{type 5042}#
+                                          #{value 5043}#
+                                          #{mod 5044}#)
+                                   (if (eqv? #{type 5042}# 'displaced-lexical)
+                                     (syntax-violation
+                                       'syntax-parameterize
+                                       "identifier out of context"
+                                       #{e 4588}#
+                                       (let ((#{x 5057}#
+                                               (begin
+                                                 (if (if (pair? #{x 5039}#)
+                                                       #{s 4591}#
+                                                       #f)
+                                                   (set-source-properties!
+                                                     #{x 5039}#
+                                                     #{s 4591}#))
+                                                 #{x 5039}#)))
+                                         (if (if (null? (car #{w 4590}#))
+                                               (null? (cdr #{w 4590}#))
+                                               #f)
+                                           #{x 5057}#
+                                           (if (if (vector? #{x 5057}#)
+                                                 (if (= (vector-length
+                                                          #{x 5057}#)
+                                                        4)
+                                                   (eq? (vector-ref
+                                                          #{x 5057}#
+                                                          0)
+                                                        'syntax-object)
+                                                   #f)
+                                                 #f)
+                                             (let ((#{expression 5089}#
+                                                     (vector-ref #{x 5057}# 1))
+                                                   (#{wrap 5090}#
+                                                     (let ((#{w2 5098}#
+                                                             (vector-ref
+                                                               #{x 5057}#
+                                                               2)))
+                                                       (let ((#{m1 5099}#
+                                                               (car #{w 
4590}#))
+                                                             (#{s1 5100}#
+                                                               (cdr #{w 
4590}#)))
+                                                         (if (null? #{m1 
5099}#)
+                                                           (if (null? #{s1 
5100}#)
+                                                             #{w2 5098}#
+                                                             (cons (car #{w2 
5098}#)
+                                                                   (let ((#{m2 
5115}#
+                                                                           
(cdr #{w2 5098}#)))
+                                                                     (if 
(null? #{m2 5115}#)
+                                                                       #{s1 
5100}#
+                                                                       (append
+                                                                         #{s1 
5100}#
+                                                                         #{m2 
5115}#)))))
+                                                           (cons (let ((#{m2 
5123}#
+                                                                         (car 
#{w2 5098}#)))
+                                                                   (if (null? 
#{m2 5123}#)
+                                                                     #{m1 
5099}#
+                                                                     (append
+                                                                       #{m1 
5099}#
+                                                                       #{m2 
5123}#)))
+                                                                 (let ((#{m2 
5131}#
+                                                                         (cdr 
#{w2 5098}#)))
+                                                                   (if (null? 
#{m2 5131}#)
+                                                                     #{s1 
5100}#
+                                                                     (append
+                                                                       #{s1 
5100}#
+                                                                       #{m2 
5131}#))))))))
+                                                   (#{module 5091}#
+                                                     (vector-ref
+                                                       #{x 5057}#
+                                                       3)))
+                                               (vector
+                                                 'syntax-object
+                                                 #{expression 5089}#
+                                                 #{wrap 5090}#
+                                                 #{module 5091}#))
+                                             (if (null? #{x 5057}#)
+                                               #{x 5057}#
+                                               (vector
+                                                 'syntax-object
+                                                 #{x 5057}#
+                                                 #{w 4590}#
+                                                 #{mod 5044}#))))))
+                                     (if (eqv? #{type 5042}# 'syntax-parameter)
+                                       #{value 5043}#
+                                       (syntax-violation
+                                         'syntax-parameterize
+                                         "invalid syntax parameter"
+                                         #{e 4588}#
+                                         (let ((#{x 5158}#
+                                                 (begin
+                                                   (if (if (pair? #{x 5039}#)
+                                                         #{s 4591}#
+                                                         #f)
+                                                     (set-source-properties!
+                                                       #{x 5039}#
+                                                       #{s 4591}#))
+                                                   #{x 5039}#)))
+                                           (if (if (null? (car #{w 4590}#))
+                                                 (null? (cdr #{w 4590}#))
+                                                 #f)
+                                             #{x 5158}#
+                                             (if (if (vector? #{x 5158}#)
+                                                   (if (= (vector-length
+                                                            #{x 5158}#)
+                                                          4)
+                                                     (eq? (vector-ref
+                                                            #{x 5158}#
+                                                            0)
+                                                          'syntax-object)
+                                                     #f)
+                                                   #f)
+                                               (let ((#{expression 5190}#
+                                                       (vector-ref
+                                                         #{x 5158}#
+                                                         1))
+                                                     (#{wrap 5191}#
+                                                       (let ((#{w2 5199}#
+                                                               (vector-ref
+                                                                 #{x 5158}#
+                                                                 2)))
+                                                         (let ((#{m1 5200}#
+                                                                 (car #{w 
4590}#))
+                                                               (#{s1 5201}#
+                                                                 (cdr #{w 
4590}#)))
+                                                           (if (null? #{m1 
5200}#)
+                                                             (if (null? #{s1 
5201}#)
+                                                               #{w2 5199}#
+                                                               (cons (car #{w2 
5199}#)
+                                                                     (let 
((#{m2 5216}#
+                                                                             
(cdr #{w2 5199}#)))
+                                                                       (if 
(null? #{m2 5216}#)
+                                                                         #{s1 
5201}#
+                                                                         
(append
+                                                                           
#{s1 5201}#
+                                                                           
#{m2 5216}#)))))
+                                                             (cons (let ((#{m2 
5224}#
+                                                                           
(car #{w2 5199}#)))
+                                                                     (if 
(null? #{m2 5224}#)
+                                                                       #{m1 
5200}#
+                                                                       (append
+                                                                         #{m1 
5200}#
+                                                                         #{m2 
5224}#)))
+                                                                   (let ((#{m2 
5232}#
+                                                                           
(cdr #{w2 5199}#)))
+                                                                     (if 
(null? #{m2 5232}#)
+                                                                       #{s1 
5201}#
+                                                                       (append
+                                                                         #{s1 
5201}#
+                                                                         #{m2 
5232}#))))))))
+                                                     (#{module 5192}#
+                                                       (vector-ref
+                                                         #{x 5158}#
+                                                         3)))
+                                                 (vector
+                                                   'syntax-object
+                                                   #{expression 5190}#
+                                                   #{wrap 5191}#
+                                                   #{module 5192}#))
+                                               (if (null? #{x 5158}#)
+                                                 #{x 5158}#
+                                                 (vector
+                                                   'syntax-object
+                                                   #{x 5158}#
+                                                   #{w 4590}#
+                                                   #{mod 5044}#)))))))))))
+                             #{var 4686}#))
+                      (#{bindings 4691}#
+                        (let ((#{trans-r 5247}#
+                                (#{macros-only-env 4410}# #{r 4589}#)))
+                          (map (lambda (#{x 5248}#)
+                                 (cons 'macro
+                                       (#{eval-local-transformer 4452}#
+                                         (#{chi 4446}#
+                                           #{x 5248}#
+                                           #{trans-r 5247}#
+                                           #{w 4590}#
+                                           #{mod 4592}#)
+                                         #{mod 4592}#)))
+                               #{val 4687}#))))
+                  (#{chi-body 4450}#
+                    (cons #{e1 4688}# #{e2 4689}#)
+                    (let ((#{x 4703}#
+                            (begin
+                              (if (if (pair? #{e 4588}#) #{s 4591}# #f)
+                                (set-source-properties! #{e 4588}# #{s 4591}#))
+                              #{e 4588}#)))
+                      (if (if (null? (car #{w 4590}#))
+                            (null? (cdr #{w 4590}#))
+                            #f)
+                        #{x 4703}#
+                        (if (if (vector? #{x 4703}#)
+                              (if (= (vector-length #{x 4703}#) 4)
+                                (eq? (vector-ref #{x 4703}# 0) 'syntax-object)
                                 #f)
-                            (let ((#{expression 4928}#
-                                    (vector-ref #{x 4896}# 1))
-                                  (#{wrap 4929}#
-                                    (let ((#{w2 4937}#
-                                            (vector-ref #{x 4896}# 2)))
-                                      (let ((#{m1 4938}# (car #{w 4517}#))
-                                            (#{s1 4939}# (cdr #{w 4517}#)))
-                                        (if (null? #{m1 4938}#)
-                                          (if (null? #{s1 4939}#)
-                                            #{w2 4937}#
-                                            (cons (car #{w2 4937}#)
-                                                  (let ((#{m2 4954}#
-                                                          (cdr #{w2 4937}#)))
-                                                    (if (null? #{m2 4954}#)
-                                                      #{s1 4939}#
-                                                      (append
-                                                        #{s1 4939}#
-                                                        #{m2 4954}#)))))
-                                          (cons (let ((#{m2 4962}#
-                                                        (car #{w2 4937}#)))
-                                                  (if (null? #{m2 4962}#)
-                                                    #{m1 4938}#
-                                                    (append
-                                                      #{m1 4938}#
-                                                      #{m2 4962}#)))
-                                                (let ((#{m2 4970}#
-                                                        (cdr #{w2 4937}#)))
-                                                  (if (null? #{m2 4970}#)
-                                                    #{s1 4939}#
+                              #f)
+                          (let ((#{expression 4735}# (vector-ref #{x 4703}# 1))
+                                (#{wrap 4736}#
+                                  (let ((#{w2 4744}#
+                                          (vector-ref #{x 4703}# 2)))
+                                    (let ((#{m1 4745}# (car #{w 4590}#))
+                                          (#{s1 4746}# (cdr #{w 4590}#)))
+                                      (if (null? #{m1 4745}#)
+                                        (if (null? #{s1 4746}#)
+                                          #{w2 4744}#
+                                          (cons (car #{w2 4744}#)
+                                                (let ((#{m2 4761}#
+                                                        (cdr #{w2 4744}#)))
+                                                  (if (null? #{m2 4761}#)
+                                                    #{s1 4746}#
                                                     (append
-                                                      #{s1 4939}#
-                                                      #{m2 4970}#))))))))
-                                  (#{module 4930}# (vector-ref #{x 4896}# 3)))
-                              (vector
-                                'syntax-object
-                                #{expression 4928}#
-                                #{wrap 4929}#
-                                #{module 4930}#))
-                            (if (null? #{x 4896}#)
-                              #{x 4896}#
-                              (vector
-                                'syntax-object
-                                #{x 4896}#
-                                #{w 4517}#
-                                #{mod 4519}#)))))
-                      (#{extend-env 4335}#
-                        #{names 4617}#
-                        (let ((#{trans-r 5048}#
-                                (#{macros-only-env 4337}# #{r 4516}#)))
-                          (map (lambda (#{x 5049}#)
-                                 (cons 'macro
-                                       (#{eval-local-transformer 4379}#
-                                         (#{chi 4373}#
-                                           #{x 5049}#
-                                           #{trans-r 5048}#
-                                           #{w 4517}#
-                                           #{mod 4519}#)
-                                         #{mod 4519}#)))
-                               #{val 4614}#))
-                        #{r 4516}#)
-                      #{w 4517}#
-                      #{mod 4519}#))))
-              #{tmp 4521}#)
+                                                      #{s1 4746}#
+                                                      #{m2 4761}#)))))
+                                        (cons (let ((#{m2 4769}#
+                                                      (car #{w2 4744}#)))
+                                                (if (null? #{m2 4769}#)
+                                                  #{m1 4745}#
+                                                  (append
+                                                    #{m1 4745}#
+                                                    #{m2 4769}#)))
+                                              (let ((#{m2 4777}#
+                                                      (cdr #{w2 4744}#)))
+                                                (if (null? #{m2 4777}#)
+                                                  #{s1 4746}#
+                                                  (append
+                                                    #{s1 4746}#
+                                                    #{m2 4777}#))))))))
+                                (#{module 4737}# (vector-ref #{x 4703}# 3)))
+                            (vector
+                              'syntax-object
+                              #{expression 4735}#
+                              #{wrap 4736}#
+                              #{module 4737}#))
+                          (if (null? #{x 4703}#)
+                            #{x 4703}#
+                            (vector
+                              'syntax-object
+                              #{x 4703}#
+                              #{w 4590}#
+                              #{mod 4592}#)))))
+                    (#{extend-env 4408}#
+                      #{names 4690}#
+                      #{bindings 4691}#
+                      #{r 4589}#)
+                    #{w 4590}#
+                    #{mod 4592}#)))
+              #{tmp 4594}#)
             (syntax-violation
-              'fluid-let-syntax
+              'syntax-parameterize
               "bad syntax"
-              (let ((#{x 5265}#
+              (let ((#{x 5472}#
                       (begin
-                        (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}#))
+                        (if (if (pair? #{e 4588}#) #{s 4591}# #f)
+                          (set-source-properties! #{e 4588}# #{s 4591}#))
+                        #{e 4588}#)))
+                (if (if (null? (car #{w 4590}#))
+                      (null? (cdr #{w 4590}#))
                       #f)
-                  #{x 5265}#
-                  (if (if (vector? #{x 5265}#)
-                        (if (= (vector-length #{x 5265}#) 4)
-                          (eq? (vector-ref #{x 5265}# 0) 'syntax-object)
+                  #{x 5472}#
+                  (if (if (vector? #{x 5472}#)
+                        (if (= (vector-length #{x 5472}#) 4)
+                          (eq? (vector-ref #{x 5472}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 5297}# (vector-ref #{x 5265}# 1))
-                          (#{wrap 5298}#
-                            (let ((#{w2 5306}# (vector-ref #{x 5265}# 2)))
-                              (let ((#{m1 5307}# (car #{w 4517}#))
-                                    (#{s1 5308}# (cdr #{w 4517}#)))
-                                (if (null? #{m1 5307}#)
-                                  (if (null? #{s1 5308}#)
-                                    #{w2 5306}#
-                                    (cons (car #{w2 5306}#)
-                                          (let ((#{m2 5323}#
-                                                  (cdr #{w2 5306}#)))
-                                            (if (null? #{m2 5323}#)
-                                              #{s1 5308}#
+                    (let ((#{expression 5504}# (vector-ref #{x 5472}# 1))
+                          (#{wrap 5505}#
+                            (let ((#{w2 5513}# (vector-ref #{x 5472}# 2)))
+                              (let ((#{m1 5514}# (car #{w 4590}#))
+                                    (#{s1 5515}# (cdr #{w 4590}#)))
+                                (if (null? #{m1 5514}#)
+                                  (if (null? #{s1 5515}#)
+                                    #{w2 5513}#
+                                    (cons (car #{w2 5513}#)
+                                          (let ((#{m2 5530}#
+                                                  (cdr #{w2 5513}#)))
+                                            (if (null? #{m2 5530}#)
+                                              #{s1 5515}#
                                               (append
-                                                #{s1 5308}#
-                                                #{m2 5323}#)))))
-                                  (cons (let ((#{m2 5331}# (car #{w2 5306}#)))
-                                          (if (null? #{m2 5331}#)
-                                            #{m1 5307}#
-                                            (append #{m1 5307}# #{m2 5331}#)))
-                                        (let ((#{m2 5339}# (cdr #{w2 5306}#)))
-                                          (if (null? #{m2 5339}#)
-                                            #{s1 5308}#
+                                                #{s1 5515}#
+                                                #{m2 5530}#)))))
+                                  (cons (let ((#{m2 5538}# (car #{w2 5513}#)))
+                                          (if (null? #{m2 5538}#)
+                                            #{m1 5514}#
+                                            (append #{m1 5514}# #{m2 5538}#)))
+                                        (let ((#{m2 5546}# (cdr #{w2 5513}#)))
+                                          (if (null? #{m2 5546}#)
+                                            #{s1 5515}#
                                             (append
-                                              #{s1 5308}#
-                                              #{m2 5339}#))))))))
-                          (#{module 5299}# (vector-ref #{x 5265}# 3)))
+                                              #{s1 5515}#
+                                              #{m2 5546}#))))))))
+                          (#{module 5506}# (vector-ref #{x 5472}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 5297}#
-                        #{wrap 5298}#
-                        #{module 5299}#))
-                    (if (null? #{x 5265}#)
-                      #{x 5265}#
+                        #{expression 5504}#
+                        #{wrap 5505}#
+                        #{module 5506}#))
+                    (if (null? #{x 5472}#)
+                      #{x 5472}#
                       (vector
                         'syntax-object
-                        #{x 5265}#
-                        #{w 4517}#
-                        #{mod 4519}#))))))))))
+                        #{x 5472}#
+                        #{w 4590}#
+                        #{mod 4592}#))))))))))
     (module-define!
       (current-module)
       'quote
       (make-syntax-transformer
         'quote
         'core
-        (lambda (#{e 5367}#
-                 #{r 5368}#
-                 #{w 5369}#
-                 #{s 5370}#
-                 #{mod 5371}#)
-          (let ((#{tmp 5373}# ($sc-dispatch #{e 5367}# '(_ any))))
-            (if #{tmp 5373}#
+        (lambda (#{e 5574}#
+                 #{r 5575}#
+                 #{w 5576}#
+                 #{s 5577}#
+                 #{mod 5578}#)
+          (let ((#{tmp 5580}# ($sc-dispatch #{e 5574}# '(_ any))))
+            (if #{tmp 5580}#
               (@apply
-                (lambda (#{e 5376}#)
-                  (let ((#{exp 5380}#
-                          (#{strip 4386}# #{e 5376}# #{w 5369}#)))
+                (lambda (#{e 5583}#)
+                  (let ((#{exp 5587}#
+                          (#{strip 4459}# #{e 5583}# #{w 5576}#)))
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 1)
-                      #{s 5370}#
-                      #{exp 5380}#)))
-                #{tmp 5373}#)
+                      #{s 5577}#
+                      #{exp 5587}#)))
+                #{tmp 5580}#)
               (syntax-violation
                 'quote
                 "bad syntax"
-                (let ((#{x 5394}#
+                (let ((#{x 5601}#
                         (begin
-                          (if (if (pair? #{e 5367}#) #{s 5370}# #f)
-                            (set-source-properties! #{e 5367}# #{s 5370}#))
-                          #{e 5367}#)))
-                  (if (if (null? (car #{w 5369}#))
-                        (null? (cdr #{w 5369}#))
+                          (if (if (pair? #{e 5574}#) #{s 5577}# #f)
+                            (set-source-properties! #{e 5574}# #{s 5577}#))
+                          #{e 5574}#)))
+                  (if (if (null? (car #{w 5576}#))
+                        (null? (cdr #{w 5576}#))
                         #f)
-                    #{x 5394}#
-                    (if (if (vector? #{x 5394}#)
-                          (if (= (vector-length #{x 5394}#) 4)
-                            (eq? (vector-ref #{x 5394}# 0) 'syntax-object)
+                    #{x 5601}#
+                    (if (if (vector? #{x 5601}#)
+                          (if (= (vector-length #{x 5601}#) 4)
+                            (eq? (vector-ref #{x 5601}# 0) 'syntax-object)
                             #f)
                           #f)
-                      (let ((#{expression 5426}# (vector-ref #{x 5394}# 1))
-                            (#{wrap 5427}#
-                              (let ((#{w2 5435}# (vector-ref #{x 5394}# 2)))
-                                (let ((#{m1 5436}# (car #{w 5369}#))
-                                      (#{s1 5437}# (cdr #{w 5369}#)))
-                                  (if (null? #{m1 5436}#)
-                                    (if (null? #{s1 5437}#)
-                                      #{w2 5435}#
-                                      (cons (car #{w2 5435}#)
-                                            (let ((#{m2 5452}#
-                                                    (cdr #{w2 5435}#)))
-                                              (if (null? #{m2 5452}#)
-                                                #{s1 5437}#
+                      (let ((#{expression 5633}# (vector-ref #{x 5601}# 1))
+                            (#{wrap 5634}#
+                              (let ((#{w2 5642}# (vector-ref #{x 5601}# 2)))
+                                (let ((#{m1 5643}# (car #{w 5576}#))
+                                      (#{s1 5644}# (cdr #{w 5576}#)))
+                                  (if (null? #{m1 5643}#)
+                                    (if (null? #{s1 5644}#)
+                                      #{w2 5642}#
+                                      (cons (car #{w2 5642}#)
+                                            (let ((#{m2 5659}#
+                                                    (cdr #{w2 5642}#)))
+                                              (if (null? #{m2 5659}#)
+                                                #{s1 5644}#
                                                 (append
-                                                  #{s1 5437}#
-                                                  #{m2 5452}#)))))
-                                    (cons (let ((#{m2 5460}#
-                                                  (car #{w2 5435}#)))
-                                            (if (null? #{m2 5460}#)
-                                              #{m1 5436}#
+                                                  #{s1 5644}#
+                                                  #{m2 5659}#)))))
+                                    (cons (let ((#{m2 5667}#
+                                                  (car #{w2 5642}#)))
+                                            (if (null? #{m2 5667}#)
+                                              #{m1 5643}#
                                               (append
-                                                #{m1 5436}#
-                                                #{m2 5460}#)))
-                                          (let ((#{m2 5468}#
-                                                  (cdr #{w2 5435}#)))
-                                            (if (null? #{m2 5468}#)
-                                              #{s1 5437}#
+                                                #{m1 5643}#
+                                                #{m2 5667}#)))
+                                          (let ((#{m2 5675}#
+                                                  (cdr #{w2 5642}#)))
+                                            (if (null? #{m2 5675}#)
+                                              #{s1 5644}#
                                               (append
-                                                #{s1 5437}#
-                                                #{m2 5468}#))))))))
-                            (#{module 5428}# (vector-ref #{x 5394}# 3)))
+                                                #{s1 5644}#
+                                                #{m2 5675}#))))))))
+                            (#{module 5635}# (vector-ref #{x 5601}# 3)))
                         (vector
                           'syntax-object
-                          #{expression 5426}#
-                          #{wrap 5427}#
-                          #{module 5428}#))
-                      (if (null? #{x 5394}#)
-                        #{x 5394}#
+                          #{expression 5633}#
+                          #{wrap 5634}#
+                          #{module 5635}#))
+                      (if (null? #{x 5601}#)
+                        #{x 5601}#
                         (vector
                           'syntax-object
-                          #{x 5394}#
-                          #{w 5369}#
-                          #{mod 5371}#)))))))))))
-    (#{global-extend 4339}#
+                          #{x 5601}#
+                          #{w 5576}#
+                          #{mod 5578}#)))))))))))
+    (#{global-extend 4411}#
       'core
       'syntax
       (letrec*
-        ((#{gen-syntax 5708}#
-           (lambda (#{src 6171}#
-                    #{e 6172}#
-                    #{r 6173}#
-                    #{maps 6174}#
-                    #{ellipsis? 6175}#
-                    #{mod 6176}#)
-             (if (if (symbol? #{e 6172}#)
+        ((#{gen-syntax 5899}#
+           (lambda (#{src 6362}#
+                    #{e 6363}#
+                    #{r 6364}#
+                    #{maps 6365}#
+                    #{ellipsis? 6366}#
+                    #{mod 6367}#)
+             (if (if (symbol? #{e 6363}#)
                    #t
-                   (if (if (vector? #{e 6172}#)
-                         (if (= (vector-length #{e 6172}#) 4)
-                           (eq? (vector-ref #{e 6172}# 0) 'syntax-object)
+                   (if (if (vector? #{e 6363}#)
+                         (if (= (vector-length #{e 6363}#) 4)
+                           (eq? (vector-ref #{e 6363}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{e 6172}# 1))
+                     (symbol? (vector-ref #{e 6363}# 1))
                      #f))
-               (let ((#{label 6203}#
-                       (#{id-var-name 4360}# #{e 6172}# '(()))))
-                 (let ((#{b 6204}#
-                         (let ((#{t 6341}# (assq #{label 6203}# #{r 6173}#)))
-                           (if #{t 6341}#
-                             (cdr #{t 6341}#)
-                             (if (symbol? #{label 6203}#)
-                               (let ((#{t 6346}#
-                                       (begin
-                                         (if (if (not #{mod 6176}#)
-                                               (current-module)
-                                               #f)
-                                           (warn "module system is booted, we 
should have a module"
-                                                 #{label 6203}#))
-                                         (let ((#{v 6383}#
-                                                 (module-variable
-                                                   (if #{mod 6176}#
-                                                     (resolve-module
-                                                       (cdr #{mod 6176}#))
-                                                     (current-module))
-                                                   #{label 6203}#)))
-                                           (if #{v 6383}#
-                                             (if (variable-bound? #{v 6383}#)
-                                               (let ((#{val 6392}#
-                                                       (variable-ref
-                                                         #{v 6383}#)))
-                                                 (if (macro? #{val 6392}#)
-                                                   (if (macro-type
-                                                         #{val 6392}#)
-                                                     (cons (macro-type
-                                                             #{val 6392}#)
-                                                           (macro-binding
-                                                             #{val 6392}#))
-                                                     #f)
-                                                   #f))
-                                               #f)
-                                             #f)))))
-                                 (if #{t 6346}# #{t 6346}# '(global)))
-                               '(displaced-lexical))))))
-                   (if (eq? (car #{b 6204}#) 'syntax)
+               (call-with-values
+                 (lambda ()
+                   (#{resolve-identifier 4433}#
+                     #{e 6363}#
+                     '(())
+                     #{r 6364}#
+                     #{mod 6367}#
+                     #f))
+                 (lambda (#{type 6396}# #{value 6397}# #{mod 6398}#)
+                   (if (eqv? #{type 6396}# 'syntax)
                      (call-with-values
                        (lambda ()
-                         (let ((#{var.lev 6237}# (cdr #{b 6204}#)))
-                           (#{gen-ref 5709}#
-                             #{src 6171}#
-                             (car #{var.lev 6237}#)
-                             (cdr #{var.lev 6237}#)
-                             #{maps 6174}#)))
-                       (lambda (#{var 6333}# #{maps 6334}#)
-                         (values (list 'ref #{var 6333}#) #{maps 6334}#)))
-                     (if (#{ellipsis? 6175}# #{e 6172}#)
+                         (#{gen-ref 5900}#
+                           #{src 6362}#
+                           (car #{value 6397}#)
+                           (cdr #{value 6397}#)
+                           #{maps 6365}#))
+                       (lambda (#{var 6404}# #{maps 6405}#)
+                         (values (list 'ref #{var 6404}#) #{maps 6405}#)))
+                     (if (#{ellipsis? 6366}# #{e 6363}#)
                        (syntax-violation
                          'syntax
                          "misplaced ellipsis"
-                         #{src 6171}#)
-                       (values (list 'quote #{e 6172}#) #{maps 6174}#)))))
-               (let ((#{tmp 6404}#
-                       ($sc-dispatch #{e 6172}# '(any any))))
-                 (if (if #{tmp 6404}#
+                         #{src 6362}#)
+                       (values (list 'quote #{e 6363}#) #{maps 6365}#)))))
+               (let ((#{tmp 6407}#
+                       ($sc-dispatch #{e 6363}# '(any any))))
+                 (if (if #{tmp 6407}#
                        (@apply
-                         (lambda (#{dots 6408}# #{e 6409}#)
-                           (#{ellipsis? 6175}# #{dots 6408}#))
-                         #{tmp 6404}#)
+                         (lambda (#{dots 6411}# #{e 6412}#)
+                           (#{ellipsis? 6366}# #{dots 6411}#))
+                         #{tmp 6407}#)
                        #f)
                    (@apply
-                     (lambda (#{dots 6410}# #{e 6411}#)
-                       (#{gen-syntax 5708}#
-                         #{src 6171}#
-                         #{e 6411}#
-                         #{r 6173}#
-                         #{maps 6174}#
-                         (lambda (#{x 6412}#) #f)
-                         #{mod 6176}#))
-                     #{tmp 6404}#)
-                   (let ((#{tmp 6413}#
-                           ($sc-dispatch #{e 6172}# '(any any . any))))
-                     (if (if #{tmp 6413}#
+                     (lambda (#{dots 6413}# #{e 6414}#)
+                       (#{gen-syntax 5899}#
+                         #{src 6362}#
+                         #{e 6414}#
+                         #{r 6364}#
+                         #{maps 6365}#
+                         (lambda (#{x 6415}#) #f)
+                         #{mod 6367}#))
+                     #{tmp 6407}#)
+                   (let ((#{tmp 6416}#
+                           ($sc-dispatch #{e 6363}# '(any any . any))))
+                     (if (if #{tmp 6416}#
                            (@apply
-                             (lambda (#{x 6417}# #{dots 6418}# #{y 6419}#)
-                               (#{ellipsis? 6175}# #{dots 6418}#))
-                             #{tmp 6413}#)
+                             (lambda (#{x 6420}# #{dots 6421}# #{y 6422}#)
+                               (#{ellipsis? 6366}# #{dots 6421}#))
+                             #{tmp 6416}#)
                            #f)
                        (@apply
-                         (lambda (#{x 6420}# #{dots 6421}# #{y 6422}#)
+                         (lambda (#{x 6423}# #{dots 6424}# #{y 6425}#)
                            (letrec*
-                             ((#{f 6423}#
-                                (lambda (#{y 6431}# #{k 6432}#)
-                                  (let ((#{tmp 6434}#
+                             ((#{f 6426}#
+                                (lambda (#{y 6434}# #{k 6435}#)
+                                  (let ((#{tmp 6437}#
                                           ($sc-dispatch
-                                            #{y 6431}#
+                                            #{y 6434}#
                                             '(any . any))))
-                                    (if (if #{tmp 6434}#
+                                    (if (if #{tmp 6437}#
                                           (@apply
-                                            (lambda (#{dots 6438}# #{y 6439}#)
-                                              (#{ellipsis? 6175}#
-                                                #{dots 6438}#))
-                                            #{tmp 6434}#)
+                                            (lambda (#{dots 6441}# #{y 6442}#)
+                                              (#{ellipsis? 6366}#
+                                                #{dots 6441}#))
+                                            #{tmp 6437}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{dots 6440}# #{y 6441}#)
-                                          (#{f 6423}#
-                                            #{y 6441}#
-                                            (lambda (#{maps 6442}#)
+                                        (lambda (#{dots 6443}# #{y 6444}#)
+                                          (#{f 6426}#
+                                            #{y 6444}#
+                                            (lambda (#{maps 6445}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{k 6432}#
-                                                    (cons '() #{maps 6442}#)))
-                                                (lambda (#{x 6443}#
-                                                         #{maps 6444}#)
-                                                  (if (null? (car #{maps 
6444}#))
+                                                  (#{k 6435}#
+                                                    (cons '() #{maps 6445}#)))
+                                                (lambda (#{x 6446}#
+                                                         #{maps 6447}#)
+                                                  (if (null? (car #{maps 
6447}#))
                                                     (syntax-violation
                                                       'syntax
                                                       "extra ellipsis"
-                                                      #{src 6171}#)
+                                                      #{src 6362}#)
                                                     (values
-                                                      (let ((#{map-env 6448}#
-                                                              (car #{maps 
6444}#)))
+                                                      (let ((#{map-env 6451}#
+                                                              (car #{maps 
6447}#)))
                                                         (list 'apply
                                                               '(primitive
                                                                  append)
-                                                              (#{gen-map 5711}#
-                                                                #{x 6443}#
-                                                                #{map-env 
6448}#)))
-                                                      (cdr #{maps 
6444}#))))))))
-                                        #{tmp 6434}#)
+                                                              (#{gen-map 5902}#
+                                                                #{x 6446}#
+                                                                #{map-env 
6451}#)))
+                                                      (cdr #{maps 
6447}#))))))))
+                                        #{tmp 6437}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{gen-syntax 5708}#
-                                            #{src 6171}#
-                                            #{y 6431}#
-                                            #{r 6173}#
-                                            #{maps 6174}#
-                                            #{ellipsis? 6175}#
-                                            #{mod 6176}#))
-                                        (lambda (#{y 6451}# #{maps 6452}#)
+                                          (#{gen-syntax 5899}#
+                                            #{src 6362}#
+                                            #{y 6434}#
+                                            #{r 6364}#
+                                            #{maps 6365}#
+                                            #{ellipsis? 6366}#
+                                            #{mod 6367}#))
+                                        (lambda (#{y 6454}# #{maps 6455}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{k 6432}# #{maps 6452}#))
-                                            (lambda (#{x 6453}# #{maps 6454}#)
+                                              (#{k 6435}# #{maps 6455}#))
+                                            (lambda (#{x 6456}# #{maps 6457}#)
                                               (values
-                                                (if (equal? #{y 6451}# ''())
-                                                  #{x 6453}#
+                                                (if (equal? #{y 6454}# ''())
+                                                  #{x 6456}#
                                                   (list 'append
-                                                        #{x 6453}#
-                                                        #{y 6451}#))
-                                                #{maps 6454}#))))))))))
-                             (#{f 6423}#
-                               #{y 6422}#
-                               (lambda (#{maps 6426}#)
+                                                        #{x 6456}#
+                                                        #{y 6454}#))
+                                                #{maps 6457}#))))))))))
+                             (#{f 6426}#
+                               #{y 6425}#
+                               (lambda (#{maps 6429}#)
                                  (call-with-values
                                    (lambda ()
-                                     (#{gen-syntax 5708}#
-                                       #{src 6171}#
-                                       #{x 6420}#
-                                       #{r 6173}#
-                                       (cons '() #{maps 6426}#)
-                                       #{ellipsis? 6175}#
-                                       #{mod 6176}#))
-                                   (lambda (#{x 6427}# #{maps 6428}#)
-                                     (if (null? (car #{maps 6428}#))
+                                     (#{gen-syntax 5899}#
+                                       #{src 6362}#
+                                       #{x 6423}#
+                                       #{r 6364}#
+                                       (cons '() #{maps 6429}#)
+                                       #{ellipsis? 6366}#
+                                       #{mod 6367}#))
+                                   (lambda (#{x 6430}# #{maps 6431}#)
+                                     (if (null? (car #{maps 6431}#))
                                        (syntax-violation
                                          'syntax
                                          "extra ellipsis"
-                                         #{src 6171}#)
+                                         #{src 6362}#)
                                        (values
-                                         (#{gen-map 5711}#
-                                           #{x 6427}#
-                                           (car #{maps 6428}#))
-                                         (cdr #{maps 6428}#)))))))))
-                         #{tmp 6413}#)
-                       (let ((#{tmp 6470}#
-                               ($sc-dispatch #{e 6172}# '(any . any))))
-                         (if #{tmp 6470}#
+                                         (#{gen-map 5902}#
+                                           #{x 6430}#
+                                           (car #{maps 6431}#))
+                                         (cdr #{maps 6431}#)))))))))
+                         #{tmp 6416}#)
+                       (let ((#{tmp 6473}#
+                               ($sc-dispatch #{e 6363}# '(any . any))))
+                         (if #{tmp 6473}#
                            (@apply
-                             (lambda (#{x 6474}# #{y 6475}#)
+                             (lambda (#{x 6477}# #{y 6478}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{gen-syntax 5708}#
-                                     #{src 6171}#
-                                     #{x 6474}#
-                                     #{r 6173}#
-                                     #{maps 6174}#
-                                     #{ellipsis? 6175}#
-                                     #{mod 6176}#))
-                                 (lambda (#{x 6476}# #{maps 6477}#)
+                                   (#{gen-syntax 5899}#
+                                     #{src 6362}#
+                                     #{x 6477}#
+                                     #{r 6364}#
+                                     #{maps 6365}#
+                                     #{ellipsis? 6366}#
+                                     #{mod 6367}#))
+                                 (lambda (#{x 6479}# #{maps 6480}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 5708}#
-                                         #{src 6171}#
-                                         #{y 6475}#
-                                         #{r 6173}#
-                                         #{maps 6477}#
-                                         #{ellipsis? 6175}#
-                                         #{mod 6176}#))
-                                     (lambda (#{y 6478}# #{maps 6479}#)
+                                       (#{gen-syntax 5899}#
+                                         #{src 6362}#
+                                         #{y 6478}#
+                                         #{r 6364}#
+                                         #{maps 6480}#
+                                         #{ellipsis? 6366}#
+                                         #{mod 6367}#))
+                                     (lambda (#{y 6481}# #{maps 6482}#)
                                        (values
-                                         (let ((#{atom-key 6484}#
-                                                 (car #{y 6478}#)))
-                                           (if (eqv? #{atom-key 6484}# 'quote)
-                                             (if (eq? (car #{x 6476}#) 'quote)
+                                         (let ((#{atom-key 6487}#
+                                                 (car #{y 6481}#)))
+                                           (if (eqv? #{atom-key 6487}# 'quote)
+                                             (if (eq? (car #{x 6479}#) 'quote)
                                                (list 'quote
-                                                     (cons (car (cdr #{x 
6476}#))
-                                                           (car (cdr #{y 
6478}#))))
-                                               (if (eq? (car (cdr #{y 6478}#))
+                                                     (cons (car (cdr #{x 
6479}#))
+                                                           (car (cdr #{y 
6481}#))))
+                                               (if (eq? (car (cdr #{y 6481}#))
                                                         '())
-                                                 (list 'list #{x 6476}#)
+                                                 (list 'list #{x 6479}#)
                                                  (list 'cons
-                                                       #{x 6476}#
-                                                       #{y 6478}#)))
-                                             (if (eqv? #{atom-key 6484}# 'list)
+                                                       #{x 6479}#
+                                                       #{y 6481}#)))
+                                             (if (eqv? #{atom-key 6487}# 'list)
                                                (cons 'list
-                                                     (cons #{x 6476}#
-                                                           (cdr #{y 6478}#)))
+                                                     (cons #{x 6479}#
+                                                           (cdr #{y 6481}#)))
                                                (list 'cons
-                                                     #{x 6476}#
-                                                     #{y 6478}#))))
-                                         #{maps 6479}#))))))
-                             #{tmp 6470}#)
-                           (let ((#{tmp 6513}#
+                                                     #{x 6479}#
+                                                     #{y 6481}#))))
+                                         #{maps 6482}#))))))
+                             #{tmp 6473}#)
+                           (let ((#{tmp 6516}#
                                    ($sc-dispatch
-                                     #{e 6172}#
+                                     #{e 6363}#
                                      '#(vector (any . each-any)))))
-                             (if #{tmp 6513}#
+                             (if #{tmp 6516}#
                                (@apply
-                                 (lambda (#{e1 6517}# #{e2 6518}#)
+                                 (lambda (#{e1 6520}# #{e2 6521}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{gen-syntax 5708}#
-                                         #{src 6171}#
-                                         (cons #{e1 6517}# #{e2 6518}#)
-                                         #{r 6173}#
-                                         #{maps 6174}#
-                                         #{ellipsis? 6175}#
-                                         #{mod 6176}#))
-                                     (lambda (#{e 6519}# #{maps 6520}#)
+                                       (#{gen-syntax 5899}#
+                                         #{src 6362}#
+                                         (cons #{e1 6520}# #{e2 6521}#)
+                                         #{r 6364}#
+                                         #{maps 6365}#
+                                         #{ellipsis? 6366}#
+                                         #{mod 6367}#))
+                                     (lambda (#{e 6522}# #{maps 6523}#)
                                        (values
-                                         (if (eq? (car #{e 6519}#) 'list)
-                                           (cons 'vector (cdr #{e 6519}#))
-                                           (if (eq? (car #{e 6519}#) 'quote)
+                                         (if (eq? (car #{e 6522}#) 'list)
+                                           (cons 'vector (cdr #{e 6522}#))
+                                           (if (eq? (car #{e 6522}#) 'quote)
                                              (list 'quote
                                                    (list->vector
-                                                     (car (cdr #{e 6519}#))))
-                                             (list 'list->vector #{e 6519}#)))
-                                         #{maps 6520}#))))
-                                 #{tmp 6513}#)
+                                                     (car (cdr #{e 6522}#))))
+                                             (list 'list->vector #{e 6522}#)))
+                                         #{maps 6523}#))))
+                                 #{tmp 6516}#)
                                (values
-                                 (list 'quote #{e 6172}#)
-                                 #{maps 6174}#))))))))))))
-         (#{gen-ref 5709}#
-           (lambda (#{src 6547}#
-                    #{var 6548}#
-                    #{level 6549}#
-                    #{maps 6550}#)
-             (if (= #{level 6549}# 0)
-               (values #{var 6548}# #{maps 6550}#)
-               (if (null? #{maps 6550}#)
+                                 (list 'quote #{e 6363}#)
+                                 #{maps 6365}#))))))))))))
+         (#{gen-ref 5900}#
+           (lambda (#{src 6550}#
+                    #{var 6551}#
+                    #{level 6552}#
+                    #{maps 6553}#)
+             (if (= #{level 6552}# 0)
+               (values #{var 6551}# #{maps 6553}#)
+               (if (null? #{maps 6553}#)
                  (syntax-violation
                    'syntax
                    "missing ellipsis"
-                   #{src 6547}#)
+                   #{src 6550}#)
                  (call-with-values
                    (lambda ()
-                     (#{gen-ref 5709}#
-                       #{src 6547}#
-                       #{var 6548}#
-                       (#{1-}# #{level 6549}#)
-                       (cdr #{maps 6550}#)))
-                   (lambda (#{outer-var 6551}# #{outer-maps 6552}#)
-                     (let ((#{b 6553}#
-                             (assq #{outer-var 6551}# (car #{maps 6550}#))))
-                       (if #{b 6553}#
-                         (values (cdr #{b 6553}#) #{maps 6550}#)
-                         (let ((#{inner-var 6555}#
+                     (#{gen-ref 5900}#
+                       #{src 6550}#
+                       #{var 6551}#
+                       (#{1-}# #{level 6552}#)
+                       (cdr #{maps 6553}#)))
+                   (lambda (#{outer-var 6554}# #{outer-maps 6555}#)
+                     (let ((#{b 6556}#
+                             (assq #{outer-var 6554}# (car #{maps 6553}#))))
+                       (if #{b 6556}#
+                         (values (cdr #{b 6556}#) #{maps 6553}#)
+                         (let ((#{inner-var 6558}#
                                  (gensym
                                    (string-append (symbol->string 'tmp) " "))))
                            (values
-                             #{inner-var 6555}#
-                             (cons (cons (cons #{outer-var 6551}#
-                                               #{inner-var 6555}#)
-                                         (car #{maps 6550}#))
-                                   #{outer-maps 6552}#)))))))))))
-         (#{gen-map 5711}#
-           (lambda (#{e 6569}# #{map-env 6570}#)
-             (let ((#{formals 6571}# (map cdr #{map-env 6570}#))
-                   (#{actuals 6572}#
-                     (map (lambda (#{x 6574}#)
-                            (list 'ref (car #{x 6574}#)))
-                          #{map-env 6570}#)))
-               (if (eq? (car #{e 6569}#) 'ref)
-                 (car #{actuals 6572}#)
+                             #{inner-var 6558}#
+                             (cons (cons (cons #{outer-var 6554}#
+                                               #{inner-var 6558}#)
+                                         (car #{maps 6553}#))
+                                   #{outer-maps 6555}#)))))))))))
+         (#{gen-map 5902}#
+           (lambda (#{e 6572}# #{map-env 6573}#)
+             (let ((#{formals 6574}# (map cdr #{map-env 6573}#))
+                   (#{actuals 6575}#
+                     (map (lambda (#{x 6577}#)
+                            (list 'ref (car #{x 6577}#)))
+                          #{map-env 6573}#)))
+               (if (eq? (car #{e 6572}#) 'ref)
+                 (car #{actuals 6575}#)
                  (if (and-map
-                       (lambda (#{x 6575}#)
-                         (if (eq? (car #{x 6575}#) 'ref)
-                           (memq (car (cdr #{x 6575}#)) #{formals 6571}#)
+                       (lambda (#{x 6578}#)
+                         (if (eq? (car #{x 6578}#) 'ref)
+                           (memq (car (cdr #{x 6578}#)) #{formals 6574}#)
                            #f))
-                       (cdr #{e 6569}#))
+                       (cdr #{e 6572}#))
                    (cons 'map
-                         (cons (list 'primitive (car #{e 6569}#))
-                               (map (let ((#{r 6577}#
+                         (cons (list 'primitive (car #{e 6572}#))
+                               (map (let ((#{r 6580}#
                                             (map cons
-                                                 #{formals 6571}#
-                                                 #{actuals 6572}#)))
-                                      (lambda (#{x 6578}#)
-                                        (cdr (assq (car (cdr #{x 6578}#))
-                                                   #{r 6577}#))))
-                                    (cdr #{e 6569}#))))
+                                                 #{formals 6574}#
+                                                 #{actuals 6575}#)))
+                                      (lambda (#{x 6581}#)
+                                        (cdr (assq (car (cdr #{x 6581}#))
+                                                   #{r 6580}#))))
+                                    (cdr #{e 6572}#))))
                    (cons 'map
-                         (cons (list 'lambda #{formals 6571}# #{e 6569}#)
-                               #{actuals 6572}#)))))))
-         (#{regen 5715}#
-           (lambda (#{x 6580}#)
-             (let ((#{atom-key 6581}# (car #{x 6580}#)))
-               (if (eqv? #{atom-key 6581}# 'ref)
-                 (let ((#{name 6591}# (car (cdr #{x 6580}#)))
-                       (#{var 6592}# (car (cdr #{x 6580}#))))
+                         (cons (list 'lambda #{formals 6574}# #{e 6572}#)
+                               #{actuals 6575}#)))))))
+         (#{regen 5906}#
+           (lambda (#{x 6583}#)
+             (let ((#{atom-key 6584}# (car #{x 6583}#)))
+               (if (eqv? #{atom-key 6584}# 'ref)
+                 (let ((#{name 6594}# (car (cdr #{x 6583}#)))
+                       (#{var 6595}# (car (cdr #{x 6583}#))))
                    (make-struct/no-tail
                      (vector-ref %expanded-vtables 3)
                      #f
-                     #{name 6591}#
-                     #{var 6592}#))
-                 (if (eqv? #{atom-key 6581}# 'primitive)
-                   (let ((#{name 6603}# (car (cdr #{x 6580}#))))
+                     #{name 6594}#
+                     #{var 6595}#))
+                 (if (eqv? #{atom-key 6584}# 'primitive)
+                   (let ((#{name 6606}# (car (cdr #{x 6583}#))))
                      (make-struct/no-tail
                        (vector-ref %expanded-vtables 2)
                        #f
-                       #{name 6603}#))
-                   (if (eqv? #{atom-key 6581}# 'quote)
-                     (let ((#{exp 6614}# (car (cdr #{x 6580}#))))
+                       #{name 6606}#))
+                   (if (eqv? #{atom-key 6584}# 'quote)
+                     (let ((#{exp 6617}# (car (cdr #{x 6583}#))))
                        (make-struct/no-tail
                          (vector-ref %expanded-vtables 1)
                          #f
-                         #{exp 6614}#))
-                     (if (eqv? #{atom-key 6581}# 'lambda)
-                       (if (list? (car (cdr #{x 6580}#)))
-                         (let ((#{req 6625}# (car (cdr #{x 6580}#)))
-                               (#{vars 6627}# (car (cdr #{x 6580}#)))
-                               (#{exp 6629}#
-                                 (#{regen 5715}#
-                                   (car (cdr (cdr #{x 6580}#))))))
-                           (let ((#{body 6634}#
+                         #{exp 6617}#))
+                     (if (eqv? #{atom-key 6584}# 'lambda)
+                       (if (list? (car (cdr #{x 6583}#)))
+                         (let ((#{req 6628}# (car (cdr #{x 6583}#)))
+                               (#{vars 6630}# (car (cdr #{x 6583}#)))
+                               (#{exp 6632}#
+                                 (#{regen 5906}#
+                                   (car (cdr (cdr #{x 6583}#))))))
+                           (let ((#{body 6637}#
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 15)
                                      #f
-                                     #{req 6625}#
+                                     #{req 6628}#
                                      #f
                                      #f
                                      #f
                                      '()
-                                     #{vars 6627}#
-                                     #{exp 6629}#
+                                     #{vars 6630}#
+                                     #{exp 6632}#
                                      #f)))
                              (make-struct/no-tail
                                (vector-ref %expanded-vtables 14)
                                #f
                                '()
-                               #{body 6634}#)))
-                         (error "how did we get here" #{x 6580}#))
-                       (let ((#{name 6650}# (car #{x 6580}#))
-                             (#{args 6651}#
-                               (map #{regen 5715}# (cdr #{x 6580}#))))
+                               #{body 6637}#)))
+                         (error "how did we get here" #{x 6583}#))
+                       (let ((#{name 6653}# (car #{x 6583}#))
+                             (#{args 6654}#
+                               (map #{regen 5906}# (cdr #{x 6583}#))))
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 12)
                            #f
-                           #{name 6650}#
-                           #{args 6651}#))))))))))
-        (lambda (#{e 5716}#
-                 #{r 5717}#
-                 #{w 5718}#
-                 #{s 5719}#
-                 #{mod 5720}#)
-          (let ((#{e 5721}#
-                  (let ((#{x 6082}#
+                           #{name 6653}#
+                           #{args 6654}#))))))))))
+        (lambda (#{e 5907}#
+                 #{r 5908}#
+                 #{w 5909}#
+                 #{s 5910}#
+                 #{mod 5911}#)
+          (let ((#{e 5912}#
+                  (let ((#{x 6273}#
                           (begin
-                            (if (if (pair? #{e 5716}#) #{s 5719}# #f)
-                              (set-source-properties! #{e 5716}# #{s 5719}#))
-                            #{e 5716}#)))
-                    (if (if (null? (car #{w 5718}#))
-                          (null? (cdr #{w 5718}#))
+                            (if (if (pair? #{e 5907}#) #{s 5910}# #f)
+                              (set-source-properties! #{e 5907}# #{s 5910}#))
+                            #{e 5907}#)))
+                    (if (if (null? (car #{w 5909}#))
+                          (null? (cdr #{w 5909}#))
                           #f)
-                      #{x 6082}#
-                      (if (if (vector? #{x 6082}#)
-                            (if (= (vector-length #{x 6082}#) 4)
-                              (eq? (vector-ref #{x 6082}# 0) 'syntax-object)
+                      #{x 6273}#
+                      (if (if (vector? #{x 6273}#)
+                            (if (= (vector-length #{x 6273}#) 4)
+                              (eq? (vector-ref #{x 6273}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 6114}# (vector-ref #{x 6082}# 1))
-                              (#{wrap 6115}#
-                                (let ((#{w2 6123}# (vector-ref #{x 6082}# 2)))
-                                  (let ((#{m1 6124}# (car #{w 5718}#))
-                                        (#{s1 6125}# (cdr #{w 5718}#)))
-                                    (if (null? #{m1 6124}#)
-                                      (if (null? #{s1 6125}#)
-                                        #{w2 6123}#
-                                        (cons (car #{w2 6123}#)
-                                              (let ((#{m2 6140}#
-                                                      (cdr #{w2 6123}#)))
-                                                (if (null? #{m2 6140}#)
-                                                  #{s1 6125}#
+                        (let ((#{expression 6305}# (vector-ref #{x 6273}# 1))
+                              (#{wrap 6306}#
+                                (let ((#{w2 6314}# (vector-ref #{x 6273}# 2)))
+                                  (let ((#{m1 6315}# (car #{w 5909}#))
+                                        (#{s1 6316}# (cdr #{w 5909}#)))
+                                    (if (null? #{m1 6315}#)
+                                      (if (null? #{s1 6316}#)
+                                        #{w2 6314}#
+                                        (cons (car #{w2 6314}#)
+                                              (let ((#{m2 6331}#
+                                                      (cdr #{w2 6314}#)))
+                                                (if (null? #{m2 6331}#)
+                                                  #{s1 6316}#
                                                   (append
-                                                    #{s1 6125}#
-                                                    #{m2 6140}#)))))
-                                      (cons (let ((#{m2 6148}#
-                                                    (car #{w2 6123}#)))
-                                              (if (null? #{m2 6148}#)
-                                                #{m1 6124}#
+                                                    #{s1 6316}#
+                                                    #{m2 6331}#)))))
+                                      (cons (let ((#{m2 6339}#
+                                                    (car #{w2 6314}#)))
+                                              (if (null? #{m2 6339}#)
+                                                #{m1 6315}#
                                                 (append
-                                                  #{m1 6124}#
-                                                  #{m2 6148}#)))
-                                            (let ((#{m2 6156}#
-                                                    (cdr #{w2 6123}#)))
-                                              (if (null? #{m2 6156}#)
-                                                #{s1 6125}#
+                                                  #{m1 6315}#
+                                                  #{m2 6339}#)))
+                                            (let ((#{m2 6347}#
+                                                    (cdr #{w2 6314}#)))
+                                              (if (null? #{m2 6347}#)
+                                                #{s1 6316}#
                                                 (append
-                                                  #{s1 6125}#
-                                                  #{m2 6156}#))))))))
-                              (#{module 6116}# (vector-ref #{x 6082}# 3)))
+                                                  #{s1 6316}#
+                                                  #{m2 6347}#))))))))
+                              (#{module 6307}# (vector-ref #{x 6273}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 6114}#
-                            #{wrap 6115}#
-                            #{module 6116}#))
-                        (if (null? #{x 6082}#)
-                          #{x 6082}#
+                            #{expression 6305}#
+                            #{wrap 6306}#
+                            #{module 6307}#))
+                        (if (null? #{x 6273}#)
+                          #{x 6273}#
                           (vector
                             'syntax-object
-                            #{x 6082}#
-                            #{w 5718}#
-                            #{mod 5720}#)))))))
-            (let ((#{tmp 5722}# #{e 5721}#))
-              (let ((#{tmp 5723}#
-                      ($sc-dispatch #{tmp 5722}# '(_ any))))
-                (if #{tmp 5723}#
+                            #{x 6273}#
+                            #{w 5909}#
+                            #{mod 5911}#)))))))
+            (let ((#{tmp 5913}# #{e 5912}#))
+              (let ((#{tmp 5914}#
+                      ($sc-dispatch #{tmp 5913}# '(_ any))))
+                (if #{tmp 5914}#
                   (@apply
-                    (lambda (#{x 5775}#)
+                    (lambda (#{x 5966}#)
                       (call-with-values
                         (lambda ()
-                          (#{gen-syntax 5708}#
-                            #{e 5721}#
-                            #{x 5775}#
-                            #{r 5717}#
+                          (#{gen-syntax 5899}#
+                            #{e 5912}#
+                            #{x 5966}#
+                            #{r 5908}#
                             '()
-                            #{ellipsis? 4381}#
-                            #{mod 5720}#))
-                        (lambda (#{e 5858}# #{maps 5859}#)
-                          (#{regen 5715}# #{e 5858}#))))
-                    #{tmp 5723}#)
+                            #{ellipsis? 4454}#
+                            #{mod 5911}#))
+                        (lambda (#{e 6049}# #{maps 6050}#)
+                          (#{regen 5906}# #{e 6049}#))))
+                    #{tmp 5914}#)
                   (syntax-violation
                     'syntax
                     "bad `syntax' form"
-                    #{e 5721}#))))))))
-    (#{global-extend 4339}#
+                    #{e 5912}#))))))))
+    (#{global-extend 4411}#
       'core
       'lambda
-      (lambda (#{e 6887}#
-               #{r 6888}#
-               #{w 6889}#
-               #{s 6890}#
-               #{mod 6891}#)
-        (let ((#{tmp 6893}#
-                ($sc-dispatch #{e 6887}# '(_ any any . each-any))))
-          (if #{tmp 6893}#
+      (lambda (#{e 6890}#
+               #{r 6891}#
+               #{w 6892}#
+               #{s 6893}#
+               #{mod 6894}#)
+        (let ((#{tmp 6896}#
+                ($sc-dispatch #{e 6890}# '(_ any any . each-any))))
+          (if #{tmp 6896}#
             (@apply
-              (lambda (#{args 6897}# #{e1 6898}# #{e2 6899}#)
+              (lambda (#{args 6900}# #{e1 6901}# #{e2 6902}#)
                 (call-with-values
                   (lambda ()
-                    (#{lambda-formals 4382}# #{args 6897}#))
-                  (lambda (#{req 6902}#
-                           #{opt 6903}#
-                           #{rest 6904}#
-                           #{kw 6905}#)
+                    (#{lambda-formals 4455}# #{args 6900}#))
+                  (lambda (#{req 6905}#
+                           #{opt 6906}#
+                           #{rest 6907}#
+                           #{kw 6908}#)
                     (letrec*
-                      ((#{lp 6906}#
-                         (lambda (#{body 6909}# #{meta 6910}#)
-                           (let ((#{tmp 6912}#
+                      ((#{lp 6909}#
+                         (lambda (#{body 6912}# #{meta 6913}#)
+                           (let ((#{tmp 6915}#
                                    ($sc-dispatch
-                                     #{body 6909}#
+                                     #{body 6912}#
                                      '(any any . each-any))))
-                             (if (if #{tmp 6912}#
+                             (if (if #{tmp 6915}#
                                    (@apply
-                                     (lambda (#{docstring 6916}#
-                                              #{e1 6917}#
-                                              #{e2 6918}#)
+                                     (lambda (#{docstring 6919}#
+                                              #{e1 6920}#
+                                              #{e2 6921}#)
                                        (string?
-                                         (syntax->datum #{docstring 6916}#)))
-                                     #{tmp 6912}#)
+                                         (syntax->datum #{docstring 6919}#)))
+                                     #{tmp 6915}#)
                                    #f)
                                (@apply
-                                 (lambda (#{docstring 6919}#
-                                          #{e1 6920}#
-                                          #{e2 6921}#)
-                                   (#{lp 6906}#
-                                     (cons #{e1 6920}# #{e2 6921}#)
+                                 (lambda (#{docstring 6922}#
+                                          #{e1 6923}#
+                                          #{e2 6924}#)
+                                   (#{lp 6909}#
+                                     (cons #{e1 6923}# #{e2 6924}#)
                                      (append
-                                       #{meta 6910}#
+                                       #{meta 6913}#
                                        (list (cons 'documentation
                                                    (syntax->datum
-                                                     #{docstring 6919}#))))))
-                                 #{tmp 6912}#)
-                               (let ((#{tmp 6922}#
+                                                     #{docstring 6922}#))))))
+                                 #{tmp 6915}#)
+                               (let ((#{tmp 6925}#
                                        ($sc-dispatch
-                                         #{body 6909}#
+                                         #{body 6912}#
                                          '(#(vector #(each (any . any)))
                                            any
                                            .
                                            each-any))))
-                                 (if #{tmp 6922}#
+                                 (if #{tmp 6925}#
                                    (@apply
-                                     (lambda (#{k 6926}#
-                                              #{v 6927}#
-                                              #{e1 6928}#
-                                              #{e2 6929}#)
-                                       (#{lp 6906}#
-                                         (cons #{e1 6928}# #{e2 6929}#)
+                                     (lambda (#{k 6929}#
+                                              #{v 6930}#
+                                              #{e1 6931}#
+                                              #{e2 6932}#)
+                                       (#{lp 6909}#
+                                         (cons #{e1 6931}# #{e2 6932}#)
                                          (append
-                                           #{meta 6910}#
+                                           #{meta 6913}#
                                            (syntax->datum
                                              (map cons
-                                                  #{k 6926}#
-                                                  #{v 6927}#)))))
-                                     #{tmp 6922}#)
-                                   (#{chi-simple-lambda 4383}#
-                                     #{e 6887}#
-                                     #{r 6888}#
-                                     #{w 6889}#
-                                     #{s 6890}#
-                                     #{mod 6891}#
-                                     #{req 6902}#
-                                     #{rest 6904}#
-                                     #{meta 6910}#
-                                     #{body 6909}#))))))))
-                      (#{lp 6906}# (cons #{e1 6898}# #{e2 6899}#) '())))))
-              #{tmp 6893}#)
+                                                  #{k 6929}#
+                                                  #{v 6930}#)))))
+                                     #{tmp 6925}#)
+                                   (#{chi-simple-lambda 4456}#
+                                     #{e 6890}#
+                                     #{r 6891}#
+                                     #{w 6892}#
+                                     #{s 6893}#
+                                     #{mod 6894}#
+                                     #{req 6905}#
+                                     #{rest 6907}#
+                                     #{meta 6913}#
+                                     #{body 6912}#))))))))
+                      (#{lp 6909}# (cons #{e1 6901}# #{e2 6902}#) '())))))
+              #{tmp 6896}#)
             (syntax-violation
               'lambda
               "bad lambda"
-              #{e 6887}#)))))
-    (#{global-extend 4339}#
+              #{e 6890}#)))))
+    (#{global-extend 4411}#
       'core
       'lambda*
-      (lambda (#{e 7313}#
-               #{r 7314}#
-               #{w 7315}#
-               #{s 7316}#
-               #{mod 7317}#)
-        (let ((#{tmp 7319}#
-                ($sc-dispatch #{e 7313}# '(_ any any . each-any))))
-          (if #{tmp 7319}#
+      (lambda (#{e 7316}#
+               #{r 7317}#
+               #{w 7318}#
+               #{s 7319}#
+               #{mod 7320}#)
+        (let ((#{tmp 7322}#
+                ($sc-dispatch #{e 7316}# '(_ any any . each-any))))
+          (if #{tmp 7322}#
             (@apply
-              (lambda (#{args 7323}# #{e1 7324}# #{e2 7325}#)
+              (lambda (#{args 7326}# #{e1 7327}# #{e2 7328}#)
                 (call-with-values
                   (lambda ()
-                    (#{chi-lambda-case 4385}#
-                      #{e 7313}#
-                      #{r 7314}#
-                      #{w 7315}#
-                      #{s 7316}#
-                      #{mod 7317}#
-                      #{lambda*-formals 4384}#
-                      (list (cons #{args 7323}#
-                                  (cons #{e1 7324}# #{e2 7325}#)))))
-                  (lambda (#{meta 7328}# #{lcase 7329}#)
+                    (#{chi-lambda-case 4458}#
+                      #{e 7316}#
+                      #{r 7317}#
+                      #{w 7318}#
+                      #{s 7319}#
+                      #{mod 7320}#
+                      #{lambda*-formals 4457}#
+                      (list (cons #{args 7326}#
+                                  (cons #{e1 7327}# #{e2 7328}#)))))
+                  (lambda (#{meta 7331}# #{lcase 7332}#)
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 14)
-                      #{s 7316}#
-                      #{meta 7328}#
-                      #{lcase 7329}#))))
-              #{tmp 7319}#)
+                      #{s 7319}#
+                      #{meta 7331}#
+                      #{lcase 7332}#))))
+              #{tmp 7322}#)
             (syntax-violation
               'lambda
               "bad lambda*"
-              #{e 7313}#)))))
-    (#{global-extend 4339}#
+              #{e 7316}#)))))
+    (#{global-extend 4411}#
       'core
       'case-lambda
-      (lambda (#{e 7492}#
-               #{r 7493}#
-               #{w 7494}#
-               #{s 7495}#
-               #{mod 7496}#)
-        (let ((#{tmp 7498}#
+      (lambda (#{e 7495}#
+               #{r 7496}#
+               #{w 7497}#
+               #{s 7498}#
+               #{mod 7499}#)
+        (let ((#{tmp 7501}#
                 ($sc-dispatch
-                  #{e 7492}#
+                  #{e 7495}#
                   '(_ (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-          (if #{tmp 7498}#
+          (if #{tmp 7501}#
             (@apply
-              (lambda (#{args 7502}#
-                       #{e1 7503}#
-                       #{e2 7504}#
-                       #{args* 7505}#
-                       #{e1* 7506}#
-                       #{e2* 7507}#)
+              (lambda (#{args 7505}#
+                       #{e1 7506}#
+                       #{e2 7507}#
+                       #{args* 7508}#
+                       #{e1* 7509}#
+                       #{e2* 7510}#)
                 (call-with-values
                   (lambda ()
-                    (#{chi-lambda-case 4385}#
-                      #{e 7492}#
-                      #{r 7493}#
-                      #{w 7494}#
-                      #{s 7495}#
-                      #{mod 7496}#
-                      #{lambda-formals 4382}#
-                      (cons (cons #{args 7502}#
-                                  (cons #{e1 7503}# #{e2 7504}#))
-                            (map (lambda (#{tmp 3304 7510}#
-                                          #{tmp 3303 7511}#
-                                          #{tmp 3302 7512}#)
-                                   (cons #{tmp 3302 7512}#
-                                         (cons #{tmp 3303 7511}#
-                                               #{tmp 3304 7510}#)))
-                                 #{e2* 7507}#
-                                 #{e1* 7506}#
-                                 #{args* 7505}#))))
-                  (lambda (#{meta 7513}# #{lcase 7514}#)
+                    (#{chi-lambda-case 4458}#
+                      #{e 7495}#
+                      #{r 7496}#
+                      #{w 7497}#
+                      #{s 7498}#
+                      #{mod 7499}#
+                      #{lambda-formals 4455}#
+                      (cons (cons #{args 7505}#
+                                  (cons #{e1 7506}# #{e2 7507}#))
+                            (map (lambda (#{tmp 3385 7513}#
+                                          #{tmp 3384 7514}#
+                                          #{tmp 3383 7515}#)
+                                   (cons #{tmp 3383 7515}#
+                                         (cons #{tmp 3384 7514}#
+                                               #{tmp 3385 7513}#)))
+                                 #{e2* 7510}#
+                                 #{e1* 7509}#
+                                 #{args* 7508}#))))
+                  (lambda (#{meta 7516}# #{lcase 7517}#)
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 14)
-                      #{s 7495}#
-                      #{meta 7513}#
-                      #{lcase 7514}#))))
-              #{tmp 7498}#)
+                      #{s 7498}#
+                      #{meta 7516}#
+                      #{lcase 7517}#))))
+              #{tmp 7501}#)
             (syntax-violation
               'case-lambda
               "bad case-lambda"
-              #{e 7492}#)))))
-    (#{global-extend 4339}#
+              #{e 7495}#)))))
+    (#{global-extend 4411}#
       'core
       'case-lambda*
-      (lambda (#{e 7683}#
-               #{r 7684}#
-               #{w 7685}#
-               #{s 7686}#
-               #{mod 7687}#)
-        (let ((#{tmp 7689}#
+      (lambda (#{e 7686}#
+               #{r 7687}#
+               #{w 7688}#
+               #{s 7689}#
+               #{mod 7690}#)
+        (let ((#{tmp 7692}#
                 ($sc-dispatch
-                  #{e 7683}#
+                  #{e 7686}#
                   '(_ (any any . each-any)
                       .
                       #(each (any any . each-any))))))
-          (if #{tmp 7689}#
+          (if #{tmp 7692}#
             (@apply
-              (lambda (#{args 7693}#
-                       #{e1 7694}#
-                       #{e2 7695}#
-                       #{args* 7696}#
-                       #{e1* 7697}#
-                       #{e2* 7698}#)
+              (lambda (#{args 7696}#
+                       #{e1 7697}#
+                       #{e2 7698}#
+                       #{args* 7699}#
+                       #{e1* 7700}#
+                       #{e2* 7701}#)
                 (call-with-values
                   (lambda ()
-                    (#{chi-lambda-case 4385}#
-                      #{e 7683}#
-                      #{r 7684}#
-                      #{w 7685}#
-                      #{s 7686}#
-                      #{mod 7687}#
-                      #{lambda*-formals 4384}#
-                      (cons (cons #{args 7693}#
-                                  (cons #{e1 7694}# #{e2 7695}#))
-                            (map (lambda (#{tmp 3339 7701}#
-                                          #{tmp 3338 7702}#
-                                          #{tmp 3337 7703}#)
-                                   (cons #{tmp 3337 7703}#
-                                         (cons #{tmp 3338 7702}#
-                                               #{tmp 3339 7701}#)))
-                                 #{e2* 7698}#
-                                 #{e1* 7697}#
-                                 #{args* 7696}#))))
-                  (lambda (#{meta 7704}# #{lcase 7705}#)
+                    (#{chi-lambda-case 4458}#
+                      #{e 7686}#
+                      #{r 7687}#
+                      #{w 7688}#
+                      #{s 7689}#
+                      #{mod 7690}#
+                      #{lambda*-formals 4457}#
+                      (cons (cons #{args 7696}#
+                                  (cons #{e1 7697}# #{e2 7698}#))
+                            (map (lambda (#{tmp 3420 7704}#
+                                          #{tmp 3419 7705}#
+                                          #{tmp 3418 7706}#)
+                                   (cons #{tmp 3418 7706}#
+                                         (cons #{tmp 3419 7705}#
+                                               #{tmp 3420 7704}#)))
+                                 #{e2* 7701}#
+                                 #{e1* 7700}#
+                                 #{args* 7699}#))))
+                  (lambda (#{meta 7707}# #{lcase 7708}#)
                     (make-struct/no-tail
                       (vector-ref %expanded-vtables 14)
-                      #{s 7686}#
-                      #{meta 7704}#
-                      #{lcase 7705}#))))
-              #{tmp 7689}#)
+                      #{s 7689}#
+                      #{meta 7707}#
+                      #{lcase 7708}#))))
+              #{tmp 7692}#)
             (syntax-violation
               'case-lambda
               "bad case-lambda*"
-              #{e 7683}#)))))
-    (#{global-extend 4339}#
+              #{e 7686}#)))))
+    (#{global-extend 4411}#
       'core
       'let
       (letrec*
-        ((#{chi-let 7914}#
-           (lambda (#{e 8124}#
-                    #{r 8125}#
-                    #{w 8126}#
-                    #{s 8127}#
-                    #{mod 8128}#
-                    #{constructor 8129}#
-                    #{ids 8130}#
-                    #{vals 8131}#
-                    #{exps 8132}#)
-             (if (not (#{valid-bound-ids? 4363}# #{ids 8130}#))
+        ((#{chi-let 7917}#
+           (lambda (#{e 8127}#
+                    #{r 8128}#
+                    #{w 8129}#
+                    #{s 8130}#
+                    #{mod 8131}#
+                    #{constructor 8132}#
+                    #{ids 8133}#
+                    #{vals 8134}#
+                    #{exps 8135}#)
+             (if (not (#{valid-bound-ids? 4436}# #{ids 8133}#))
                (syntax-violation
                  'let
                  "duplicate bound variable"
-                 #{e 8124}#)
-               (let ((#{labels 8217}#
-                       (#{gen-labels 4344}# #{ids 8130}#))
-                     (#{new-vars 8218}#
-                       (map #{gen-var 4387}# #{ids 8130}#)))
-                 (let ((#{nw 8219}#
-                         (#{make-binding-wrap 4355}#
-                           #{ids 8130}#
-                           #{labels 8217}#
-                           #{w 8126}#))
-                       (#{nr 8220}#
-                         (#{extend-var-env 4336}#
-                           #{labels 8217}#
-                           #{new-vars 8218}#
-                           #{r 8125}#)))
-                   (#{constructor 8129}#
-                     #{s 8127}#
-                     (map syntax->datum #{ids 8130}#)
-                     #{new-vars 8218}#
-                     (map (lambda (#{x 8237}#)
-                            (#{chi 4373}#
-                              #{x 8237}#
-                              #{r 8125}#
-                              #{w 8126}#
-                              #{mod 8128}#))
-                          #{vals 8131}#)
-                     (#{chi-body 4377}#
-                       #{exps 8132}#
-                       (#{source-wrap 4367}#
-                         #{e 8124}#
-                         #{nw 8219}#
-                         #{s 8127}#
-                         #{mod 8128}#)
-                       #{nr 8220}#
-                       #{nw 8219}#
-                       #{mod 8128}#))))))))
-        (lambda (#{e 7915}#
-                 #{r 7916}#
-                 #{w 7917}#
-                 #{s 7918}#
-                 #{mod 7919}#)
-          (let ((#{tmp 7921}#
+                 #{e 8127}#)
+               (let ((#{labels 8220}#
+                       (#{gen-labels 4416}# #{ids 8133}#))
+                     (#{new-vars 8221}#
+                       (map #{gen-var 4460}# #{ids 8133}#)))
+                 (let ((#{nw 8222}#
+                         (#{make-binding-wrap 4427}#
+                           #{ids 8133}#
+                           #{labels 8220}#
+                           #{w 8129}#))
+                       (#{nr 8223}#
+                         (#{extend-var-env 4409}#
+                           #{labels 8220}#
+                           #{new-vars 8221}#
+                           #{r 8128}#)))
+                   (#{constructor 8132}#
+                     #{s 8130}#
+                     (map syntax->datum #{ids 8133}#)
+                     #{new-vars 8221}#
+                     (map (lambda (#{x 8240}#)
+                            (#{chi 4446}#
+                              #{x 8240}#
+                              #{r 8128}#
+                              #{w 8129}#
+                              #{mod 8131}#))
+                          #{vals 8134}#)
+                     (#{chi-body 4450}#
+                       #{exps 8135}#
+                       (#{source-wrap 4440}#
+                         #{e 8127}#
+                         #{nw 8222}#
+                         #{s 8130}#
+                         #{mod 8131}#)
+                       #{nr 8223}#
+                       #{nw 8222}#
+                       #{mod 8131}#))))))))
+        (lambda (#{e 7918}#
+                 #{r 7919}#
+                 #{w 7920}#
+                 #{s 7921}#
+                 #{mod 7922}#)
+          (let ((#{tmp 7924}#
                   ($sc-dispatch
-                    #{e 7915}#
+                    #{e 7918}#
                     '(_ #(each (any any)) any . each-any))))
-            (if (if #{tmp 7921}#
+            (if (if #{tmp 7924}#
                   (@apply
-                    (lambda (#{id 7925}#
-                             #{val 7926}#
-                             #{e1 7927}#
-                             #{e2 7928}#)
-                      (and-map #{id? 4341}# #{id 7925}#))
-                    #{tmp 7921}#)
+                    (lambda (#{id 7928}#
+                             #{val 7929}#
+                             #{e1 7930}#
+                             #{e2 7931}#)
+                      (and-map #{id? 4413}# #{id 7928}#))
+                    #{tmp 7924}#)
                   #f)
               (@apply
-                (lambda (#{id 7944}#
-                         #{val 7945}#
-                         #{e1 7946}#
-                         #{e2 7947}#)
-                  (#{chi-let 7914}#
-                    #{e 7915}#
-                    #{r 7916}#
-                    #{w 7917}#
-                    #{s 7918}#
-                    #{mod 7919}#
-                    (lambda (#{src 7951}#
-                             #{ids 7952}#
-                             #{vars 7953}#
-                             #{val-exps 7954}#
-                             #{body-exp 7955}#)
+                (lambda (#{id 7947}#
+                         #{val 7948}#
+                         #{e1 7949}#
+                         #{e2 7950}#)
+                  (#{chi-let 7917}#
+                    #{e 7918}#
+                    #{r 7919}#
+                    #{w 7920}#
+                    #{s 7921}#
+                    #{mod 7922}#
+                    (lambda (#{src 7954}#
+                             #{ids 7955}#
+                             #{vars 7956}#
+                             #{val-exps 7957}#
+                             #{body-exp 7958}#)
                       (begin
                         (for-each
-                          #{maybe-name-value! 4305}#
-                          #{ids 7952}#
-                          #{val-exps 7954}#)
-                        (if (null? #{vars 7953}#)
-                          #{body-exp 7955}#
+                          #{maybe-name-value! 4378}#
+                          #{ids 7955}#
+                          #{val-exps 7957}#)
+                        (if (null? #{vars 7956}#)
+                          #{body-exp 7958}#
                           (make-struct/no-tail
                             (vector-ref %expanded-vtables 16)
-                            #{src 7951}#
-                            #{ids 7952}#
-                            #{vars 7953}#
-                            #{val-exps 7954}#
-                            #{body-exp 7955}#))))
-                    #{id 7944}#
-                    #{val 7945}#
-                    (cons #{e1 7946}# #{e2 7947}#)))
-                #{tmp 7921}#)
-              (let ((#{tmp 7962}#
+                            #{src 7954}#
+                            #{ids 7955}#
+                            #{vars 7956}#
+                            #{val-exps 7957}#
+                            #{body-exp 7958}#))))
+                    #{id 7947}#
+                    #{val 7948}#
+                    (cons #{e1 7949}# #{e2 7950}#)))
+                #{tmp 7924}#)
+              (let ((#{tmp 7965}#
                       ($sc-dispatch
-                        #{e 7915}#
+                        #{e 7918}#
                         '(_ any #(each (any any)) any . each-any))))
-                (if (if #{tmp 7962}#
+                (if (if #{tmp 7965}#
                       (@apply
-                        (lambda (#{f 7966}#
-                                 #{id 7967}#
-                                 #{val 7968}#
-                                 #{e1 7969}#
-                                 #{e2 7970}#)
-                          (if (if (symbol? #{f 7966}#)
+                        (lambda (#{f 7969}#
+                                 #{id 7970}#
+                                 #{val 7971}#
+                                 #{e1 7972}#
+                                 #{e2 7973}#)
+                          (if (if (symbol? #{f 7969}#)
                                 #t
-                                (if (if (vector? #{f 7966}#)
-                                      (if (= (vector-length #{f 7966}#) 4)
-                                        (eq? (vector-ref #{f 7966}# 0)
+                                (if (if (vector? #{f 7969}#)
+                                      (if (= (vector-length #{f 7969}#) 4)
+                                        (eq? (vector-ref #{f 7969}# 0)
                                              'syntax-object)
                                         #f)
                                       #f)
-                                  (symbol? (vector-ref #{f 7966}# 1))
+                                  (symbol? (vector-ref #{f 7969}# 1))
                                   #f))
-                            (and-map #{id? 4341}# #{id 7967}#)
+                            (and-map #{id? 4413}# #{id 7970}#)
                             #f))
-                        #{tmp 7962}#)
+                        #{tmp 7965}#)
                       #f)
                   (@apply
-                    (lambda (#{f 8012}#
-                             #{id 8013}#
-                             #{val 8014}#
-                             #{e1 8015}#
-                             #{e2 8016}#)
-                      (#{chi-let 7914}#
-                        #{e 7915}#
-                        #{r 7916}#
-                        #{w 7917}#
-                        #{s 7918}#
-                        #{mod 7919}#
-                        #{build-named-let 4324}#
-                        (cons #{f 8012}# #{id 8013}#)
-                        #{val 8014}#
-                        (cons #{e1 8015}# #{e2 8016}#)))
-                    #{tmp 7962}#)
+                    (lambda (#{f 8015}#
+                             #{id 8016}#
+                             #{val 8017}#
+                             #{e1 8018}#
+                             #{e2 8019}#)
+                      (#{chi-let 7917}#
+                        #{e 7918}#
+                        #{r 7919}#
+                        #{w 7920}#
+                        #{s 7921}#
+                        #{mod 7922}#
+                        #{build-named-let 4397}#
+                        (cons #{f 8015}# #{id 8016}#)
+                        #{val 8017}#
+                        (cons #{e1 8018}# #{e2 8019}#)))
+                    #{tmp 7965}#)
                   (syntax-violation
                     'let
                     "bad let"
-                    (let ((#{x 8029}#
+                    (let ((#{x 8032}#
                             (begin
-                              (if (if (pair? #{e 7915}#) #{s 7918}# #f)
-                                (set-source-properties! #{e 7915}# #{s 7918}#))
-                              #{e 7915}#)))
-                      (if (if (null? (car #{w 7917}#))
-                            (null? (cdr #{w 7917}#))
+                              (if (if (pair? #{e 7918}#) #{s 7921}# #f)
+                                (set-source-properties! #{e 7918}# #{s 7921}#))
+                              #{e 7918}#)))
+                      (if (if (null? (car #{w 7920}#))
+                            (null? (cdr #{w 7920}#))
                             #f)
-                        #{x 8029}#
-                        (if (if (vector? #{x 8029}#)
-                              (if (= (vector-length #{x 8029}#) 4)
-                                (eq? (vector-ref #{x 8029}# 0) 'syntax-object)
+                        #{x 8032}#
+                        (if (if (vector? #{x 8032}#)
+                              (if (= (vector-length #{x 8032}#) 4)
+                                (eq? (vector-ref #{x 8032}# 0) 'syntax-object)
                                 #f)
                               #f)
-                          (let ((#{expression 8061}# (vector-ref #{x 8029}# 1))
-                                (#{wrap 8062}#
-                                  (let ((#{w2 8070}#
-                                          (vector-ref #{x 8029}# 2)))
-                                    (let ((#{m1 8071}# (car #{w 7917}#))
-                                          (#{s1 8072}# (cdr #{w 7917}#)))
-                                      (if (null? #{m1 8071}#)
-                                        (if (null? #{s1 8072}#)
-                                          #{w2 8070}#
-                                          (cons (car #{w2 8070}#)
-                                                (let ((#{m2 8087}#
-                                                        (cdr #{w2 8070}#)))
-                                                  (if (null? #{m2 8087}#)
-                                                    #{s1 8072}#
+                          (let ((#{expression 8064}# (vector-ref #{x 8032}# 1))
+                                (#{wrap 8065}#
+                                  (let ((#{w2 8073}#
+                                          (vector-ref #{x 8032}# 2)))
+                                    (let ((#{m1 8074}# (car #{w 7920}#))
+                                          (#{s1 8075}# (cdr #{w 7920}#)))
+                                      (if (null? #{m1 8074}#)
+                                        (if (null? #{s1 8075}#)
+                                          #{w2 8073}#
+                                          (cons (car #{w2 8073}#)
+                                                (let ((#{m2 8090}#
+                                                        (cdr #{w2 8073}#)))
+                                                  (if (null? #{m2 8090}#)
+                                                    #{s1 8075}#
                                                     (append
-                                                      #{s1 8072}#
-                                                      #{m2 8087}#)))))
-                                        (cons (let ((#{m2 8095}#
-                                                      (car #{w2 8070}#)))
-                                                (if (null? #{m2 8095}#)
-                                                  #{m1 8071}#
+                                                      #{s1 8075}#
+                                                      #{m2 8090}#)))))
+                                        (cons (let ((#{m2 8098}#
+                                                      (car #{w2 8073}#)))
+                                                (if (null? #{m2 8098}#)
+                                                  #{m1 8074}#
                                                   (append
-                                                    #{m1 8071}#
-                                                    #{m2 8095}#)))
-                                              (let ((#{m2 8103}#
-                                                      (cdr #{w2 8070}#)))
-                                                (if (null? #{m2 8103}#)
-                                                  #{s1 8072}#
+                                                    #{m1 8074}#
+                                                    #{m2 8098}#)))
+                                              (let ((#{m2 8106}#
+                                                      (cdr #{w2 8073}#)))
+                                                (if (null? #{m2 8106}#)
+                                                  #{s1 8075}#
                                                   (append
-                                                    #{s1 8072}#
-                                                    #{m2 8103}#))))))))
-                                (#{module 8063}# (vector-ref #{x 8029}# 3)))
+                                                    #{s1 8075}#
+                                                    #{m2 8106}#))))))))
+                                (#{module 8066}# (vector-ref #{x 8032}# 3)))
                             (vector
                               'syntax-object
-                              #{expression 8061}#
-                              #{wrap 8062}#
-                              #{module 8063}#))
-                          (if (null? #{x 8029}#)
-                            #{x 8029}#
+                              #{expression 8064}#
+                              #{wrap 8065}#
+                              #{module 8066}#))
+                          (if (null? #{x 8032}#)
+                            #{x 8032}#
                             (vector
                               'syntax-object
-                              #{x 8029}#
-                              #{w 7917}#
-                              #{mod 7919}#)))))))))))))
-    (#{global-extend 4339}#
+                              #{x 8032}#
+                              #{w 7920}#
+                              #{mod 7922}#)))))))))))))
+    (#{global-extend 4411}#
       'core
       'letrec
-      (lambda (#{e 8714}#
-               #{r 8715}#
-               #{w 8716}#
-               #{s 8717}#
-               #{mod 8718}#)
-        (let ((#{tmp 8720}#
+      (lambda (#{e 8717}#
+               #{r 8718}#
+               #{w 8719}#
+               #{s 8720}#
+               #{mod 8721}#)
+        (let ((#{tmp 8723}#
                 ($sc-dispatch
-                  #{e 8714}#
+                  #{e 8717}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 8720}#
+          (if (if #{tmp 8723}#
                 (@apply
-                  (lambda (#{id 8724}#
-                           #{val 8725}#
-                           #{e1 8726}#
-                           #{e2 8727}#)
-                    (and-map #{id? 4341}# #{id 8724}#))
-                  #{tmp 8720}#)
+                  (lambda (#{id 8727}#
+                           #{val 8728}#
+                           #{e1 8729}#
+                           #{e2 8730}#)
+                    (and-map #{id? 4413}# #{id 8727}#))
+                  #{tmp 8723}#)
                 #f)
             (@apply
-              (lambda (#{id 8743}#
-                       #{val 8744}#
-                       #{e1 8745}#
-                       #{e2 8746}#)
-                (if (not (#{valid-bound-ids? 4363}# #{id 8743}#))
+              (lambda (#{id 8746}#
+                       #{val 8747}#
+                       #{e1 8748}#
+                       #{e2 8749}#)
+                (if (not (#{valid-bound-ids? 4436}# #{id 8746}#))
                   (syntax-violation
                     'letrec
                     "duplicate bound variable"
-                    #{e 8714}#)
-                  (let ((#{labels 8843}#
-                          (#{gen-labels 4344}# #{id 8743}#))
-                        (#{new-vars 8844}#
-                          (map #{gen-var 4387}# #{id 8743}#)))
-                    (let ((#{w 8845}#
-                            (#{make-binding-wrap 4355}#
-                              #{id 8743}#
-                              #{labels 8843}#
-                              #{w 8716}#))
-                          (#{r 8846}#
-                            (#{extend-var-env 4336}#
-                              #{labels 8843}#
-                              #{new-vars 8844}#
-                              #{r 8715}#)))
-                      (#{build-letrec 4325}#
-                        #{s 8717}#
+                    #{e 8717}#)
+                  (let ((#{labels 8846}#
+                          (#{gen-labels 4416}# #{id 8746}#))
+                        (#{new-vars 8847}#
+                          (map #{gen-var 4460}# #{id 8746}#)))
+                    (let ((#{w 8848}#
+                            (#{make-binding-wrap 4427}#
+                              #{id 8746}#
+                              #{labels 8846}#
+                              #{w 8719}#))
+                          (#{r 8849}#
+                            (#{extend-var-env 4409}#
+                              #{labels 8846}#
+                              #{new-vars 8847}#
+                              #{r 8718}#)))
+                      (#{build-letrec 4398}#
+                        #{s 8720}#
                         #f
-                        (map syntax->datum #{id 8743}#)
-                        #{new-vars 8844}#
-                        (map (lambda (#{x 8925}#)
-                               (#{chi 4373}#
-                                 #{x 8925}#
-                                 #{r 8846}#
-                                 #{w 8845}#
-                                 #{mod 8718}#))
-                             #{val 8744}#)
-                        (#{chi-body 4377}#
-                          (cons #{e1 8745}# #{e2 8746}#)
-                          (let ((#{x 8987}#
+                        (map syntax->datum #{id 8746}#)
+                        #{new-vars 8847}#
+                        (map (lambda (#{x 8928}#)
+                               (#{chi 4446}#
+                                 #{x 8928}#
+                                 #{r 8849}#
+                                 #{w 8848}#
+                                 #{mod 8721}#))
+                             #{val 8747}#)
+                        (#{chi-body 4450}#
+                          (cons #{e1 8748}# #{e2 8749}#)
+                          (let ((#{x 8990}#
                                   (begin
-                                    (if (if (pair? #{e 8714}#) #{s 8717}# #f)
+                                    (if (if (pair? #{e 8717}#) #{s 8720}# #f)
                                       (set-source-properties!
-                                        #{e 8714}#
-                                        #{s 8717}#))
-                                    #{e 8714}#)))
-                            (if (if (null? (car #{w 8845}#))
-                                  (null? (cdr #{w 8845}#))
+                                        #{e 8717}#
+                                        #{s 8720}#))
+                                    #{e 8717}#)))
+                            (if (if (null? (car #{w 8848}#))
+                                  (null? (cdr #{w 8848}#))
                                   #f)
-                              #{x 8987}#
-                              (if (if (vector? #{x 8987}#)
-                                    (if (= (vector-length #{x 8987}#) 4)
-                                      (eq? (vector-ref #{x 8987}# 0)
+                              #{x 8990}#
+                              (if (if (vector? #{x 8990}#)
+                                    (if (= (vector-length #{x 8990}#) 4)
+                                      (eq? (vector-ref #{x 8990}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 9019}#
-                                        (vector-ref #{x 8987}# 1))
-                                      (#{wrap 9020}#
-                                        (let ((#{w2 9028}#
-                                                (vector-ref #{x 8987}# 2)))
-                                          (let ((#{m1 9029}# (car #{w 8845}#))
-                                                (#{s1 9030}# (cdr #{w 8845}#)))
-                                            (if (null? #{m1 9029}#)
-                                              (if (null? #{s1 9030}#)
-                                                #{w2 9028}#
-                                                (cons (car #{w2 9028}#)
-                                                      (let ((#{m2 9045}#
-                                                              (cdr #{w2 
9028}#)))
-                                                        (if (null? #{m2 9045}#)
-                                                          #{s1 9030}#
+                                (let ((#{expression 9022}#
+                                        (vector-ref #{x 8990}# 1))
+                                      (#{wrap 9023}#
+                                        (let ((#{w2 9031}#
+                                                (vector-ref #{x 8990}# 2)))
+                                          (let ((#{m1 9032}# (car #{w 8848}#))
+                                                (#{s1 9033}# (cdr #{w 8848}#)))
+                                            (if (null? #{m1 9032}#)
+                                              (if (null? #{s1 9033}#)
+                                                #{w2 9031}#
+                                                (cons (car #{w2 9031}#)
+                                                      (let ((#{m2 9048}#
+                                                              (cdr #{w2 
9031}#)))
+                                                        (if (null? #{m2 9048}#)
+                                                          #{s1 9033}#
                                                           (append
-                                                            #{s1 9030}#
-                                                            #{m2 9045}#)))))
-                                              (cons (let ((#{m2 9053}#
-                                                            (car #{w2 9028}#)))
-                                                      (if (null? #{m2 9053}#)
-                                                        #{m1 9029}#
+                                                            #{s1 9033}#
+                                                            #{m2 9048}#)))))
+                                              (cons (let ((#{m2 9056}#
+                                                            (car #{w2 9031}#)))
+                                                      (if (null? #{m2 9056}#)
+                                                        #{m1 9032}#
                                                         (append
-                                                          #{m1 9029}#
-                                                          #{m2 9053}#)))
-                                                    (let ((#{m2 9061}#
-                                                            (cdr #{w2 9028}#)))
-                                                      (if (null? #{m2 9061}#)
-                                                        #{s1 9030}#
+                                                          #{m1 9032}#
+                                                          #{m2 9056}#)))
+                                                    (let ((#{m2 9064}#
+                                                            (cdr #{w2 9031}#)))
+                                                      (if (null? #{m2 9064}#)
+                                                        #{s1 9033}#
                                                         (append
-                                                          #{s1 9030}#
-                                                          #{m2 9061}#))))))))
-                                      (#{module 9021}#
-                                        (vector-ref #{x 8987}# 3)))
+                                                          #{s1 9033}#
+                                                          #{m2 9064}#))))))))
+                                      (#{module 9024}#
+                                        (vector-ref #{x 8990}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 9019}#
-                                    #{wrap 9020}#
-                                    #{module 9021}#))
-                                (if (null? #{x 8987}#)
-                                  #{x 8987}#
+                                    #{expression 9022}#
+                                    #{wrap 9023}#
+                                    #{module 9024}#))
+                                (if (null? #{x 8990}#)
+                                  #{x 8990}#
                                   (vector
                                     'syntax-object
-                                    #{x 8987}#
-                                    #{w 8845}#
-                                    #{mod 8718}#)))))
-                          #{r 8846}#
-                          #{w 8845}#
-                          #{mod 8718}#))))))
-              #{tmp 8720}#)
+                                    #{x 8990}#
+                                    #{w 8848}#
+                                    #{mod 8721}#)))))
+                          #{r 8849}#
+                          #{w 8848}#
+                          #{mod 8721}#))))))
+              #{tmp 8723}#)
             (syntax-violation
               'letrec
               "bad letrec"
-              (let ((#{x 9301}#
+              (let ((#{x 9304}#
                       (begin
-                        (if (if (pair? #{e 8714}#) #{s 8717}# #f)
-                          (set-source-properties! #{e 8714}# #{s 8717}#))
-                        #{e 8714}#)))
-                (if (if (null? (car #{w 8716}#))
-                      (null? (cdr #{w 8716}#))
+                        (if (if (pair? #{e 8717}#) #{s 8720}# #f)
+                          (set-source-properties! #{e 8717}# #{s 8720}#))
+                        #{e 8717}#)))
+                (if (if (null? (car #{w 8719}#))
+                      (null? (cdr #{w 8719}#))
                       #f)
-                  #{x 9301}#
-                  (if (if (vector? #{x 9301}#)
-                        (if (= (vector-length #{x 9301}#) 4)
-                          (eq? (vector-ref #{x 9301}# 0) 'syntax-object)
+                  #{x 9304}#
+                  (if (if (vector? #{x 9304}#)
+                        (if (= (vector-length #{x 9304}#) 4)
+                          (eq? (vector-ref #{x 9304}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 9333}# (vector-ref #{x 9301}# 1))
-                          (#{wrap 9334}#
-                            (let ((#{w2 9342}# (vector-ref #{x 9301}# 2)))
-                              (let ((#{m1 9343}# (car #{w 8716}#))
-                                    (#{s1 9344}# (cdr #{w 8716}#)))
-                                (if (null? #{m1 9343}#)
-                                  (if (null? #{s1 9344}#)
-                                    #{w2 9342}#
-                                    (cons (car #{w2 9342}#)
-                                          (let ((#{m2 9359}#
-                                                  (cdr #{w2 9342}#)))
-                                            (if (null? #{m2 9359}#)
-                                              #{s1 9344}#
+                    (let ((#{expression 9336}# (vector-ref #{x 9304}# 1))
+                          (#{wrap 9337}#
+                            (let ((#{w2 9345}# (vector-ref #{x 9304}# 2)))
+                              (let ((#{m1 9346}# (car #{w 8719}#))
+                                    (#{s1 9347}# (cdr #{w 8719}#)))
+                                (if (null? #{m1 9346}#)
+                                  (if (null? #{s1 9347}#)
+                                    #{w2 9345}#
+                                    (cons (car #{w2 9345}#)
+                                          (let ((#{m2 9362}#
+                                                  (cdr #{w2 9345}#)))
+                                            (if (null? #{m2 9362}#)
+                                              #{s1 9347}#
                                               (append
-                                                #{s1 9344}#
-                                                #{m2 9359}#)))))
-                                  (cons (let ((#{m2 9367}# (car #{w2 9342}#)))
-                                          (if (null? #{m2 9367}#)
-                                            #{m1 9343}#
-                                            (append #{m1 9343}# #{m2 9367}#)))
-                                        (let ((#{m2 9375}# (cdr #{w2 9342}#)))
-                                          (if (null? #{m2 9375}#)
-                                            #{s1 9344}#
+                                                #{s1 9347}#
+                                                #{m2 9362}#)))))
+                                  (cons (let ((#{m2 9370}# (car #{w2 9345}#)))
+                                          (if (null? #{m2 9370}#)
+                                            #{m1 9346}#
+                                            (append #{m1 9346}# #{m2 9370}#)))
+                                        (let ((#{m2 9378}# (cdr #{w2 9345}#)))
+                                          (if (null? #{m2 9378}#)
+                                            #{s1 9347}#
                                             (append
-                                              #{s1 9344}#
-                                              #{m2 9375}#))))))))
-                          (#{module 9335}# (vector-ref #{x 9301}# 3)))
+                                              #{s1 9347}#
+                                              #{m2 9378}#))))))))
+                          (#{module 9338}# (vector-ref #{x 9304}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 9333}#
-                        #{wrap 9334}#
-                        #{module 9335}#))
-                    (if (null? #{x 9301}#)
-                      #{x 9301}#
+                        #{expression 9336}#
+                        #{wrap 9337}#
+                        #{module 9338}#))
+                    (if (null? #{x 9304}#)
+                      #{x 9304}#
                       (vector
                         'syntax-object
-                        #{x 9301}#
-                        #{w 8716}#
-                        #{mod 8718}#))))))))))
-    (#{global-extend 4339}#
+                        #{x 9304}#
+                        #{w 8719}#
+                        #{mod 8721}#))))))))))
+    (#{global-extend 4411}#
       'core
       'letrec*
-      (lambda (#{e 9526}#
-               #{r 9527}#
-               #{w 9528}#
-               #{s 9529}#
-               #{mod 9530}#)
-        (let ((#{tmp 9532}#
+      (lambda (#{e 9529}#
+               #{r 9530}#
+               #{w 9531}#
+               #{s 9532}#
+               #{mod 9533}#)
+        (let ((#{tmp 9535}#
                 ($sc-dispatch
-                  #{e 9526}#
+                  #{e 9529}#
                   '(_ #(each (any any)) any . each-any))))
-          (if (if #{tmp 9532}#
+          (if (if #{tmp 9535}#
                 (@apply
-                  (lambda (#{id 9536}#
-                           #{val 9537}#
-                           #{e1 9538}#
-                           #{e2 9539}#)
-                    (and-map #{id? 4341}# #{id 9536}#))
-                  #{tmp 9532}#)
+                  (lambda (#{id 9539}#
+                           #{val 9540}#
+                           #{e1 9541}#
+                           #{e2 9542}#)
+                    (and-map #{id? 4413}# #{id 9539}#))
+                  #{tmp 9535}#)
                 #f)
             (@apply
-              (lambda (#{id 9555}#
-                       #{val 9556}#
-                       #{e1 9557}#
-                       #{e2 9558}#)
-                (if (not (#{valid-bound-ids? 4363}# #{id 9555}#))
+              (lambda (#{id 9558}#
+                       #{val 9559}#
+                       #{e1 9560}#
+                       #{e2 9561}#)
+                (if (not (#{valid-bound-ids? 4436}# #{id 9558}#))
                   (syntax-violation
                     'letrec*
                     "duplicate bound variable"
-                    #{e 9526}#)
-                  (let ((#{labels 9655}#
-                          (#{gen-labels 4344}# #{id 9555}#))
-                        (#{new-vars 9656}#
-                          (map #{gen-var 4387}# #{id 9555}#)))
-                    (let ((#{w 9657}#
-                            (#{make-binding-wrap 4355}#
-                              #{id 9555}#
-                              #{labels 9655}#
-                              #{w 9528}#))
-                          (#{r 9658}#
-                            (#{extend-var-env 4336}#
-                              #{labels 9655}#
-                              #{new-vars 9656}#
-                              #{r 9527}#)))
-                      (#{build-letrec 4325}#
-                        #{s 9529}#
+                    #{e 9529}#)
+                  (let ((#{labels 9658}#
+                          (#{gen-labels 4416}# #{id 9558}#))
+                        (#{new-vars 9659}#
+                          (map #{gen-var 4460}# #{id 9558}#)))
+                    (let ((#{w 9660}#
+                            (#{make-binding-wrap 4427}#
+                              #{id 9558}#
+                              #{labels 9658}#
+                              #{w 9531}#))
+                          (#{r 9661}#
+                            (#{extend-var-env 4409}#
+                              #{labels 9658}#
+                              #{new-vars 9659}#
+                              #{r 9530}#)))
+                      (#{build-letrec 4398}#
+                        #{s 9532}#
                         #t
-                        (map syntax->datum #{id 9555}#)
-                        #{new-vars 9656}#
-                        (map (lambda (#{x 9737}#)
-                               (#{chi 4373}#
-                                 #{x 9737}#
-                                 #{r 9658}#
-                                 #{w 9657}#
-                                 #{mod 9530}#))
-                             #{val 9556}#)
-                        (#{chi-body 4377}#
-                          (cons #{e1 9557}# #{e2 9558}#)
-                          (let ((#{x 9799}#
+                        (map syntax->datum #{id 9558}#)
+                        #{new-vars 9659}#
+                        (map (lambda (#{x 9740}#)
+                               (#{chi 4446}#
+                                 #{x 9740}#
+                                 #{r 9661}#
+                                 #{w 9660}#
+                                 #{mod 9533}#))
+                             #{val 9559}#)
+                        (#{chi-body 4450}#
+                          (cons #{e1 9560}# #{e2 9561}#)
+                          (let ((#{x 9802}#
                                   (begin
-                                    (if (if (pair? #{e 9526}#) #{s 9529}# #f)
+                                    (if (if (pair? #{e 9529}#) #{s 9532}# #f)
                                       (set-source-properties!
-                                        #{e 9526}#
-                                        #{s 9529}#))
-                                    #{e 9526}#)))
-                            (if (if (null? (car #{w 9657}#))
-                                  (null? (cdr #{w 9657}#))
+                                        #{e 9529}#
+                                        #{s 9532}#))
+                                    #{e 9529}#)))
+                            (if (if (null? (car #{w 9660}#))
+                                  (null? (cdr #{w 9660}#))
                                   #f)
-                              #{x 9799}#
-                              (if (if (vector? #{x 9799}#)
-                                    (if (= (vector-length #{x 9799}#) 4)
-                                      (eq? (vector-ref #{x 9799}# 0)
+                              #{x 9802}#
+                              (if (if (vector? #{x 9802}#)
+                                    (if (= (vector-length #{x 9802}#) 4)
+                                      (eq? (vector-ref #{x 9802}# 0)
                                            'syntax-object)
                                       #f)
                                     #f)
-                                (let ((#{expression 9831}#
-                                        (vector-ref #{x 9799}# 1))
-                                      (#{wrap 9832}#
-                                        (let ((#{w2 9840}#
-                                                (vector-ref #{x 9799}# 2)))
-                                          (let ((#{m1 9841}# (car #{w 9657}#))
-                                                (#{s1 9842}# (cdr #{w 9657}#)))
-                                            (if (null? #{m1 9841}#)
-                                              (if (null? #{s1 9842}#)
-                                                #{w2 9840}#
-                                                (cons (car #{w2 9840}#)
-                                                      (let ((#{m2 9857}#
-                                                              (cdr #{w2 
9840}#)))
-                                                        (if (null? #{m2 9857}#)
-                                                          #{s1 9842}#
+                                (let ((#{expression 9834}#
+                                        (vector-ref #{x 9802}# 1))
+                                      (#{wrap 9835}#
+                                        (let ((#{w2 9843}#
+                                                (vector-ref #{x 9802}# 2)))
+                                          (let ((#{m1 9844}# (car #{w 9660}#))
+                                                (#{s1 9845}# (cdr #{w 9660}#)))
+                                            (if (null? #{m1 9844}#)
+                                              (if (null? #{s1 9845}#)
+                                                #{w2 9843}#
+                                                (cons (car #{w2 9843}#)
+                                                      (let ((#{m2 9860}#
+                                                              (cdr #{w2 
9843}#)))
+                                                        (if (null? #{m2 9860}#)
+                                                          #{s1 9845}#
                                                           (append
-                                                            #{s1 9842}#
-                                                            #{m2 9857}#)))))
-                                              (cons (let ((#{m2 9865}#
-                                                            (car #{w2 9840}#)))
-                                                      (if (null? #{m2 9865}#)
-                                                        #{m1 9841}#
+                                                            #{s1 9845}#
+                                                            #{m2 9860}#)))))
+                                              (cons (let ((#{m2 9868}#
+                                                            (car #{w2 9843}#)))
+                                                      (if (null? #{m2 9868}#)
+                                                        #{m1 9844}#
                                                         (append
-                                                          #{m1 9841}#
-                                                          #{m2 9865}#)))
-                                                    (let ((#{m2 9873}#
-                                                            (cdr #{w2 9840}#)))
-                                                      (if (null? #{m2 9873}#)
-                                                        #{s1 9842}#
+                                                          #{m1 9844}#
+                                                          #{m2 9868}#)))
+                                                    (let ((#{m2 9876}#
+                                                            (cdr #{w2 9843}#)))
+                                                      (if (null? #{m2 9876}#)
+                                                        #{s1 9845}#
                                                         (append
-                                                          #{s1 9842}#
-                                                          #{m2 9873}#))))))))
-                                      (#{module 9833}#
-                                        (vector-ref #{x 9799}# 3)))
+                                                          #{s1 9845}#
+                                                          #{m2 9876}#))))))))
+                                      (#{module 9836}#
+                                        (vector-ref #{x 9802}# 3)))
                                   (vector
                                     'syntax-object
-                                    #{expression 9831}#
-                                    #{wrap 9832}#
-                                    #{module 9833}#))
-                                (if (null? #{x 9799}#)
-                                  #{x 9799}#
+                                    #{expression 9834}#
+                                    #{wrap 9835}#
+                                    #{module 9836}#))
+                                (if (null? #{x 9802}#)
+                                  #{x 9802}#
                                   (vector
                                     'syntax-object
-                                    #{x 9799}#
-                                    #{w 9657}#
-                                    #{mod 9530}#)))))
-                          #{r 9658}#
-                          #{w 9657}#
-                          #{mod 9530}#))))))
-              #{tmp 9532}#)
+                                    #{x 9802}#
+                                    #{w 9660}#
+                                    #{mod 9533}#)))))
+                          #{r 9661}#
+                          #{w 9660}#
+                          #{mod 9533}#))))))
+              #{tmp 9535}#)
             (syntax-violation
               'letrec*
               "bad letrec*"
-              (let ((#{x 10113}#
+              (let ((#{x 10116}#
                       (begin
-                        (if (if (pair? #{e 9526}#) #{s 9529}# #f)
-                          (set-source-properties! #{e 9526}# #{s 9529}#))
-                        #{e 9526}#)))
-                (if (if (null? (car #{w 9528}#))
-                      (null? (cdr #{w 9528}#))
+                        (if (if (pair? #{e 9529}#) #{s 9532}# #f)
+                          (set-source-properties! #{e 9529}# #{s 9532}#))
+                        #{e 9529}#)))
+                (if (if (null? (car #{w 9531}#))
+                      (null? (cdr #{w 9531}#))
                       #f)
-                  #{x 10113}#
-                  (if (if (vector? #{x 10113}#)
-                        (if (= (vector-length #{x 10113}#) 4)
-                          (eq? (vector-ref #{x 10113}# 0) 'syntax-object)
+                  #{x 10116}#
+                  (if (if (vector? #{x 10116}#)
+                        (if (= (vector-length #{x 10116}#) 4)
+                          (eq? (vector-ref #{x 10116}# 0) 'syntax-object)
                           #f)
                         #f)
-                    (let ((#{expression 10145}# (vector-ref #{x 10113}# 1))
-                          (#{wrap 10146}#
-                            (let ((#{w2 10154}# (vector-ref #{x 10113}# 2)))
-                              (let ((#{m1 10155}# (car #{w 9528}#))
-                                    (#{s1 10156}# (cdr #{w 9528}#)))
-                                (if (null? #{m1 10155}#)
-                                  (if (null? #{s1 10156}#)
-                                    #{w2 10154}#
-                                    (cons (car #{w2 10154}#)
-                                          (let ((#{m2 10171}#
-                                                  (cdr #{w2 10154}#)))
-                                            (if (null? #{m2 10171}#)
-                                              #{s1 10156}#
+                    (let ((#{expression 10148}# (vector-ref #{x 10116}# 1))
+                          (#{wrap 10149}#
+                            (let ((#{w2 10157}# (vector-ref #{x 10116}# 2)))
+                              (let ((#{m1 10158}# (car #{w 9531}#))
+                                    (#{s1 10159}# (cdr #{w 9531}#)))
+                                (if (null? #{m1 10158}#)
+                                  (if (null? #{s1 10159}#)
+                                    #{w2 10157}#
+                                    (cons (car #{w2 10157}#)
+                                          (let ((#{m2 10174}#
+                                                  (cdr #{w2 10157}#)))
+                                            (if (null? #{m2 10174}#)
+                                              #{s1 10159}#
                                               (append
-                                                #{s1 10156}#
-                                                #{m2 10171}#)))))
-                                  (cons (let ((#{m2 10179}#
-                                                (car #{w2 10154}#)))
-                                          (if (null? #{m2 10179}#)
-                                            #{m1 10155}#
+                                                #{s1 10159}#
+                                                #{m2 10174}#)))))
+                                  (cons (let ((#{m2 10182}#
+                                                (car #{w2 10157}#)))
+                                          (if (null? #{m2 10182}#)
+                                            #{m1 10158}#
                                             (append
-                                              #{m1 10155}#
-                                              #{m2 10179}#)))
-                                        (let ((#{m2 10187}#
-                                                (cdr #{w2 10154}#)))
-                                          (if (null? #{m2 10187}#)
-                                            #{s1 10156}#
+                                              #{m1 10158}#
+                                              #{m2 10182}#)))
+                                        (let ((#{m2 10190}#
+                                                (cdr #{w2 10157}#)))
+                                          (if (null? #{m2 10190}#)
+                                            #{s1 10159}#
                                             (append
-                                              #{s1 10156}#
-                                              #{m2 10187}#))))))))
-                          (#{module 10147}# (vector-ref #{x 10113}# 3)))
+                                              #{s1 10159}#
+                                              #{m2 10190}#))))))))
+                          (#{module 10150}# (vector-ref #{x 10116}# 3)))
                       (vector
                         'syntax-object
-                        #{expression 10145}#
-                        #{wrap 10146}#
-                        #{module 10147}#))
-                    (if (null? #{x 10113}#)
-                      #{x 10113}#
+                        #{expression 10148}#
+                        #{wrap 10149}#
+                        #{module 10150}#))
+                    (if (null? #{x 10116}#)
+                      #{x 10116}#
                       (vector
                         'syntax-object
-                        #{x 10113}#
-                        #{w 9528}#
-                        #{mod 9530}#))))))))))
-    (#{global-extend 4339}#
+                        #{x 10116}#
+                        #{w 9531}#
+                        #{mod 9533}#))))))))))
+    (#{global-extend 4411}#
       'core
       'set!
-      (lambda (#{e 10406}#
-               #{r 10407}#
-               #{w 10408}#
-               #{s 10409}#
-               #{mod 10410}#)
-        (let ((#{tmp 10412}#
-                ($sc-dispatch #{e 10406}# '(_ any any))))
-          (if (if #{tmp 10412}#
+      (lambda (#{e 10353}#
+               #{r 10354}#
+               #{w 10355}#
+               #{s 10356}#
+               #{mod 10357}#)
+        (let ((#{tmp 10359}#
+                ($sc-dispatch #{e 10353}# '(_ any any))))
+          (if (if #{tmp 10359}#
                 (@apply
-                  (lambda (#{id 10416}# #{val 10417}#)
-                    (if (symbol? #{id 10416}#)
+                  (lambda (#{id 10363}# #{val 10364}#)
+                    (if (symbol? #{id 10363}#)
                       #t
-                      (if (if (vector? #{id 10416}#)
-                            (if (= (vector-length #{id 10416}#) 4)
-                              (eq? (vector-ref #{id 10416}# 0) 'syntax-object)
+                      (if (if (vector? #{id 10363}#)
+                            (if (= (vector-length #{id 10363}#) 4)
+                              (eq? (vector-ref #{id 10363}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (symbol? (vector-ref #{id 10416}# 1))
+                        (symbol? (vector-ref #{id 10363}# 1))
                         #f)))
-                  #{tmp 10412}#)
+                  #{tmp 10359}#)
                 #f)
             (@apply
-              (lambda (#{id 10444}# #{val 10445}#)
-                (let ((#{n 10446}#
-                        (#{id-var-name 4360}# #{id 10444}# #{w 10408}#))
-                      (#{id-mod 10447}#
-                        (if (if (vector? #{id 10444}#)
-                              (if (= (vector-length #{id 10444}#) 4)
-                                (eq? (vector-ref #{id 10444}# 0)
-                                     'syntax-object)
-                                #f)
-                              #f)
-                          (vector-ref #{id 10444}# 3)
-                          #{mod 10410}#)))
-                  (let ((#{b 10448}#
-                          (let ((#{t 11165}# (assq #{n 10446}# #{r 10407}#)))
-                            (if #{t 11165}#
-                              (cdr #{t 11165}#)
-                              (if (symbol? #{n 10446}#)
-                                (let ((#{t 11170}#
-                                        (begin
-                                          (if (if (not #{id-mod 10447}#)
-                                                (current-module)
-                                                #f)
-                                            (warn "module system is booted, we 
should have a module"
-                                                  #{n 10446}#))
-                                          (let ((#{v 11207}#
-                                                  (module-variable
-                                                    (if #{id-mod 10447}#
-                                                      (resolve-module
-                                                        (cdr #{id-mod 10447}#))
-                                                      (current-module))
-                                                    #{n 10446}#)))
-                                            (if #{v 11207}#
-                                              (if (variable-bound? #{v 11207}#)
-                                                (let ((#{val 11216}#
-                                                        (variable-ref
-                                                          #{v 11207}#)))
-                                                  (if (macro? #{val 11216}#)
-                                                    (if (macro-type
-                                                          #{val 11216}#)
-                                                      (cons (macro-type
-                                                              #{val 11216}#)
-                                                            (macro-binding
-                                                              #{val 11216}#))
-                                                      #f)
-                                                    #f))
-                                                #f)
-                                              #f)))))
-                                  (if #{t 11170}# #{t 11170}# '(global)))
-                                '(displaced-lexical))))))
-                    (let ((#{atom-key 10449}# (car #{b 10448}#)))
-                      (if (let ((#{t 10488}# #{atom-key 10449}#))
-                            (eqv? #{t 10488}# 'lexical))
-                        (#{build-lexical-assignment 4311}#
-                          #{s 10409}#
-                          (syntax->datum #{id 10444}#)
-                          (cdr #{b 10448}#)
-                          (#{chi 4373}#
-                            #{val 10445}#
-                            #{r 10407}#
-                            #{w 10408}#
-                            #{mod 10410}#))
-                        (if (let ((#{t 10787}# #{atom-key 10449}#))
-                              (eqv? #{t 10787}# 'global))
-                          (#{build-global-assignment 4314}#
-                            #{s 10409}#
-                            #{n 10446}#
-                            (#{chi 4373}#
-                              #{val 10445}#
-                              #{r 10407}#
-                              #{w 10408}#
-                              #{mod 10410}#)
-                            #{id-mod 10447}#)
-                          (if (let ((#{t 11056}# #{atom-key 10449}#))
-                                (eqv? #{t 11056}# 'macro))
-                            (let ((#{p 11119}# (cdr #{b 10448}#)))
-                              (if (procedure-property
-                                    #{p 11119}#
-                                    'variable-transformer)
-                                (#{chi 4373}#
-                                  (#{chi-macro 4376}#
-                                    #{p 11119}#
-                                    #{e 10406}#
-                                    #{r 10407}#
-                                    #{w 10408}#
-                                    #{s 10409}#
-                                    #f
-                                    #{mod 10410}#)
-                                  #{r 10407}#
-                                  '(())
-                                  #{mod 10410}#)
-                                (syntax-violation
-                                  'set!
-                                  "not a variable transformer"
-                                  (if (if (null? (car #{w 10408}#))
-                                        (null? (cdr #{w 10408}#))
+              (lambda (#{id 10391}# #{val 10392}#)
+                (call-with-values
+                  (lambda ()
+                    (#{resolve-identifier 4433}#
+                      #{id 10391}#
+                      #{w 10355}#
+                      #{r 10354}#
+                      #{mod 10357}#
+                      #t))
+                  (lambda (#{type 10395}# #{value 10396}# #{id-mod 10397}#)
+                    (if (eqv? #{type 10395}# 'lexical)
+                      (#{build-lexical-assignment 4384}#
+                        #{s 10356}#
+                        (syntax->datum #{id 10391}#)
+                        #{value 10396}#
+                        (#{chi 4446}#
+                          #{val 10392}#
+                          #{r 10354}#
+                          #{w 10355}#
+                          #{mod 10357}#))
+                      (if (eqv? #{type 10395}# 'global)
+                        (#{build-global-assignment 4387}#
+                          #{s 10356}#
+                          #{value 10396}#
+                          (#{chi 4446}#
+                            #{val 10392}#
+                            #{r 10354}#
+                            #{w 10355}#
+                            #{mod 10357}#)
+                          #{id-mod 10397}#)
+                        (if (eqv? #{type 10395}# 'macro)
+                          (if (procedure-property
+                                #{value 10396}#
+                                'variable-transformer)
+                            (#{chi 4446}#
+                              (#{chi-macro 4449}#
+                                #{value 10396}#
+                                #{e 10353}#
+                                #{r 10354}#
+                                #{w 10355}#
+                                #{s 10356}#
+                                #f
+                                #{mod 10357}#)
+                              #{r 10354}#
+                              '(())
+                              #{mod 10357}#)
+                            (syntax-violation
+                              'set!
+                              "not a variable transformer"
+                              (if (if (null? (car #{w 10355}#))
+                                    (null? (cdr #{w 10355}#))
+                                    #f)
+                                #{e 10353}#
+                                (if (if (vector? #{e 10353}#)
+                                      (if (= (vector-length #{e 10353}#) 4)
+                                        (eq? (vector-ref #{e 10353}# 0)
+                                             'syntax-object)
                                         #f)
-                                    #{e 10406}#
-                                    (if (if (vector? #{e 10406}#)
-                                          (if (= (vector-length #{e 10406}#) 4)
-                                            (eq? (vector-ref #{e 10406}# 0)
-                                                 'syntax-object)
-                                            #f)
-                                          #f)
-                                      (let ((#{expression 11321}#
-                                              (vector-ref #{e 10406}# 1))
-                                            (#{wrap 11322}#
-                                              (let ((#{w2 11332}#
-                                                      (vector-ref
-                                                        #{e 10406}#
-                                                        2)))
-                                                (let ((#{m1 11333}#
-                                                        (car #{w 10408}#))
-                                                      (#{s1 11334}#
-                                                        (cdr #{w 10408}#)))
-                                                  (if (null? #{m1 11333}#)
-                                                    (if (null? #{s1 11334}#)
-                                                      #{w2 11332}#
-                                                      (cons (car #{w2 11332}#)
-                                                            (let ((#{m2 11351}#
-                                                                    (cdr #{w2 
11332}#)))
-                                                              (if (null? #{m2 
11351}#)
-                                                                #{s1 11334}#
-                                                                (append
-                                                                  #{s1 11334}#
-                                                                  #{m2 
11351}#)))))
-                                                    (cons (let ((#{m2 11359}#
-                                                                  (car #{w2 
11332}#)))
-                                                            (if (null? #{m2 
11359}#)
-                                                              #{m1 11333}#
-                                                              (append
-                                                                #{m1 11333}#
-                                                                #{m2 11359}#)))
-                                                          (let ((#{m2 11367}#
-                                                                  (cdr #{w2 
11332}#)))
-                                                            (if (null? #{m2 
11367}#)
-                                                              #{s1 11334}#
-                                                              (append
-                                                                #{s1 11334}#
-                                                                #{m2 
11367}#))))))))
-                                            (#{module 11323}#
-                                              (vector-ref #{e 10406}# 3)))
-                                        (vector
-                                          'syntax-object
-                                          #{expression 11321}#
-                                          #{wrap 11322}#
-                                          #{module 11323}#))
-                                      (if (null? #{e 10406}#)
-                                        #{e 10406}#
-                                        (vector
-                                          'syntax-object
-                                          #{e 10406}#
-                                          #{w 10408}#
-                                          #{mod 10410}#))))
-                                  (if (if (null? (car #{w 10408}#))
-                                        (null? (cdr #{w 10408}#))
+                                      #f)
+                                  (let ((#{expression 10857}#
+                                          (vector-ref #{e 10353}# 1))
+                                        (#{wrap 10858}#
+                                          (let ((#{w2 10868}#
+                                                  (vector-ref #{e 10353}# 2)))
+                                            (let ((#{m1 10869}#
+                                                    (car #{w 10355}#))
+                                                  (#{s1 10870}#
+                                                    (cdr #{w 10355}#)))
+                                              (if (null? #{m1 10869}#)
+                                                (if (null? #{s1 10870}#)
+                                                  #{w2 10868}#
+                                                  (cons (car #{w2 10868}#)
+                                                        (let ((#{m2 10887}#
+                                                                (cdr #{w2 
10868}#)))
+                                                          (if (null? #{m2 
10887}#)
+                                                            #{s1 10870}#
+                                                            (append
+                                                              #{s1 10870}#
+                                                              #{m2 10887}#)))))
+                                                (cons (let ((#{m2 10895}#
+                                                              (car #{w2 
10868}#)))
+                                                        (if (null? #{m2 
10895}#)
+                                                          #{m1 10869}#
+                                                          (append
+                                                            #{m1 10869}#
+                                                            #{m2 10895}#)))
+                                                      (let ((#{m2 10903}#
+                                                              (cdr #{w2 
10868}#)))
+                                                        (if (null? #{m2 
10903}#)
+                                                          #{s1 10870}#
+                                                          (append
+                                                            #{s1 10870}#
+                                                            #{m2 
10903}#))))))))
+                                        (#{module 10859}#
+                                          (vector-ref #{e 10353}# 3)))
+                                    (vector
+                                      'syntax-object
+                                      #{expression 10857}#
+                                      #{wrap 10858}#
+                                      #{module 10859}#))
+                                  (if (null? #{e 10353}#)
+                                    #{e 10353}#
+                                    (vector
+                                      'syntax-object
+                                      #{e 10353}#
+                                      #{w 10355}#
+                                      #{mod 10357}#))))
+                              (if (if (null? (car #{w 10355}#))
+                                    (null? (cdr #{w 10355}#))
+                                    #f)
+                                #{id 10391}#
+                                (if (if (vector? #{id 10391}#)
+                                      (if (= (vector-length #{id 10391}#) 4)
+                                        (eq? (vector-ref #{id 10391}# 0)
+                                             'syntax-object)
                                         #f)
-                                    #{id 10444}#
-                                    (if (if (vector? #{id 10444}#)
-                                          (if (= (vector-length #{id 10444}#)
-                                                 4)
-                                            (eq? (vector-ref #{id 10444}# 0)
-                                                 'syntax-object)
-                                            #f)
-                                          #f)
-                                      (let ((#{expression 11419}#
-                                              (vector-ref #{id 10444}# 1))
-                                            (#{wrap 11420}#
-                                              (let ((#{w2 11430}#
-                                                      (vector-ref
-                                                        #{id 10444}#
-                                                        2)))
-                                                (let ((#{m1 11431}#
-                                                        (car #{w 10408}#))
-                                                      (#{s1 11432}#
-                                                        (cdr #{w 10408}#)))
-                                                  (if (null? #{m1 11431}#)
-                                                    (if (null? #{s1 11432}#)
-                                                      #{w2 11430}#
-                                                      (cons (car #{w2 11430}#)
-                                                            (let ((#{m2 11449}#
-                                                                    (cdr #{w2 
11430}#)))
-                                                              (if (null? #{m2 
11449}#)
-                                                                #{s1 11432}#
-                                                                (append
-                                                                  #{s1 11432}#
-                                                                  #{m2 
11449}#)))))
-                                                    (cons (let ((#{m2 11457}#
-                                                                  (car #{w2 
11430}#)))
-                                                            (if (null? #{m2 
11457}#)
-                                                              #{m1 11431}#
-                                                              (append
-                                                                #{m1 11431}#
-                                                                #{m2 11457}#)))
-                                                          (let ((#{m2 11465}#
-                                                                  (cdr #{w2 
11430}#)))
-                                                            (if (null? #{m2 
11465}#)
-                                                              #{s1 11432}#
-                                                              (append
-                                                                #{s1 11432}#
-                                                                #{m2 
11465}#))))))))
-                                            (#{module 11421}#
-                                              (vector-ref #{id 10444}# 3)))
-                                        (vector
-                                          'syntax-object
-                                          #{expression 11419}#
-                                          #{wrap 11420}#
-                                          #{module 11421}#))
-                                      (if (null? #{id 10444}#)
-                                        #{id 10444}#
-                                        (vector
-                                          'syntax-object
-                                          #{id 10444}#
-                                          #{w 10408}#
-                                          #{id-mod 10447}#)))))))
-                            (if (eqv? #{atom-key 10449}# 'displaced-lexical)
-                              (syntax-violation
-                                'set!
-                                "identifier out of context"
-                                (if (if (null? (car #{w 10408}#))
-                                      (null? (cdr #{w 10408}#))
                                       #f)
-                                  #{id 10444}#
-                                  (if (if (vector? #{id 10444}#)
-                                        (if (= (vector-length #{id 10444}#) 4)
-                                          (eq? (vector-ref #{id 10444}# 0)
+                                  (let ((#{expression 10955}#
+                                          (vector-ref #{id 10391}# 1))
+                                        (#{wrap 10956}#
+                                          (let ((#{w2 10966}#
+                                                  (vector-ref #{id 10391}# 2)))
+                                            (let ((#{m1 10967}#
+                                                    (car #{w 10355}#))
+                                                  (#{s1 10968}#
+                                                    (cdr #{w 10355}#)))
+                                              (if (null? #{m1 10967}#)
+                                                (if (null? #{s1 10968}#)
+                                                  #{w2 10966}#
+                                                  (cons (car #{w2 10966}#)
+                                                        (let ((#{m2 10985}#
+                                                                (cdr #{w2 
10966}#)))
+                                                          (if (null? #{m2 
10985}#)
+                                                            #{s1 10968}#
+                                                            (append
+                                                              #{s1 10968}#
+                                                              #{m2 10985}#)))))
+                                                (cons (let ((#{m2 10993}#
+                                                              (car #{w2 
10966}#)))
+                                                        (if (null? #{m2 
10993}#)
+                                                          #{m1 10967}#
+                                                          (append
+                                                            #{m1 10967}#
+                                                            #{m2 10993}#)))
+                                                      (let ((#{m2 11001}#
+                                                              (cdr #{w2 
10966}#)))
+                                                        (if (null? #{m2 
11001}#)
+                                                          #{s1 10968}#
+                                                          (append
+                                                            #{s1 10968}#
+                                                            #{m2 
11001}#))))))))
+                                        (#{module 10957}#
+                                          (vector-ref #{id 10391}# 3)))
+                                    (vector
+                                      'syntax-object
+                                      #{expression 10955}#
+                                      #{wrap 10956}#
+                                      #{module 10957}#))
+                                  (if (null? #{id 10391}#)
+                                    #{id 10391}#
+                                    (vector
+                                      'syntax-object
+                                      #{id 10391}#
+                                      #{w 10355}#
+                                      #{id-mod 10397}#))))))
+                          (if (eqv? #{type 10395}# 'displaced-lexical)
+                            (syntax-violation
+                              'set!
+                              "identifier out of context"
+                              (if (if (null? (car #{w 10355}#))
+                                    (null? (cdr #{w 10355}#))
+                                    #f)
+                                #{id 10391}#
+                                (if (if (vector? #{id 10391}#)
+                                      (if (= (vector-length #{id 10391}#) 4)
+                                        (eq? (vector-ref #{id 10391}# 0)
+                                             'syntax-object)
+                                        #f)
+                                      #f)
+                                  (let ((#{expression 11056}#
+                                          (vector-ref #{id 10391}# 1))
+                                        (#{wrap 11057}#
+                                          (let ((#{w2 11067}#
+                                                  (vector-ref #{id 10391}# 2)))
+                                            (let ((#{m1 11068}#
+                                                    (car #{w 10355}#))
+                                                  (#{s1 11069}#
+                                                    (cdr #{w 10355}#)))
+                                              (if (null? #{m1 11068}#)
+                                                (if (null? #{s1 11069}#)
+                                                  #{w2 11067}#
+                                                  (cons (car #{w2 11067}#)
+                                                        (let ((#{m2 11086}#
+                                                                (cdr #{w2 
11067}#)))
+                                                          (if (null? #{m2 
11086}#)
+                                                            #{s1 11069}#
+                                                            (append
+                                                              #{s1 11069}#
+                                                              #{m2 11086}#)))))
+                                                (cons (let ((#{m2 11094}#
+                                                              (car #{w2 
11067}#)))
+                                                        (if (null? #{m2 
11094}#)
+                                                          #{m1 11068}#
+                                                          (append
+                                                            #{m1 11068}#
+                                                            #{m2 11094}#)))
+                                                      (let ((#{m2 11102}#
+                                                              (cdr #{w2 
11067}#)))
+                                                        (if (null? #{m2 
11102}#)
+                                                          #{s1 11069}#
+                                                          (append
+                                                            #{s1 11069}#
+                                                            #{m2 
11102}#))))))))
+                                        (#{module 11058}#
+                                          (vector-ref #{id 10391}# 3)))
+                                    (vector
+                                      'syntax-object
+                                      #{expression 11056}#
+                                      #{wrap 11057}#
+                                      #{module 11058}#))
+                                  (if (null? #{id 10391}#)
+                                    #{id 10391}#
+                                    (vector
+                                      'syntax-object
+                                      #{id 10391}#
+                                      #{w 10355}#
+                                      #{mod 10357}#)))))
+                            (syntax-violation
+                              'set!
+                              "bad set!"
+                              (let ((#{x 11134}#
+                                      (begin
+                                        (if (if (pair? #{e 10353}#)
+                                              #{s 10356}#
+                                              #f)
+                                          (set-source-properties!
+                                            #{e 10353}#
+                                            #{s 10356}#))
+                                        #{e 10353}#)))
+                                (if (if (null? (car #{w 10355}#))
+                                      (null? (cdr #{w 10355}#))
+                                      #f)
+                                  #{x 11134}#
+                                  (if (if (vector? #{x 11134}#)
+                                        (if (= (vector-length #{x 11134}#) 4)
+                                          (eq? (vector-ref #{x 11134}# 0)
                                                'syntax-object)
                                           #f)
                                         #f)
-                                    (let ((#{expression 11521}#
-                                            (vector-ref #{id 10444}# 1))
-                                          (#{wrap 11522}#
-                                            (let ((#{w2 11532}#
+                                    (let ((#{expression 11166}#
+                                            (vector-ref #{x 11134}# 1))
+                                          (#{wrap 11167}#
+                                            (let ((#{w2 11175}#
                                                     (vector-ref
-                                                      #{id 10444}#
+                                                      #{x 11134}#
                                                       2)))
-                                              (let ((#{m1 11533}#
-                                                      (car #{w 10408}#))
-                                                    (#{s1 11534}#
-                                                      (cdr #{w 10408}#)))
-                                                (if (null? #{m1 11533}#)
-                                                  (if (null? #{s1 11534}#)
-                                                    #{w2 11532}#
-                                                    (cons (car #{w2 11532}#)
-                                                          (let ((#{m2 11551}#
-                                                                  (cdr #{w2 
11532}#)))
-                                                            (if (null? #{m2 
11551}#)
-                                                              #{s1 11534}#
+                                              (let ((#{m1 11176}#
+                                                      (car #{w 10355}#))
+                                                    (#{s1 11177}#
+                                                      (cdr #{w 10355}#)))
+                                                (if (null? #{m1 11176}#)
+                                                  (if (null? #{s1 11177}#)
+                                                    #{w2 11175}#
+                                                    (cons (car #{w2 11175}#)
+                                                          (let ((#{m2 11192}#
+                                                                  (cdr #{w2 
11175}#)))
+                                                            (if (null? #{m2 
11192}#)
+                                                              #{s1 11177}#
                                                               (append
-                                                                #{s1 11534}#
-                                                                #{m2 
11551}#)))))
-                                                  (cons (let ((#{m2 11559}#
-                                                                (car #{w2 
11532}#)))
-                                                          (if (null? #{m2 
11559}#)
-                                                            #{m1 11533}#
+                                                                #{s1 11177}#
+                                                                #{m2 
11192}#)))))
+                                                  (cons (let ((#{m2 11200}#
+                                                                (car #{w2 
11175}#)))
+                                                          (if (null? #{m2 
11200}#)
+                                                            #{m1 11176}#
                                                             (append
-                                                              #{m1 11533}#
-                                                              #{m2 11559}#)))
-                                                        (let ((#{m2 11567}#
-                                                                (cdr #{w2 
11532}#)))
-                                                          (if (null? #{m2 
11567}#)
-                                                            #{s1 11534}#
+                                                              #{m1 11176}#
+                                                              #{m2 11200}#)))
+                                                        (let ((#{m2 11208}#
+                                                                (cdr #{w2 
11175}#)))
+                                                          (if (null? #{m2 
11208}#)
+                                                            #{s1 11177}#
                                                             (append
-                                                              #{s1 11534}#
-                                                              #{m2 
11567}#))))))))
-                                          (#{module 11523}#
-                                            (vector-ref #{id 10444}# 3)))
+                                                              #{s1 11177}#
+                                                              #{m2 
11208}#))))))))
+                                          (#{module 11168}#
+                                            (vector-ref #{x 11134}# 3)))
                                       (vector
                                         'syntax-object
-                                        #{expression 11521}#
-                                        #{wrap 11522}#
-                                        #{module 11523}#))
-                                    (if (null? #{id 10444}#)
-                                      #{id 10444}#
+                                        #{expression 11166}#
+                                        #{wrap 11167}#
+                                        #{module 11168}#))
+                                    (if (null? #{x 11134}#)
+                                      #{x 11134}#
                                       (vector
                                         'syntax-object
-                                        #{id 10444}#
-                                        #{w 10408}#
-                                        #{mod 10410}#)))))
-                              (syntax-violation
-                                'set!
-                                "bad set!"
-                                (let ((#{x 11599}#
-                                        (begin
-                                          (if (if (pair? #{e 10406}#)
-                                                #{s 10409}#
-                                                #f)
-                                            (set-source-properties!
-                                              #{e 10406}#
-                                              #{s 10409}#))
-                                          #{e 10406}#)))
-                                  (if (if (null? (car #{w 10408}#))
-                                        (null? (cdr #{w 10408}#))
-                                        #f)
-                                    #{x 11599}#
-                                    (if (if (vector? #{x 11599}#)
-                                          (if (= (vector-length #{x 11599}#) 4)
-                                            (eq? (vector-ref #{x 11599}# 0)
-                                                 'syntax-object)
-                                            #f)
-                                          #f)
-                                      (let ((#{expression 11631}#
-                                              (vector-ref #{x 11599}# 1))
-                                            (#{wrap 11632}#
-                                              (let ((#{w2 11640}#
-                                                      (vector-ref
-                                                        #{x 11599}#
-                                                        2)))
-                                                (let ((#{m1 11641}#
-                                                        (car #{w 10408}#))
-                                                      (#{s1 11642}#
-                                                        (cdr #{w 10408}#)))
-                                                  (if (null? #{m1 11641}#)
-                                                    (if (null? #{s1 11642}#)
-                                                      #{w2 11640}#
-                                                      (cons (car #{w2 11640}#)
-                                                            (let ((#{m2 11657}#
-                                                                    (cdr #{w2 
11640}#)))
-                                                              (if (null? #{m2 
11657}#)
-                                                                #{s1 11642}#
-                                                                (append
-                                                                  #{s1 11642}#
-                                                                  #{m2 
11657}#)))))
-                                                    (cons (let ((#{m2 11665}#
-                                                                  (car #{w2 
11640}#)))
-                                                            (if (null? #{m2 
11665}#)
-                                                              #{m1 11641}#
-                                                              (append
-                                                                #{m1 11641}#
-                                                                #{m2 11665}#)))
-                                                          (let ((#{m2 11673}#
-                                                                  (cdr #{w2 
11640}#)))
-                                                            (if (null? #{m2 
11673}#)
-                                                              #{s1 11642}#
-                                                              (append
-                                                                #{s1 11642}#
-                                                                #{m2 
11673}#))))))))
-                                            (#{module 11633}#
-                                              (vector-ref #{x 11599}# 3)))
-                                        (vector
-                                          'syntax-object
-                                          #{expression 11631}#
-                                          #{wrap 11632}#
-                                          #{module 11633}#))
-                                      (if (null? #{x 11599}#)
-                                        #{x 11599}#
-                                        (vector
-                                          'syntax-object
-                                          #{x 11599}#
-                                          #{w 10408}#
-                                          #{mod 10410}#))))))))))))))
-              #{tmp 10412}#)
-            (let ((#{tmp 11688}#
+                                        #{x 11134}#
+                                        #{w 10355}#
+                                        #{mod 10357}#)))))))))))))
+              #{tmp 10359}#)
+            (let ((#{tmp 11223}#
                     ($sc-dispatch
-                      #{e 10406}#
+                      #{e 10353}#
                       '(_ (any . each-any) any))))
-              (if #{tmp 11688}#
+              (if #{tmp 11223}#
                 (@apply
-                  (lambda (#{head 11692}# #{tail 11693}# #{val 11694}#)
+                  (lambda (#{head 11227}# #{tail 11228}# #{val 11229}#)
                     (call-with-values
                       (lambda ()
-                        (#{syntax-type 4372}#
-                          #{head 11692}#
-                          #{r 10407}#
+                        (#{syntax-type 4445}#
+                          #{head 11227}#
+                          #{r 10354}#
                           '(())
                           #f
                           #f
-                          #{mod 10410}#
+                          #{mod 10357}#
                           #t))
-                      (lambda (#{type 11697}#
-                               #{value 11698}#
-                               #{ee 11699}#
-                               #{ww 11700}#
-                               #{ss 11701}#
-                               #{modmod 11702}#)
-                        (if (eqv? #{type 11697}# 'module-ref)
-                          (let ((#{val 11706}#
-                                  (#{chi 4373}#
-                                    #{val 11694}#
-                                    #{r 10407}#
-                                    #{w 10408}#
-                                    #{mod 10410}#)))
+                      (lambda (#{type 11232}#
+                               #{value 11233}#
+                               #{ee 11234}#
+                               #{ww 11235}#
+                               #{ss 11236}#
+                               #{modmod 11237}#)
+                        (if (eqv? #{type 11232}# 'module-ref)
+                          (let ((#{val 11241}#
+                                  (#{chi 4446}#
+                                    #{val 11229}#
+                                    #{r 10354}#
+                                    #{w 10355}#
+                                    #{mod 10357}#)))
                             (call-with-values
                               (lambda ()
-                                (#{value 11698}#
-                                  (cons #{head 11692}# #{tail 11693}#)
-                                  #{r 10407}#
-                                  #{w 10408}#))
-                              (lambda (#{e 11707}#
-                                       #{r 11708}#
-                                       #{w 11709}#
-                                       #{s* 11710}#
-                                       #{mod 11711}#)
-                                (let ((#{tmp 11713}# (list #{e 11707}#)))
+                                (#{value 11233}#
+                                  (cons #{head 11227}# #{tail 11228}#)
+                                  #{r 10354}#
+                                  #{w 10355}#))
+                              (lambda (#{e 11242}#
+                                       #{r 11243}#
+                                       #{w 11244}#
+                                       #{s* 11245}#
+                                       #{mod 11246}#)
+                                (let ((#{tmp 11248}# (list #{e 11242}#)))
                                   (if (@apply
-                                        (lambda (#{e 11715}#)
-                                          (if (symbol? #{e 11715}#)
+                                        (lambda (#{e 11250}#)
+                                          (if (symbol? #{e 11250}#)
                                             #t
-                                            (if (if (vector? #{e 11715}#)
+                                            (if (if (vector? #{e 11250}#)
                                                   (if (= (vector-length
-                                                           #{e 11715}#)
+                                                           #{e 11250}#)
                                                          4)
                                                     (eq? (vector-ref
-                                                           #{e 11715}#
+                                                           #{e 11250}#
                                                            0)
                                                          'syntax-object)
                                                     #f)
                                                   #f)
                                               (symbol?
-                                                (vector-ref #{e 11715}# 1))
+                                                (vector-ref #{e 11250}# 1))
                                               #f)))
-                                        #{tmp 11713}#)
+                                        #{tmp 11248}#)
                                     (@apply
-                                      (lambda (#{e 11745}#)
-                                        (#{build-global-assignment 4314}#
-                                          #{s 10409}#
-                                          (syntax->datum #{e 11745}#)
-                                          #{val 11706}#
-                                          #{mod 11711}#))
-                                      #{tmp 11713}#)
+                                      (lambda (#{e 11280}#)
+                                        (#{build-global-assignment 4387}#
+                                          #{s 10356}#
+                                          (syntax->datum #{e 11280}#)
+                                          #{val 11241}#
+                                          #{mod 11246}#))
+                                      #{tmp 11248}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{e 11707}#))))))
-                          (#{build-call 4307}#
-                            #{s 10409}#
-                            (#{chi 4373}#
+                                      #{e 11242}#))))))
+                          (#{build-call 4380}#
+                            #{s 10356}#
+                            (#{chi 4446}#
                               (list '#(syntax-object
                                        setter
                                        ((top)
@@ -11011,25 +11168,25 @@
                                             (top)
                                             (top)
                                             (top))
-                                          #("i3585"
-                                            "i3586"
-                                            "i3587"
-                                            "i3588"
-                                            "i3589"
-                                            "i3590"))
+                                          #("i3658"
+                                            "i3659"
+                                            "i3660"
+                                            "i3661"
+                                            "i3662"
+                                            "i3663"))
                                         #(ribcage
                                           #(head tail val)
                                           #((top) (top) (top))
-                                          #("i3571" "i3572" "i3573"))
+                                          #("i3644" "i3645" "i3646"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(e r w s mod)
                                           #((top) (top) (top) (top) (top))
-                                          #("i3535"
-                                            "i3536"
-                                            "i3537"
-                                            "i3538"
-                                            "i3539"))
+                                          #("i3616"
+                                            "i3617"
+                                            "i3618"
+                                            "i3619"
+                                            "i3620"))
                                         #(ribcage
                                           (lambda-var-list
                                             gen-var
@@ -11059,6 +11216,7 @@
                                             valid-bound-ids?
                                             bound-id=?
                                             free-id=?
+                                            resolve-identifier
                                             id-var-name
                                             same-marks?
                                             join-marks
@@ -11096,7 +11254,6 @@
                                             id?
                                             nonsymbol-id?
                                             global-extend
-                                            lookup
                                             macros-only-env
                                             extend-var-env
                                             extend-env
@@ -11342,13 +11499,13 @@
                                            "i407"
                                            "i405"
                                            "i403"
-                                           "i402"
+                                           "i401"
                                            "i400"
-                                           "i397"
-                                           "i396"
+                                           "i398"
                                            "i395"
+                                           "i394"
                                            "i393"
-                                           "i392"
+                                           "i391"
                                            "i390"
                                            "i388"
                                            "i386"
@@ -11357,19 +11514,19 @@
                                            "i380"
                                            "i378"
                                            "i376"
-                                           "i373"
+                                           "i374"
                                            "i371"
-                                           "i370"
+                                           "i369"
                                            "i368"
                                            "i366"
                                            "i364"
                                            "i362"
-                                           "i361"
                                            "i360"
                                            "i359"
+                                           "i358"
                                            "i357"
-                                           "i356"
-                                           "i353"
+                                           "i355"
+                                           "i354"
                                            "i351"
                                            "i349"
                                            "i347"
@@ -11450,115 +11607,116 @@
                                             define-expansion-accessors
                                             define-expansion-constructors)
                                           ((top) (top) (top))
-                                          ("i46" "i45" "i44")))
+                                          ("i46" "i45" "i44"))
+                                        #(ribcage () () ()))
                                        (hygiene guile))
-                                    #{head 11692}#)
-                              #{r 10407}#
-                              #{w 10408}#
-                              #{mod 10410}#)
-                            (map (lambda (#{e 12074}#)
-                                   (#{chi 4373}#
-                                     #{e 12074}#
-                                     #{r 10407}#
-                                     #{w 10408}#
-                                     #{mod 10410}#))
+                                    #{head 11227}#)
+                              #{r 10354}#
+                              #{w 10355}#
+                              #{mod 10357}#)
+                            (map (lambda (#{e 11609}#)
+                                   (#{chi 4446}#
+                                     #{e 11609}#
+                                     #{r 10354}#
+                                     #{w 10355}#
+                                     #{mod 10357}#))
                                  (append
-                                   #{tail 11693}#
-                                   (list #{val 11694}#))))))))
-                  #{tmp 11688}#)
+                                   #{tail 11228}#
+                                   (list #{val 11229}#))))))))
+                  #{tmp 11223}#)
                 (syntax-violation
                   'set!
                   "bad set!"
-                  (let ((#{x 12166}#
+                  (let ((#{x 11701}#
                           (begin
-                            (if (if (pair? #{e 10406}#) #{s 10409}# #f)
-                              (set-source-properties! #{e 10406}# #{s 10409}#))
-                            #{e 10406}#)))
-                    (if (if (null? (car #{w 10408}#))
-                          (null? (cdr #{w 10408}#))
+                            (if (if (pair? #{e 10353}#) #{s 10356}# #f)
+                              (set-source-properties! #{e 10353}# #{s 10356}#))
+                            #{e 10353}#)))
+                    (if (if (null? (car #{w 10355}#))
+                          (null? (cdr #{w 10355}#))
                           #f)
-                      #{x 12166}#
-                      (if (if (vector? #{x 12166}#)
-                            (if (= (vector-length #{x 12166}#) 4)
-                              (eq? (vector-ref #{x 12166}# 0) 'syntax-object)
+                      #{x 11701}#
+                      (if (if (vector? #{x 11701}#)
+                            (if (= (vector-length #{x 11701}#) 4)
+                              (eq? (vector-ref #{x 11701}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 12198}# (vector-ref #{x 12166}# 1))
-                              (#{wrap 12199}#
-                                (let ((#{w2 12207}#
-                                        (vector-ref #{x 12166}# 2)))
-                                  (let ((#{m1 12208}# (car #{w 10408}#))
-                                        (#{s1 12209}# (cdr #{w 10408}#)))
-                                    (if (null? #{m1 12208}#)
-                                      (if (null? #{s1 12209}#)
-                                        #{w2 12207}#
-                                        (cons (car #{w2 12207}#)
-                                              (let ((#{m2 12224}#
-                                                      (cdr #{w2 12207}#)))
-                                                (if (null? #{m2 12224}#)
-                                                  #{s1 12209}#
+                        (let ((#{expression 11733}# (vector-ref #{x 11701}# 1))
+                              (#{wrap 11734}#
+                                (let ((#{w2 11742}#
+                                        (vector-ref #{x 11701}# 2)))
+                                  (let ((#{m1 11743}# (car #{w 10355}#))
+                                        (#{s1 11744}# (cdr #{w 10355}#)))
+                                    (if (null? #{m1 11743}#)
+                                      (if (null? #{s1 11744}#)
+                                        #{w2 11742}#
+                                        (cons (car #{w2 11742}#)
+                                              (let ((#{m2 11759}#
+                                                      (cdr #{w2 11742}#)))
+                                                (if (null? #{m2 11759}#)
+                                                  #{s1 11744}#
                                                   (append
-                                                    #{s1 12209}#
-                                                    #{m2 12224}#)))))
-                                      (cons (let ((#{m2 12232}#
-                                                    (car #{w2 12207}#)))
-                                              (if (null? #{m2 12232}#)
-                                                #{m1 12208}#
+                                                    #{s1 11744}#
+                                                    #{m2 11759}#)))))
+                                      (cons (let ((#{m2 11767}#
+                                                    (car #{w2 11742}#)))
+                                              (if (null? #{m2 11767}#)
+                                                #{m1 11743}#
                                                 (append
-                                                  #{m1 12208}#
-                                                  #{m2 12232}#)))
-                                            (let ((#{m2 12240}#
-                                                    (cdr #{w2 12207}#)))
-                                              (if (null? #{m2 12240}#)
-                                                #{s1 12209}#
+                                                  #{m1 11743}#
+                                                  #{m2 11767}#)))
+                                            (let ((#{m2 11775}#
+                                                    (cdr #{w2 11742}#)))
+                                              (if (null? #{m2 11775}#)
+                                                #{s1 11744}#
                                                 (append
-                                                  #{s1 12209}#
-                                                  #{m2 12240}#))))))))
-                              (#{module 12200}# (vector-ref #{x 12166}# 3)))
+                                                  #{s1 11744}#
+                                                  #{m2 11775}#))))))))
+                              (#{module 11735}# (vector-ref #{x 11701}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 12198}#
-                            #{wrap 12199}#
-                            #{module 12200}#))
-                        (if (null? #{x 12166}#)
-                          #{x 12166}#
+                            #{expression 11733}#
+                            #{wrap 11734}#
+                            #{module 11735}#))
+                        (if (null? #{x 11701}#)
+                          #{x 11701}#
                           (vector
                             'syntax-object
-                            #{x 12166}#
-                            #{w 10408}#
-                            #{mod 10410}#))))))))))))
+                            #{x 11701}#
+                            #{w 10355}#
+                            #{mod 10357}#))))))))))))
     (module-define!
       (current-module)
       '@
       (make-syntax-transformer
         '@
         'module-ref
-        (lambda (#{e 12271}# #{r 12272}# #{w 12273}#)
-          (let ((#{tmp 12275}#
-                  ($sc-dispatch #{e 12271}# '(_ each-any any))))
-            (if (if #{tmp 12275}#
+        (lambda (#{e 11806}# #{r 11807}# #{w 11808}#)
+          (let ((#{tmp 11810}#
+                  ($sc-dispatch #{e 11806}# '(_ each-any any))))
+            (if (if #{tmp 11810}#
                   (@apply
-                    (lambda (#{mod 12278}# #{id 12279}#)
-                      (if (and-map #{id? 4341}# #{mod 12278}#)
-                        (if (symbol? #{id 12279}#)
+                    (lambda (#{mod 11813}# #{id 11814}#)
+                      (if (and-map #{id? 4413}# #{mod 11813}#)
+                        (if (symbol? #{id 11814}#)
                           #t
-                          (if (if (vector? #{id 12279}#)
-                                (if (= (vector-length #{id 12279}#) 4)
-                                  (eq? (vector-ref #{id 12279}# 0)
+                          (if (if (vector? #{id 11814}#)
+                                (if (= (vector-length #{id 11814}#) 4)
+                                  (eq? (vector-ref #{id 11814}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{id 12279}# 1))
+                            (symbol? (vector-ref #{id 11814}# 1))
                             #f))
                         #f))
-                    #{tmp 12275}#)
+                    #{tmp 11810}#)
                   #f)
               (@apply
-                (lambda (#{mod 12319}# #{id 12320}#)
+                (lambda (#{mod 11854}# #{id 11855}#)
                   (values
-                    (syntax->datum #{id 12320}#)
-                    #{r 12272}#
-                    #{w 12273}#
+                    (syntax->datum #{id 11855}#)
+                    #{r 11807}#
+                    #{w 11808}#
                     #f
                     (syntax->datum
                       (cons '#(syntax-object
@@ -11567,12 +11725,12 @@
                                 #(ribcage
                                   #(mod id)
                                   #((top) (top))
-                                  #("i3632" "i3633"))
+                                  #("i3705" "i3706"))
                                 #(ribcage () () ())
                                 #(ribcage
                                   #(e r w)
                                   #((top) (top) (top))
-                                  #("i3620" "i3621" "i3622"))
+                                  #("i3693" "i3694" "i3695"))
                                 #(ribcage
                                   (lambda-var-list
                                     gen-var
@@ -11602,6 +11760,7 @@
                                     valid-bound-ids?
                                     bound-id=?
                                     free-id=?
+                                    resolve-identifier
                                     id-var-name
                                     same-marks?
                                     join-marks
@@ -11639,7 +11798,6 @@
                                     id?
                                     nonsymbol-id?
                                     global-extend
-                                    lookup
                                     macros-only-env
                                     extend-var-env
                                     extend-env
@@ -11885,13 +12043,13 @@
                                    "i407"
                                    "i405"
                                    "i403"
-                                   "i402"
+                                   "i401"
                                    "i400"
-                                   "i397"
-                                   "i396"
+                                   "i398"
                                    "i395"
+                                   "i394"
                                    "i393"
-                                   "i392"
+                                   "i391"
                                    "i390"
                                    "i388"
                                    "i386"
@@ -11900,19 +12058,19 @@
                                    "i380"
                                    "i378"
                                    "i376"
-                                   "i373"
+                                   "i374"
                                    "i371"
-                                   "i370"
+                                   "i369"
                                    "i368"
                                    "i366"
                                    "i364"
                                    "i362"
-                                   "i361"
                                    "i360"
                                    "i359"
+                                   "i358"
                                    "i357"
-                                   "i356"
-                                   "i353"
+                                   "i355"
+                                   "i354"
                                    "i351"
                                    "i349"
                                    "i347"
@@ -11993,72 +12151,73 @@
                                     define-expansion-accessors
                                     define-expansion-constructors)
                                   ((top) (top) (top))
-                                  ("i46" "i45" "i44")))
+                                  ("i46" "i45" "i44"))
+                                #(ribcage () () ()))
                                (hygiene guile))
-                            #{mod 12319}#))))
-                #{tmp 12275}#)
+                            #{mod 11854}#))))
+                #{tmp 11810}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{e 12271}#))))))
-    (#{global-extend 4339}#
+                #{e 11806}#))))))
+    (#{global-extend 4411}#
       'module-ref
       '@@
-      (lambda (#{e 12424}# #{r 12425}# #{w 12426}#)
+      (lambda (#{e 11959}# #{r 11960}# #{w 11961}#)
         (letrec*
-          ((#{remodulate 12427}#
-             (lambda (#{x 12663}# #{mod 12664}#)
-               (if (pair? #{x 12663}#)
-                 (cons (#{remodulate 12427}#
-                         (car #{x 12663}#)
-                         #{mod 12664}#)
-                       (#{remodulate 12427}#
-                         (cdr #{x 12663}#)
-                         #{mod 12664}#))
-                 (if (if (vector? #{x 12663}#)
-                       (if (= (vector-length #{x 12663}#) 4)
-                         (eq? (vector-ref #{x 12663}# 0) 'syntax-object)
+          ((#{remodulate 11962}#
+             (lambda (#{x 12198}# #{mod 12199}#)
+               (if (pair? #{x 12198}#)
+                 (cons (#{remodulate 11962}#
+                         (car #{x 12198}#)
+                         #{mod 12199}#)
+                       (#{remodulate 11962}#
+                         (cdr #{x 12198}#)
+                         #{mod 12199}#))
+                 (if (if (vector? #{x 12198}#)
+                       (if (= (vector-length #{x 12198}#) 4)
+                         (eq? (vector-ref #{x 12198}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (let ((#{expression 12678}#
-                           (#{remodulate 12427}#
-                             (vector-ref #{x 12663}# 1)
-                             #{mod 12664}#))
-                         (#{wrap 12679}# (vector-ref #{x 12663}# 2)))
+                   (let ((#{expression 12213}#
+                           (#{remodulate 11962}#
+                             (vector-ref #{x 12198}# 1)
+                             #{mod 12199}#))
+                         (#{wrap 12214}# (vector-ref #{x 12198}# 2)))
                      (vector
                        'syntax-object
-                       #{expression 12678}#
-                       #{wrap 12679}#
-                       #{mod 12664}#))
-                   (if (vector? #{x 12663}#)
-                     (let ((#{n 12687}# (vector-length #{x 12663}#)))
-                       (let ((#{v 12688}# (make-vector #{n 12687}#)))
+                       #{expression 12213}#
+                       #{wrap 12214}#
+                       #{mod 12199}#))
+                   (if (vector? #{x 12198}#)
+                     (let ((#{n 12222}# (vector-length #{x 12198}#)))
+                       (let ((#{v 12223}# (make-vector #{n 12222}#)))
                          (letrec*
-                           ((#{loop 12689}#
-                              (lambda (#{i 12744}#)
-                                (if (= #{i 12744}# #{n 12687}#)
-                                  #{v 12688}#
+                           ((#{loop 12224}#
+                              (lambda (#{i 12279}#)
+                                (if (= #{i 12279}# #{n 12222}#)
+                                  #{v 12223}#
                                   (begin
                                     (vector-set!
-                                      #{v 12688}#
-                                      #{i 12744}#
-                                      (#{remodulate 12427}#
-                                        (vector-ref #{x 12663}# #{i 12744}#)
-                                        #{mod 12664}#))
-                                    (#{loop 12689}# (#{1+}# #{i 12744}#)))))))
-                           (#{loop 12689}# 0))))
-                     #{x 12663}#))))))
-          (let ((#{tmp 12429}#
-                  ($sc-dispatch #{e 12424}# '(_ each-any any))))
-            (if (if #{tmp 12429}#
+                                      #{v 12223}#
+                                      #{i 12279}#
+                                      (#{remodulate 11962}#
+                                        (vector-ref #{x 12198}# #{i 12279}#)
+                                        #{mod 12199}#))
+                                    (#{loop 12224}# (#{1+}# #{i 12279}#)))))))
+                           (#{loop 12224}# 0))))
+                     #{x 12198}#))))))
+          (let ((#{tmp 11964}#
+                  ($sc-dispatch #{e 11959}# '(_ each-any any))))
+            (if (if #{tmp 11964}#
                   (@apply
-                    (lambda (#{mod 12433}# #{exp 12434}#)
-                      (and-map #{id? 4341}# #{mod 12433}#))
-                    #{tmp 12429}#)
+                    (lambda (#{mod 11968}# #{exp 11969}#)
+                      (and-map #{id? 4413}# #{mod 11968}#))
+                    #{tmp 11964}#)
                   #f)
               (@apply
-                (lambda (#{mod 12450}# #{exp 12451}#)
-                  (let ((#{mod 12452}#
+                (lambda (#{mod 11985}# #{exp 11986}#)
+                  (let ((#{mod 11987}#
                           (syntax->datum
                             (cons '#(syntax-object
                                      private
@@ -12066,12 +12225,12 @@
                                       #(ribcage
                                         #(mod exp)
                                         #((top) (top))
-                                        #("i3676" "i3677"))
-                                      #(ribcage (remodulate) ((top)) ("i3643"))
+                                        #("i3749" "i3750"))
+                                      #(ribcage (remodulate) ((top)) ("i3716"))
                                       #(ribcage
                                         #(e r w)
                                         #((top) (top) (top))
-                                        #("i3640" "i3641" "i3642"))
+                                        #("i3713" "i3714" "i3715"))
                                       #(ribcage
                                         (lambda-var-list
                                           gen-var
@@ -12101,6 +12260,7 @@
                                           valid-bound-ids?
                                           bound-id=?
                                           free-id=?
+                                          resolve-identifier
                                           id-var-name
                                           same-marks?
                                           join-marks
@@ -12138,7 +12298,6 @@
                                           id?
                                           nonsymbol-id?
                                           global-extend
-                                          lookup
                                           macros-only-env
                                           extend-var-env
                                           extend-env
@@ -12384,13 +12543,13 @@
                                          "i407"
                                          "i405"
                                          "i403"
-                                         "i402"
+                                         "i401"
                                          "i400"
-                                         "i397"
-                                         "i396"
+                                         "i398"
                                          "i395"
+                                         "i394"
                                          "i393"
-                                         "i392"
+                                         "i391"
                                          "i390"
                                          "i388"
                                          "i386"
@@ -12399,19 +12558,19 @@
                                          "i380"
                                          "i378"
                                          "i376"
-                                         "i373"
+                                         "i374"
                                          "i371"
-                                         "i370"
+                                         "i369"
                                          "i368"
                                          "i366"
                                          "i364"
                                          "i362"
-                                         "i361"
                                          "i360"
                                          "i359"
+                                         "i358"
                                          "i357"
-                                         "i356"
-                                         "i353"
+                                         "i355"
+                                         "i354"
                                          "i351"
                                          "i349"
                                          "i347"
@@ -12492,183 +12651,184 @@
                                           define-expansion-accessors
                                           define-expansion-constructors)
                                         ((top) (top) (top))
-                                        ("i46" "i45" "i44")))
+                                        ("i46" "i45" "i44"))
+                                      #(ribcage () () ()))
                                      (hygiene guile))
-                                  #{mod 12450}#))))
+                                  #{mod 11985}#))))
                     (values
-                      (#{remodulate 12427}#
-                        #{exp 12451}#
-                        #{mod 12452}#)
-                      #{r 12425}#
-                      #{w 12426}#
-                      (#{source-annotation 4334}# #{exp 12451}#)
-                      #{mod 12452}#)))
-                #{tmp 12429}#)
+                      (#{remodulate 11962}#
+                        #{exp 11986}#
+                        #{mod 11987}#)
+                      #{r 11960}#
+                      #{w 11961}#
+                      (#{source-annotation 4407}# #{exp 11986}#)
+                      #{mod 11987}#)))
+                #{tmp 11964}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{e 12424}#))))))
-    (#{global-extend 4339}#
+                #{e 11959}#))))))
+    (#{global-extend 4411}#
       'core
       'if
-      (lambda (#{e 12857}#
-               #{r 12858}#
-               #{w 12859}#
-               #{s 12860}#
-               #{mod 12861}#)
-        (let ((#{tmp 12863}#
-                ($sc-dispatch #{e 12857}# '(_ any any))))
-          (if #{tmp 12863}#
+      (lambda (#{e 12392}#
+               #{r 12393}#
+               #{w 12394}#
+               #{s 12395}#
+               #{mod 12396}#)
+        (let ((#{tmp 12398}#
+                ($sc-dispatch #{e 12392}# '(_ any any))))
+          (if #{tmp 12398}#
             (@apply
-              (lambda (#{test 12867}# #{then 12868}#)
-                (#{build-conditional 4308}#
-                  #{s 12860}#
-                  (#{chi 4373}#
-                    #{test 12867}#
-                    #{r 12858}#
-                    #{w 12859}#
-                    #{mod 12861}#)
-                  (#{chi 4373}#
-                    #{then 12868}#
-                    #{r 12858}#
-                    #{w 12859}#
-                    #{mod 12861}#)
+              (lambda (#{test 12402}# #{then 12403}#)
+                (#{build-conditional 4381}#
+                  #{s 12395}#
+                  (#{chi 4446}#
+                    #{test 12402}#
+                    #{r 12393}#
+                    #{w 12394}#
+                    #{mod 12396}#)
+                  (#{chi 4446}#
+                    #{then 12403}#
+                    #{r 12393}#
+                    #{w 12394}#
+                    #{mod 12396}#)
                   (make-struct/no-tail
                     (vector-ref %expanded-vtables 0)
                     #f)))
-              #{tmp 12863}#)
-            (let ((#{tmp 13129}#
-                    ($sc-dispatch #{e 12857}# '(_ any any any))))
-              (if #{tmp 13129}#
+              #{tmp 12398}#)
+            (let ((#{tmp 12664}#
+                    ($sc-dispatch #{e 12392}# '(_ any any any))))
+              (if #{tmp 12664}#
                 (@apply
-                  (lambda (#{test 13133}# #{then 13134}# #{else 13135}#)
-                    (#{build-conditional 4308}#
-                      #{s 12860}#
-                      (#{chi 4373}#
-                        #{test 13133}#
-                        #{r 12858}#
-                        #{w 12859}#
-                        #{mod 12861}#)
-                      (#{chi 4373}#
-                        #{then 13134}#
-                        #{r 12858}#
-                        #{w 12859}#
-                        #{mod 12861}#)
-                      (#{chi 4373}#
-                        #{else 13135}#
-                        #{r 12858}#
-                        #{w 12859}#
-                        #{mod 12861}#)))
-                  #{tmp 13129}#)
+                  (lambda (#{test 12668}# #{then 12669}# #{else 12670}#)
+                    (#{build-conditional 4381}#
+                      #{s 12395}#
+                      (#{chi 4446}#
+                        #{test 12668}#
+                        #{r 12393}#
+                        #{w 12394}#
+                        #{mod 12396}#)
+                      (#{chi 4446}#
+                        #{then 12669}#
+                        #{r 12393}#
+                        #{w 12394}#
+                        #{mod 12396}#)
+                      (#{chi 4446}#
+                        #{else 12670}#
+                        #{r 12393}#
+                        #{w 12394}#
+                        #{mod 12396}#)))
+                  #{tmp 12664}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{e 12857}#)))))))
-    (#{global-extend 4339}#
+                  #{e 12392}#)))))))
+    (#{global-extend 4411}#
       'core
       'with-fluids
-      (lambda (#{e 13594}#
-               #{r 13595}#
-               #{w 13596}#
-               #{s 13597}#
-               #{mod 13598}#)
-        (let ((#{tmp 13600}#
+      (lambda (#{e 13129}#
+               #{r 13130}#
+               #{w 13131}#
+               #{s 13132}#
+               #{mod 13133}#)
+        (let ((#{tmp 13135}#
                 ($sc-dispatch
-                  #{e 13594}#
+                  #{e 13129}#
                   '(_ #(each (any any)) any . each-any))))
-          (if #{tmp 13600}#
+          (if #{tmp 13135}#
             (@apply
-              (lambda (#{fluid 13604}#
-                       #{val 13605}#
-                       #{b 13606}#
-                       #{b* 13607}#)
-                (#{build-dynlet 4309}#
-                  #{s 13597}#
-                  (map (lambda (#{x 13700}#)
-                         (#{chi 4373}#
-                           #{x 13700}#
-                           #{r 13595}#
-                           #{w 13596}#
-                           #{mod 13598}#))
-                       #{fluid 13604}#)
-                  (map (lambda (#{x 13782}#)
-                         (#{chi 4373}#
-                           #{x 13782}#
-                           #{r 13595}#
-                           #{w 13596}#
-                           #{mod 13598}#))
-                       #{val 13605}#)
-                  (#{chi-body 4377}#
-                    (cons #{b 13606}# #{b* 13607}#)
-                    (let ((#{x 13875}#
+              (lambda (#{fluid 13139}#
+                       #{val 13140}#
+                       #{b 13141}#
+                       #{b* 13142}#)
+                (#{build-dynlet 4382}#
+                  #{s 13132}#
+                  (map (lambda (#{x 13235}#)
+                         (#{chi 4446}#
+                           #{x 13235}#
+                           #{r 13130}#
+                           #{w 13131}#
+                           #{mod 13133}#))
+                       #{fluid 13139}#)
+                  (map (lambda (#{x 13317}#)
+                         (#{chi 4446}#
+                           #{x 13317}#
+                           #{r 13130}#
+                           #{w 13131}#
+                           #{mod 13133}#))
+                       #{val 13140}#)
+                  (#{chi-body 4450}#
+                    (cons #{b 13141}# #{b* 13142}#)
+                    (let ((#{x 13410}#
                             (begin
-                              (if (if (pair? #{e 13594}#) #{s 13597}# #f)
+                              (if (if (pair? #{e 13129}#) #{s 13132}# #f)
                                 (set-source-properties!
-                                  #{e 13594}#
-                                  #{s 13597}#))
-                              #{e 13594}#)))
-                      (if (if (null? (car #{w 13596}#))
-                            (null? (cdr #{w 13596}#))
+                                  #{e 13129}#
+                                  #{s 13132}#))
+                              #{e 13129}#)))
+                      (if (if (null? (car #{w 13131}#))
+                            (null? (cdr #{w 13131}#))
                             #f)
-                        #{x 13875}#
-                        (if (if (vector? #{x 13875}#)
-                              (if (= (vector-length #{x 13875}#) 4)
-                                (eq? (vector-ref #{x 13875}# 0) 'syntax-object)
+                        #{x 13410}#
+                        (if (if (vector? #{x 13410}#)
+                              (if (= (vector-length #{x 13410}#) 4)
+                                (eq? (vector-ref #{x 13410}# 0) 'syntax-object)
                                 #f)
                               #f)
-                          (let ((#{expression 13907}#
-                                  (vector-ref #{x 13875}# 1))
-                                (#{wrap 13908}#
-                                  (let ((#{w2 13916}#
-                                          (vector-ref #{x 13875}# 2)))
-                                    (let ((#{m1 13917}# (car #{w 13596}#))
-                                          (#{s1 13918}# (cdr #{w 13596}#)))
-                                      (if (null? #{m1 13917}#)
-                                        (if (null? #{s1 13918}#)
-                                          #{w2 13916}#
-                                          (cons (car #{w2 13916}#)
-                                                (let ((#{m2 13933}#
-                                                        (cdr #{w2 13916}#)))
-                                                  (if (null? #{m2 13933}#)
-                                                    #{s1 13918}#
+                          (let ((#{expression 13442}#
+                                  (vector-ref #{x 13410}# 1))
+                                (#{wrap 13443}#
+                                  (let ((#{w2 13451}#
+                                          (vector-ref #{x 13410}# 2)))
+                                    (let ((#{m1 13452}# (car #{w 13131}#))
+                                          (#{s1 13453}# (cdr #{w 13131}#)))
+                                      (if (null? #{m1 13452}#)
+                                        (if (null? #{s1 13453}#)
+                                          #{w2 13451}#
+                                          (cons (car #{w2 13451}#)
+                                                (let ((#{m2 13468}#
+                                                        (cdr #{w2 13451}#)))
+                                                  (if (null? #{m2 13468}#)
+                                                    #{s1 13453}#
                                                     (append
-                                                      #{s1 13918}#
-                                                      #{m2 13933}#)))))
-                                        (cons (let ((#{m2 13941}#
-                                                      (car #{w2 13916}#)))
-                                                (if (null? #{m2 13941}#)
-                                                  #{m1 13917}#
+                                                      #{s1 13453}#
+                                                      #{m2 13468}#)))))
+                                        (cons (let ((#{m2 13476}#
+                                                      (car #{w2 13451}#)))
+                                                (if (null? #{m2 13476}#)
+                                                  #{m1 13452}#
                                                   (append
-                                                    #{m1 13917}#
-                                                    #{m2 13941}#)))
-                                              (let ((#{m2 13949}#
-                                                      (cdr #{w2 13916}#)))
-                                                (if (null? #{m2 13949}#)
-                                                  #{s1 13918}#
+                                                    #{m1 13452}#
+                                                    #{m2 13476}#)))
+                                              (let ((#{m2 13484}#
+                                                      (cdr #{w2 13451}#)))
+                                                (if (null? #{m2 13484}#)
+                                                  #{s1 13453}#
                                                   (append
-                                                    #{s1 13918}#
-                                                    #{m2 13949}#))))))))
-                                (#{module 13909}# (vector-ref #{x 13875}# 3)))
+                                                    #{s1 13453}#
+                                                    #{m2 13484}#))))))))
+                                (#{module 13444}# (vector-ref #{x 13410}# 3)))
                             (vector
                               'syntax-object
-                              #{expression 13907}#
-                              #{wrap 13908}#
-                              #{module 13909}#))
-                          (if (null? #{x 13875}#)
-                            #{x 13875}#
+                              #{expression 13442}#
+                              #{wrap 13443}#
+                              #{module 13444}#))
+                          (if (null? #{x 13410}#)
+                            #{x 13410}#
                             (vector
                               'syntax-object
-                              #{x 13875}#
-                              #{w 13596}#
-                              #{mod 13598}#)))))
-                    #{r 13595}#
-                    #{w 13596}#
-                    #{mod 13598}#)))
-              #{tmp 13600}#)
+                              #{x 13410}#
+                              #{w 13131}#
+                              #{mod 13133}#)))))
+                    #{r 13130}#
+                    #{w 13131}#
+                    #{mod 13133}#)))
+              #{tmp 13135}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{e 13594}#)))))
+              #{e 13129}#)))))
     (module-define!
       (current-module)
       'begin
@@ -12686,73 +12846,80 @@
         '()))
     (module-define!
       (current-module)
+      'define-syntax-parameter
+      (make-syntax-transformer
+        'define-syntax-parameter
+        'define-syntax-parameter
+        '()))
+    (module-define!
+      (current-module)
       'eval-when
       (make-syntax-transformer
         'eval-when
         'eval-when
         '()))
-    (#{global-extend 4339}#
+    (#{global-extend 4411}#
       'core
       'syntax-case
       (letrec*
-        ((#{convert-pattern 14243}#
-           (lambda (#{pattern 15899}# #{keys 15900}#)
+        ((#{convert-pattern 13788}#
+           (lambda (#{pattern 15444}# #{keys 15445}#)
              (letrec*
-               ((#{cvt* 15901}#
-                  (lambda (#{p* 16700}# #{n 16701}# #{ids 16702}#)
-                    (if (not (pair? #{p* 16700}#))
-                      (#{cvt 15903}#
-                        #{p* 16700}#
-                        #{n 16701}#
-                        #{ids 16702}#)
+               ((#{cvt* 15446}#
+                  (lambda (#{p* 16245}# #{n 16246}# #{ids 16247}#)
+                    (if (not (pair? #{p* 16245}#))
+                      (#{cvt 15448}#
+                        #{p* 16245}#
+                        #{n 16246}#
+                        #{ids 16247}#)
                       (call-with-values
                         (lambda ()
-                          (#{cvt* 15901}#
-                            (cdr #{p* 16700}#)
-                            #{n 16701}#
-                            #{ids 16702}#))
-                        (lambda (#{y 16705}# #{ids 16706}#)
+                          (#{cvt* 15446}#
+                            (cdr #{p* 16245}#)
+                            #{n 16246}#
+                            #{ids 16247}#))
+                        (lambda (#{y 16250}# #{ids 16251}#)
                           (call-with-values
                             (lambda ()
-                              (#{cvt 15903}#
-                                (car #{p* 16700}#)
-                                #{n 16701}#
-                                #{ids 16706}#))
-                            (lambda (#{x 16709}# #{ids 16710}#)
+                              (#{cvt 15448}#
+                                (car #{p* 16245}#)
+                                #{n 16246}#
+                                #{ids 16251}#))
+                            (lambda (#{x 16254}# #{ids 16255}#)
                               (values
-                                (cons #{x 16709}# #{y 16705}#)
-                                #{ids 16710}#))))))))
-                (#{v-reverse 15902}#
-                  (lambda (#{x 16711}#)
+                                (cons #{x 16254}# #{y 16250}#)
+                                #{ids 16255}#))))))))
+                (#{v-reverse 15447}#
+                  (lambda (#{x 16256}#)
                     (letrec*
-                      ((#{loop 16712}#
-                         (lambda (#{r 16813}# #{x 16814}#)
-                           (if (not (pair? #{x 16814}#))
-                             (values #{r 16813}# #{x 16814}#)
-                             (#{loop 16712}#
-                               (cons (car #{x 16814}#) #{r 16813}#)
-                               (cdr #{x 16814}#))))))
-                      (#{loop 16712}# '() #{x 16711}#))))
-                (#{cvt 15903}#
-                  (lambda (#{p 15906}# #{n 15907}# #{ids 15908}#)
-                    (if (if (symbol? #{p 15906}#)
+                      ((#{loop 16257}#
+                         (lambda (#{r 16358}# #{x 16359}#)
+                           (if (not (pair? #{x 16359}#))
+                             (values #{r 16358}# #{x 16359}#)
+                             (#{loop 16257}#
+                               (cons (car #{x 16359}#) #{r 16358}#)
+                               (cdr #{x 16359}#))))))
+                      (#{loop 16257}# '() #{x 16256}#))))
+                (#{cvt 15448}#
+                  (lambda (#{p 15451}# #{n 15452}# #{ids 15453}#)
+                    (if (if (symbol? #{p 15451}#)
                           #t
-                          (if (if (vector? #{p 15906}#)
-                                (if (= (vector-length #{p 15906}#) 4)
-                                  (eq? (vector-ref #{p 15906}# 0)
+                          (if (if (vector? #{p 15451}#)
+                                (if (= (vector-length #{p 15451}#) 4)
+                                  (eq? (vector-ref #{p 15451}# 0)
                                        'syntax-object)
                                   #f)
                                 #f)
-                            (symbol? (vector-ref #{p 15906}# 1))
+                            (symbol? (vector-ref #{p 15451}# 1))
                             #f))
-                      (if (#{bound-id-member? 4365}#
-                            #{p 15906}#
-                            #{keys 15900}#)
+                      (if (#{bound-id-member? 4438}#
+                            #{p 15451}#
+                            #{keys 15445}#)
                         (values
-                          (vector 'free-id #{p 15906}#)
-                          #{ids 15908}#)
-                        (if (#{free-id=? 4361}#
-                              #{p 15906}#
+                          (vector 'free-id #{p 15451}#)
+                          #{ids 15453}#)
+                        (if (#{free-id=? 4434}#
+                              #{p 15451}#
                               '#(syntax-object
                                  _
                                  ((top)
@@ -12760,22 +12927,22 @@
                                   #(ribcage
                                     #(p n ids)
                                     #((top) (top) (top))
-                                    #("i3777" "i3778" "i3779"))
+                                    #("i3850" "i3851" "i3852"))
                                   #(ribcage
                                     (cvt v-reverse cvt*)
                                     ((top) (top) (top))
-                                    ("i3750" "i3748" "i3746"))
+                                    ("i3823" "i3821" "i3819"))
                                   #(ribcage
                                     #(pattern keys)
                                     #((top) (top))
-                                    #("i3744" "i3745"))
+                                    #("i3817" "i3818"))
                                   #(ribcage
                                     (gen-syntax-case
                                       gen-clause
                                       build-dispatch-call
                                       convert-pattern)
                                     ((top) (top) (top) (top))
-                                    ("i3740" "i3738" "i3736" "i3734"))
+                                    ("i3813" "i3811" "i3809" "i3807"))
                                   #(ribcage
                                     (lambda-var-list
                                       gen-var
@@ -12805,6 +12972,7 @@
                                       valid-bound-ids?
                                       bound-id=?
                                       free-id=?
+                                      resolve-identifier
                                       id-var-name
                                       same-marks?
                                       join-marks
@@ -12842,7 +13010,6 @@
                                       id?
                                       nonsymbol-id?
                                       global-extend
-                                      lookup
                                       macros-only-env
                                       extend-var-env
                                       extend-env
@@ -13088,13 +13255,13 @@
                                      "i407"
                                      "i405"
                                      "i403"
-                                     "i402"
+                                     "i401"
                                      "i400"
-                                     "i397"
-                                     "i396"
+                                     "i398"
                                      "i395"
+                                     "i394"
                                      "i393"
-                                     "i392"
+                                     "i391"
                                      "i390"
                                      "i388"
                                      "i386"
@@ -13103,19 +13270,19 @@
                                      "i380"
                                      "i378"
                                      "i376"
-                                     "i373"
+                                     "i374"
                                      "i371"
-                                     "i370"
+                                     "i369"
                                      "i368"
                                      "i366"
                                      "i364"
                                      "i362"
-                                     "i361"
                                      "i360"
                                      "i359"
+                                     "i358"
                                      "i357"
-                                     "i356"
-                                     "i353"
+                                     "i355"
+                                     "i354"
                                      "i351"
                                      "i349"
                                      "i347"
@@ -13196,38 +13363,39 @@
                                       define-expansion-accessors
                                       define-expansion-constructors)
                                     ((top) (top) (top))
-                                    ("i46" "i45" "i44")))
+                                    ("i46" "i45" "i44"))
+                                  #(ribcage () () ()))
                                  (hygiene guile)))
-                          (values '_ #{ids 15908}#)
+                          (values '_ #{ids 15453}#)
                           (values
                             'any
-                            (cons (cons #{p 15906}# #{n 15907}#)
-                                  #{ids 15908}#))))
-                      (let ((#{tmp 16040}#
-                              ($sc-dispatch #{p 15906}# '(any any))))
-                        (if (if #{tmp 16040}#
+                            (cons (cons #{p 15451}# #{n 15452}#)
+                                  #{ids 15453}#))))
+                      (let ((#{tmp 15585}#
+                              ($sc-dispatch #{p 15451}# '(any any))))
+                        (if (if #{tmp 15585}#
                               (@apply
-                                (lambda (#{x 16044}# #{dots 16045}#)
-                                  (if (if (if (vector? #{dots 16045}#)
+                                (lambda (#{x 15589}# #{dots 15590}#)
+                                  (if (if (if (vector? #{dots 15590}#)
                                             (if (= (vector-length
-                                                     #{dots 16045}#)
+                                                     #{dots 15590}#)
                                                    4)
                                               (eq? (vector-ref
-                                                     #{dots 16045}#
+                                                     #{dots 15590}#
                                                      0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (symbol? (vector-ref #{dots 16045}# 1))
+                                        (symbol? (vector-ref #{dots 15590}# 1))
                                         #f)
-                                    (#{free-id=? 4361}#
-                                      #{dots 16045}#
+                                    (#{free-id=? 4434}#
+                                      #{dots 15590}#
                                       '#(syntax-object
                                          ...
                                          ((top)
                                           #(ribcage () () ())
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i2261"))
+                                          #(ribcage #(x) #((top)) #("i2341"))
                                           #(ribcage
                                             (lambda-var-list
                                               gen-var
@@ -13257,6 +13425,7 @@
                                               valid-bound-ids?
                                               bound-id=?
                                               free-id=?
+                                              resolve-identifier
                                               id-var-name
                                               same-marks?
                                               join-marks
@@ -13294,7 +13463,6 @@
                                               id?
                                               nonsymbol-id?
                                               global-extend
-                                              lookup
                                               macros-only-env
                                               extend-var-env
                                               extend-env
@@ -13540,13 +13708,13 @@
                                              "i407"
                                              "i405"
                                              "i403"
-                                             "i402"
+                                             "i401"
                                              "i400"
-                                             "i397"
-                                             "i396"
+                                             "i398"
                                              "i395"
+                                             "i394"
                                              "i393"
-                                             "i392"
+                                             "i391"
                                              "i390"
                                              "i388"
                                              "i386"
@@ -13555,19 +13723,19 @@
                                              "i380"
                                              "i378"
                                              "i376"
-                                             "i373"
+                                             "i374"
                                              "i371"
-                                             "i370"
+                                             "i369"
                                              "i368"
                                              "i366"
                                              "i364"
                                              "i362"
-                                             "i361"
                                              "i360"
                                              "i359"
+                                             "i358"
                                              "i357"
-                                             "i356"
-                                             "i353"
+                                             "i355"
+                                             "i354"
                                              "i351"
                                              "i349"
                                              "i347"
@@ -13648,48 +13816,49 @@
                                               define-expansion-accessors
                                               define-expansion-constructors)
                                             ((top) (top) (top))
-                                            ("i46" "i45" "i44")))
+                                            ("i46" "i45" "i44"))
+                                          #(ribcage () () ()))
                                          (hygiene guile)))
                                     #f))
-                                #{tmp 16040}#)
+                                #{tmp 15585}#)
                               #f)
                           (@apply
-                            (lambda (#{x 16084}# #{dots 16085}#)
+                            (lambda (#{x 15629}# #{dots 15630}#)
                               (call-with-values
                                 (lambda ()
-                                  (#{cvt 15903}#
-                                    #{x 16084}#
-                                    (#{1+}# #{n 15907}#)
-                                    #{ids 15908}#))
-                                (lambda (#{p 16086}# #{ids 16087}#)
+                                  (#{cvt 15448}#
+                                    #{x 15629}#
+                                    (#{1+}# #{n 15452}#)
+                                    #{ids 15453}#))
+                                (lambda (#{p 15631}# #{ids 15632}#)
                                   (values
-                                    (if (eq? #{p 16086}# 'any)
+                                    (if (eq? #{p 15631}# 'any)
                                       'each-any
-                                      (vector 'each #{p 16086}#))
-                                    #{ids 16087}#))))
-                            #{tmp 16040}#)
-                          (let ((#{tmp 16088}#
-                                  ($sc-dispatch #{p 15906}# '(any any . any))))
-                            (if (if #{tmp 16088}#
+                                      (vector 'each #{p 15631}#))
+                                    #{ids 15632}#))))
+                            #{tmp 15585}#)
+                          (let ((#{tmp 15633}#
+                                  ($sc-dispatch #{p 15451}# '(any any . any))))
+                            (if (if #{tmp 15633}#
                                   (@apply
-                                    (lambda (#{x 16092}#
-                                             #{dots 16093}#
-                                             #{ys 16094}#)
-                                      (if (if (if (vector? #{dots 16093}#)
+                                    (lambda (#{x 15637}#
+                                             #{dots 15638}#
+                                             #{ys 15639}#)
+                                      (if (if (if (vector? #{dots 15638}#)
                                                 (if (= (vector-length
-                                                         #{dots 16093}#)
+                                                         #{dots 15638}#)
                                                        4)
                                                   (eq? (vector-ref
-                                                         #{dots 16093}#
+                                                         #{dots 15638}#
                                                          0)
                                                        'syntax-object)
                                                   #f)
                                                 #f)
                                             (symbol?
-                                              (vector-ref #{dots 16093}# 1))
+                                              (vector-ref #{dots 15638}# 1))
                                             #f)
-                                        (#{free-id=? 4361}#
-                                          #{dots 16093}#
+                                        (#{free-id=? 4434}#
+                                          #{dots 15638}#
                                           '#(syntax-object
                                              ...
                                              ((top)
@@ -13698,7 +13867,7 @@
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i2261"))
+                                                #("i2341"))
                                               #(ribcage
                                                 (lambda-var-list
                                                   gen-var
@@ -13728,6 +13897,7 @@
                                                   valid-bound-ids?
                                                   bound-id=?
                                                   free-id=?
+                                                  resolve-identifier
                                                   id-var-name
                                                   same-marks?
                                                   join-marks
@@ -13765,7 +13935,6 @@
                                                   id?
                                                   nonsymbol-id?
                                                   global-extend
-                                                  lookup
                                                   macros-only-env
                                                   extend-var-env
                                                   extend-env
@@ -14011,13 +14180,13 @@
                                                  "i407"
                                                  "i405"
                                                  "i403"
-                                                 "i402"
+                                                 "i401"
                                                  "i400"
-                                                 "i397"
-                                                 "i396"
+                                                 "i398"
                                                  "i395"
+                                                 "i394"
                                                  "i393"
-                                                 "i392"
+                                                 "i391"
                                                  "i390"
                                                  "i388"
                                                  "i386"
@@ -14026,19 +14195,19 @@
                                                  "i380"
                                                  "i378"
                                                  "i376"
-                                                 "i373"
+                                                 "i374"
                                                  "i371"
-                                                 "i370"
+                                                 "i369"
                                                  "i368"
                                                  "i366"
                                                  "i364"
                                                  "i362"
-                                                 "i361"
                                                  "i360"
                                                  "i359"
+                                                 "i358"
                                                  "i357"
-                                                 "i356"
-                                                 "i353"
+                                                 "i355"
+                                                 "i354"
                                                  "i351"
                                                  "i349"
                                                  "i347"
@@ -14119,178 +14288,179 @@
                                                   define-expansion-accessors
                                                   
define-expansion-constructors)
                                                 ((top) (top) (top))
-                                                ("i46" "i45" "i44")))
+                                                ("i46" "i45" "i44"))
+                                              #(ribcage () () ()))
                                              (hygiene guile)))
                                         #f))
-                                    #{tmp 16088}#)
+                                    #{tmp 15633}#)
                                   #f)
                               (@apply
-                                (lambda (#{x 16133}#
-                                         #{dots 16134}#
-                                         #{ys 16135}#)
+                                (lambda (#{x 15678}#
+                                         #{dots 15679}#
+                                         #{ys 15680}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{cvt* 15901}#
-                                        #{ys 16135}#
-                                        #{n 15907}#
-                                        #{ids 15908}#))
-                                    (lambda (#{ys 16620}# #{ids 16621}#)
+                                      (#{cvt* 15446}#
+                                        #{ys 15680}#
+                                        #{n 15452}#
+                                        #{ids 15453}#))
+                                    (lambda (#{ys 16165}# #{ids 16166}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt 15903}#
-                                            #{x 16133}#
-                                            (#{1+}# #{n 15907}#)
-                                            #{ids 16621}#))
-                                        (lambda (#{x 16622}# #{ids 16623}#)
+                                          (#{cvt 15448}#
+                                            #{x 15678}#
+                                            (#{1+}# #{n 15452}#)
+                                            #{ids 16166}#))
+                                        (lambda (#{x 16167}# #{ids 16168}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{v-reverse 15902}#
-                                                #{ys 16620}#))
-                                            (lambda (#{ys 16659}# #{e 16660}#)
+                                              (#{v-reverse 15447}#
+                                                #{ys 16165}#))
+                                            (lambda (#{ys 16204}# #{e 16205}#)
                                               (values
                                                 (vector
                                                   'each+
-                                                  #{x 16622}#
-                                                  #{ys 16659}#
-                                                  #{e 16660}#)
-                                                #{ids 16623}#))))))))
-                                #{tmp 16088}#)
-                              (let ((#{tmp 16661}#
-                                      ($sc-dispatch #{p 15906}# '(any . any))))
-                                (if #{tmp 16661}#
+                                                  #{x 16167}#
+                                                  #{ys 16204}#
+                                                  #{e 16205}#)
+                                                #{ids 16168}#))))))))
+                                #{tmp 15633}#)
+                              (let ((#{tmp 16206}#
+                                      ($sc-dispatch #{p 15451}# '(any . any))))
+                                (if #{tmp 16206}#
                                   (@apply
-                                    (lambda (#{x 16665}# #{y 16666}#)
+                                    (lambda (#{x 16210}# #{y 16211}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{cvt 15903}#
-                                            #{y 16666}#
-                                            #{n 15907}#
-                                            #{ids 15908}#))
-                                        (lambda (#{y 16667}# #{ids 16668}#)
+                                          (#{cvt 15448}#
+                                            #{y 16211}#
+                                            #{n 15452}#
+                                            #{ids 15453}#))
+                                        (lambda (#{y 16212}# #{ids 16213}#)
                                           (call-with-values
                                             (lambda ()
-                                              (#{cvt 15903}#
-                                                #{x 16665}#
-                                                #{n 15907}#
-                                                #{ids 16668}#))
-                                            (lambda (#{x 16669}# #{ids 16670}#)
+                                              (#{cvt 15448}#
+                                                #{x 16210}#
+                                                #{n 15452}#
+                                                #{ids 16213}#))
+                                            (lambda (#{x 16214}# #{ids 16215}#)
                                               (values
-                                                (cons #{x 16669}# #{y 16667}#)
-                                                #{ids 16670}#))))))
-                                    #{tmp 16661}#)
-                                  (let ((#{tmp 16671}#
-                                          ($sc-dispatch #{p 15906}# '())))
-                                    (if #{tmp 16671}#
+                                                (cons #{x 16214}# #{y 16212}#)
+                                                #{ids 16215}#))))))
+                                    #{tmp 16206}#)
+                                  (let ((#{tmp 16216}#
+                                          ($sc-dispatch #{p 15451}# '())))
+                                    (if #{tmp 16216}#
                                       (@apply
-                                        (lambda () (values '() #{ids 15908}#))
-                                        #{tmp 16671}#)
-                                      (let ((#{tmp 16675}#
+                                        (lambda () (values '() #{ids 15453}#))
+                                        #{tmp 16216}#)
+                                      (let ((#{tmp 16220}#
                                               ($sc-dispatch
-                                                #{p 15906}#
+                                                #{p 15451}#
                                                 '#(vector each-any))))
-                                        (if #{tmp 16675}#
+                                        (if #{tmp 16220}#
                                           (@apply
-                                            (lambda (#{x 16679}#)
+                                            (lambda (#{x 16224}#)
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{cvt 15903}#
-                                                    #{x 16679}#
-                                                    #{n 15907}#
-                                                    #{ids 15908}#))
-                                                (lambda (#{p 16680}#
-                                                         #{ids 16681}#)
+                                                  (#{cvt 15448}#
+                                                    #{x 16224}#
+                                                    #{n 15452}#
+                                                    #{ids 15453}#))
+                                                (lambda (#{p 16225}#
+                                                         #{ids 16226}#)
                                                   (values
                                                     (vector
                                                       'vector
-                                                      #{p 16680}#)
-                                                    #{ids 16681}#))))
-                                            #{tmp 16675}#)
+                                                      #{p 16225}#)
+                                                    #{ids 16226}#))))
+                                            #{tmp 16220}#)
                                           (values
                                             (vector
                                               'atom
-                                              (#{strip 4386}#
-                                                #{p 15906}#
+                                              (#{strip 4459}#
+                                                #{p 15451}#
                                                 '(())))
-                                            #{ids 15908}#)))))))))))))))
-               (#{cvt 15903}# #{pattern 15899}# 0 '()))))
-         (#{build-dispatch-call 14244}#
-           (lambda (#{pvars 16815}#
-                    #{exp 16816}#
-                    #{y 16817}#
-                    #{r 16818}#
-                    #{mod 16819}#)
-             (let ((#{ids 16820}# (map car #{pvars 16815}#)))
+                                            #{ids 15453}#)))))))))))))))
+               (#{cvt 15448}# #{pattern 15444}# 0 '()))))
+         (#{build-dispatch-call 13789}#
+           (lambda (#{pvars 16360}#
+                    #{exp 16361}#
+                    #{y 16362}#
+                    #{r 16363}#
+                    #{mod 16364}#)
+             (let ((#{ids 16365}# (map car #{pvars 16360}#)))
                (begin
-                 (map cdr #{pvars 16815}#)
-                 (let ((#{labels 16822}#
-                         (#{gen-labels 4344}# #{ids 16820}#))
-                       (#{new-vars 16823}#
-                         (map #{gen-var 4387}# #{ids 16820}#)))
-                   (#{build-primcall 4319}#
+                 (map cdr #{pvars 16360}#)
+                 (let ((#{labels 16367}#
+                         (#{gen-labels 4416}# #{ids 16365}#))
+                       (#{new-vars 16368}#
+                         (map #{gen-var 4460}# #{ids 16365}#)))
+                   (#{build-primcall 4392}#
                      #f
                      'apply
-                     (list (#{build-simple-lambda 4316}#
+                     (list (#{build-simple-lambda 4389}#
                              #f
-                             (map syntax->datum #{ids 16820}#)
+                             (map syntax->datum #{ids 16365}#)
                              #f
-                             #{new-vars 16823}#
+                             #{new-vars 16368}#
                              '()
-                             (#{chi 4373}#
-                               #{exp 16816}#
-                               (#{extend-env 4335}#
-                                 #{labels 16822}#
-                                 (map (lambda (#{var 17155}# #{level 17156}#)
+                             (#{chi 4446}#
+                               #{exp 16361}#
+                               (#{extend-env 4408}#
+                                 #{labels 16367}#
+                                 (map (lambda (#{var 16700}# #{level 16701}#)
                                         (cons 'syntax
-                                              (cons #{var 17155}#
-                                                    #{level 17156}#)))
-                                      #{new-vars 16823}#
-                                      (map cdr #{pvars 16815}#))
-                                 #{r 16818}#)
-                               (#{make-binding-wrap 4355}#
-                                 #{ids 16820}#
-                                 #{labels 16822}#
+                                              (cons #{var 16700}#
+                                                    #{level 16701}#)))
+                                      #{new-vars 16368}#
+                                      (map cdr #{pvars 16360}#))
+                                 #{r 16363}#)
+                               (#{make-binding-wrap 4427}#
+                                 #{ids 16365}#
+                                 #{labels 16367}#
                                  '(()))
-                               #{mod 16819}#))
-                           #{y 16817}#)))))))
-         (#{gen-clause 14245}#
-           (lambda (#{x 15493}#
-                    #{keys 15494}#
-                    #{clauses 15495}#
-                    #{r 15496}#
-                    #{pat 15497}#
-                    #{fender 15498}#
-                    #{exp 15499}#
-                    #{mod 15500}#)
+                               #{mod 16364}#))
+                           #{y 16362}#)))))))
+         (#{gen-clause 13790}#
+           (lambda (#{x 15038}#
+                    #{keys 15039}#
+                    #{clauses 15040}#
+                    #{r 15041}#
+                    #{pat 15042}#
+                    #{fender 15043}#
+                    #{exp 15044}#
+                    #{mod 15045}#)
              (call-with-values
                (lambda ()
-                 (#{convert-pattern 14243}#
-                   #{pat 15497}#
-                   #{keys 15494}#))
-               (lambda (#{p 15638}# #{pvars 15639}#)
-                 (if (not (#{distinct-bound-ids? 4364}#
-                            (map car #{pvars 15639}#)))
+                 (#{convert-pattern 13788}#
+                   #{pat 15042}#
+                   #{keys 15039}#))
+               (lambda (#{p 15183}# #{pvars 15184}#)
+                 (if (not (#{distinct-bound-ids? 4437}#
+                            (map car #{pvars 15184}#)))
                    (syntax-violation
                      'syntax-case
                      "duplicate pattern variable"
-                     #{pat 15497}#)
+                     #{pat 15042}#)
                    (if (not (and-map
-                              (lambda (#{x 15748}#)
-                                (not (let ((#{x 15752}# (car #{x 15748}#)))
-                                       (if (if (if (vector? #{x 15752}#)
+                              (lambda (#{x 15293}#)
+                                (not (let ((#{x 15297}# (car #{x 15293}#)))
+                                       (if (if (if (vector? #{x 15297}#)
                                                  (if (= (vector-length
-                                                          #{x 15752}#)
+                                                          #{x 15297}#)
                                                         4)
                                                    (eq? (vector-ref
-                                                          #{x 15752}#
+                                                          #{x 15297}#
                                                           0)
                                                         'syntax-object)
                                                    #f)
                                                  #f)
                                              (symbol?
-                                               (vector-ref #{x 15752}# 1))
+                                               (vector-ref #{x 15297}# 1))
                                              #f)
-                                         (#{free-id=? 4361}#
-                                           #{x 15752}#
+                                         (#{free-id=? 4434}#
+                                           #{x 15297}#
                                            '#(syntax-object
                                               ...
                                               ((top)
@@ -14299,7 +14469,7 @@
                                                #(ribcage
                                                  #(x)
                                                  #((top))
-                                                 #("i2261"))
+                                                 #("i2341"))
                                                #(ribcage
                                                  (lambda-var-list
                                                    gen-var
@@ -14329,6 +14499,7 @@
                                                    valid-bound-ids?
                                                    bound-id=?
                                                    free-id=?
+                                                   resolve-identifier
                                                    id-var-name
                                                    same-marks?
                                                    join-marks
@@ -14366,7 +14537,6 @@
                                                    id?
                                                    nonsymbol-id?
                                                    global-extend
-                                                   lookup
                                                    macros-only-env
                                                    extend-var-env
                                                    extend-env
@@ -14612,13 +14782,13 @@
                                                   "i407"
                                                   "i405"
                                                   "i403"
-                                                  "i402"
+                                                  "i401"
                                                   "i400"
-                                                  "i397"
-                                                  "i396"
+                                                  "i398"
                                                   "i395"
+                                                  "i394"
                                                   "i393"
-                                                  "i392"
+                                                  "i391"
                                                   "i390"
                                                   "i388"
                                                   "i386"
@@ -14627,19 +14797,19 @@
                                                   "i380"
                                                   "i378"
                                                   "i376"
-                                                  "i373"
+                                                  "i374"
                                                   "i371"
-                                                  "i370"
+                                                  "i369"
                                                   "i368"
                                                   "i366"
                                                   "i364"
                                                   "i362"
-                                                  "i361"
                                                   "i360"
                                                   "i359"
+                                                  "i358"
                                                   "i357"
-                                                  "i356"
-                                                  "i353"
+                                                  "i355"
+                                                  "i354"
                                                   "i351"
                                                   "i349"
                                                   "i347"
@@ -14720,46 +14890,47 @@
                                                    define-expansion-accessors
                                                    
define-expansion-constructors)
                                                  ((top) (top) (top))
-                                                 ("i46" "i45" "i44")))
+                                                 ("i46" "i45" "i44"))
+                                               #(ribcage () () ()))
                                               (hygiene guile)))
                                          #f))))
-                              #{pvars 15639}#))
+                              #{pvars 15184}#))
                      (syntax-violation
                        'syntax-case
                        "misplaced ellipsis"
-                       #{pat 15497}#)
-                     (let ((#{y 15777}#
+                       #{pat 15042}#)
+                     (let ((#{y 15322}#
                              (gensym
                                (string-append (symbol->string 'tmp) " "))))
-                       (let ((#{fun-exp 15782}#
-                               (let ((#{req 15791}# (list 'tmp))
-                                     (#{vars 15793}# (list #{y 15777}#))
-                                     (#{exp 15795}#
-                                       (let ((#{y 15824}#
+                       (let ((#{fun-exp 15327}#
+                               (let ((#{req 15336}# (list 'tmp))
+                                     (#{vars 15338}# (list #{y 15322}#))
+                                     (#{exp 15340}#
+                                       (let ((#{y 15369}#
                                                (make-struct/no-tail
                                                  (vector-ref
                                                    %expanded-vtables
                                                    3)
                                                  #f
                                                  'tmp
-                                                 #{y 15777}#)))
-                                         (let ((#{test-exp 15828}#
-                                                 (let ((#{tmp 15837}#
+                                                 #{y 15322}#)))
+                                         (let ((#{test-exp 15373}#
+                                                 (let ((#{tmp 15382}#
                                                          ($sc-dispatch
-                                                           #{fender 15498}#
+                                                           #{fender 15043}#
                                                            '#(atom #t))))
-                                                   (if #{tmp 15837}#
+                                                   (if #{tmp 15382}#
                                                      (@apply
-                                                       (lambda () #{y 15824}#)
-                                                       #{tmp 15837}#)
-                                                     (let ((#{then-exp 15855}#
-                                                             
(#{build-dispatch-call 14244}#
-                                                               #{pvars 15639}#
-                                                               #{fender 15498}#
-                                                               #{y 15824}#
-                                                               #{r 15496}#
-                                                               #{mod 15500}#))
-                                                           (#{else-exp 15856}#
+                                                       (lambda () #{y 15369}#)
+                                                       #{tmp 15382}#)
+                                                     (let ((#{then-exp 15400}#
+                                                             
(#{build-dispatch-call 13789}#
+                                                               #{pvars 15184}#
+                                                               #{fender 15043}#
+                                                               #{y 15369}#
+                                                               #{r 15041}#
+                                                               #{mod 15045}#))
+                                                           (#{else-exp 15401}#
                                                              
(make-struct/no-tail
                                                                (vector-ref
                                                                  
%expanded-vtables
@@ -14771,81 +14942,81 @@
                                                            %expanded-vtables
                                                            10)
                                                          #f
-                                                         #{y 15824}#
-                                                         #{then-exp 15855}#
-                                                         #{else-exp 
15856}#)))))
-                                               (#{then-exp 15829}#
-                                                 (#{build-dispatch-call 14244}#
-                                                   #{pvars 15639}#
-                                                   #{exp 15499}#
-                                                   #{y 15824}#
-                                                   #{r 15496}#
-                                                   #{mod 15500}#))
-                                               (#{else-exp 15830}#
-                                                 (#{gen-syntax-case 14246}#
-                                                   #{x 15493}#
-                                                   #{keys 15494}#
-                                                   #{clauses 15495}#
-                                                   #{r 15496}#
-                                                   #{mod 15500}#)))
+                                                         #{y 15369}#
+                                                         #{then-exp 15400}#
+                                                         #{else-exp 
15401}#)))))
+                                               (#{then-exp 15374}#
+                                                 (#{build-dispatch-call 13789}#
+                                                   #{pvars 15184}#
+                                                   #{exp 15044}#
+                                                   #{y 15369}#
+                                                   #{r 15041}#
+                                                   #{mod 15045}#))
+                                               (#{else-exp 15375}#
+                                                 (#{gen-syntax-case 13791}#
+                                                   #{x 15038}#
+                                                   #{keys 15039}#
+                                                   #{clauses 15040}#
+                                                   #{r 15041}#
+                                                   #{mod 15045}#)))
                                            (make-struct/no-tail
                                              (vector-ref %expanded-vtables 10)
                                              #f
-                                             #{test-exp 15828}#
-                                             #{then-exp 15829}#
-                                             #{else-exp 15830}#)))))
-                                 (let ((#{body 15800}#
+                                             #{test-exp 15373}#
+                                             #{then-exp 15374}#
+                                             #{else-exp 15375}#)))))
+                                 (let ((#{body 15345}#
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 15)
                                            #f
-                                           #{req 15791}#
+                                           #{req 15336}#
                                            #f
                                            #f
                                            #f
                                            '()
-                                           #{vars 15793}#
-                                           #{exp 15795}#
+                                           #{vars 15338}#
+                                           #{exp 15340}#
                                            #f)))
                                    (make-struct/no-tail
                                      (vector-ref %expanded-vtables 14)
                                      #f
                                      '()
-                                     #{body 15800}#))))
-                             (#{arg-exps 15783}#
-                               (list (if (eq? #{p 15638}# 'any)
-                                       (let ((#{args 15878}#
-                                               (list #{x 15493}#)))
+                                     #{body 15345}#))))
+                             (#{arg-exps 15328}#
+                               (list (if (eq? #{p 15183}# 'any)
+                                       (let ((#{args 15423}#
+                                               (list #{x 15038}#)))
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 12)
                                            #f
                                            'list
-                                           #{args 15878}#))
-                                       (let ((#{args 15887}#
-                                               (list #{x 15493}#
+                                           #{args 15423}#))
+                                       (let ((#{args 15432}#
+                                               (list #{x 15038}#
                                                      (make-struct/no-tail
                                                        (vector-ref
                                                          %expanded-vtables
                                                          1)
                                                        #f
-                                                       #{p 15638}#))))
+                                                       #{p 15183}#))))
                                          (make-struct/no-tail
                                            (vector-ref %expanded-vtables 12)
                                            #f
                                            '$sc-dispatch
-                                           #{args 15887}#))))))
+                                           #{args 15432}#))))))
                          (make-struct/no-tail
                            (vector-ref %expanded-vtables 11)
                            #f
-                           #{fun-exp 15782}#
-                           #{arg-exps 15783}#)))))))))
-         (#{gen-syntax-case 14246}#
-           (lambda (#{x 14990}#
-                    #{keys 14991}#
-                    #{clauses 14992}#
-                    #{r 14993}#
-                    #{mod 14994}#)
-             (if (null? #{clauses 14992}#)
-               (let ((#{args 15000}#
+                           #{fun-exp 15327}#
+                           #{arg-exps 15328}#)))))))))
+         (#{gen-syntax-case 13791}#
+           (lambda (#{x 14535}#
+                    #{keys 14536}#
+                    #{clauses 14537}#
+                    #{r 14538}#
+                    #{mod 14539}#)
+             (if (null? #{clauses 14537}#)
+               (let ((#{args 14545}#
                        (list (make-struct/no-tail
                                (vector-ref %expanded-vtables 1)
                                #f
@@ -14854,57 +15025,57 @@
                                (vector-ref %expanded-vtables 1)
                                #f
                                "source expression failed to match any pattern")
-                             #{x 14990}#)))
+                             #{x 14535}#)))
                  (make-struct/no-tail
                    (vector-ref %expanded-vtables 12)
                    #f
                    'syntax-violation
-                   #{args 15000}#))
-               (let ((#{tmp 15019}# (car #{clauses 14992}#)))
-                 (let ((#{tmp 15020}#
-                         ($sc-dispatch #{tmp 15019}# '(any any))))
-                   (if #{tmp 15020}#
+                   #{args 14545}#))
+               (let ((#{tmp 14564}# (car #{clauses 14537}#)))
+                 (let ((#{tmp 14565}#
+                         ($sc-dispatch #{tmp 14564}# '(any any))))
+                   (if #{tmp 14565}#
                      (@apply
-                       (lambda (#{pat 15022}# #{exp 15023}#)
-                         (if (if (if (symbol? #{pat 15022}#)
+                       (lambda (#{pat 14567}# #{exp 14568}#)
+                         (if (if (if (symbol? #{pat 14567}#)
                                    #t
-                                   (if (if (vector? #{pat 15022}#)
-                                         (if (= (vector-length #{pat 15022}#)
+                                   (if (if (vector? #{pat 14567}#)
+                                         (if (= (vector-length #{pat 14567}#)
                                                 4)
-                                           (eq? (vector-ref #{pat 15022}# 0)
+                                           (eq? (vector-ref #{pat 14567}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (symbol? (vector-ref #{pat 15022}# 1))
+                                     (symbol? (vector-ref #{pat 14567}# 1))
                                      #f))
                                (and-map
-                                 (lambda (#{x 15050}#)
-                                   (not (#{free-id=? 4361}#
-                                          #{pat 15022}#
-                                          #{x 15050}#)))
+                                 (lambda (#{x 14595}#)
+                                   (not (#{free-id=? 4434}#
+                                          #{pat 14567}#
+                                          #{x 14595}#)))
                                  (cons '#(syntax-object
                                           ...
                                           ((top)
                                            #(ribcage
                                              #(pat exp)
                                              #((top) (top))
-                                             #("i3937" "i3938"))
+                                             #("i4010" "i4011"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x keys clauses r mod)
                                              #((top) (top) (top) (top) (top))
-                                             #("i3927"
-                                               "i3928"
-                                               "i3929"
-                                               "i3930"
-                                               "i3931"))
+                                             #("i4000"
+                                               "i4001"
+                                               "i4002"
+                                               "i4003"
+                                               "i4004"))
                                            #(ribcage
                                              (gen-syntax-case
                                                gen-clause
                                                build-dispatch-call
                                                convert-pattern)
                                              ((top) (top) (top) (top))
-                                             ("i3740" "i3738" "i3736" "i3734"))
+                                             ("i3813" "i3811" "i3809" "i3807"))
                                            #(ribcage
                                              (lambda-var-list
                                                gen-var
@@ -14934,6 +15105,7 @@
                                                valid-bound-ids?
                                                bound-id=?
                                                free-id=?
+                                               resolve-identifier
                                                id-var-name
                                                same-marks?
                                                join-marks
@@ -14971,7 +15143,6 @@
                                                id?
                                                nonsymbol-id?
                                                global-extend
-                                               lookup
                                                macros-only-env
                                                extend-var-env
                                                extend-env
@@ -15217,13 +15388,13 @@
                                               "i407"
                                               "i405"
                                               "i403"
-                                              "i402"
+                                              "i401"
                                               "i400"
-                                              "i397"
-                                              "i396"
+                                              "i398"
                                               "i395"
+                                              "i394"
                                               "i393"
-                                              "i392"
+                                              "i391"
                                               "i390"
                                               "i388"
                                               "i386"
@@ -15232,19 +15403,19 @@
                                               "i380"
                                               "i378"
                                               "i376"
-                                              "i373"
+                                              "i374"
                                               "i371"
-                                              "i370"
+                                              "i369"
                                               "i368"
                                               "i366"
                                               "i364"
                                               "i362"
-                                              "i361"
                                               "i360"
                                               "i359"
+                                              "i358"
                                               "i357"
-                                              "i356"
-                                              "i353"
+                                              "i355"
+                                              "i354"
                                               "i351"
                                               "i349"
                                               "i347"
@@ -15325,34 +15496,35 @@
                                                define-expansion-accessors
                                                define-expansion-constructors)
                                              ((top) (top) (top))
-                                             ("i46" "i45" "i44")))
+                                             ("i46" "i45" "i44"))
+                                           #(ribcage () () ()))
                                           (hygiene guile))
-                                       #{keys 14991}#))
+                                       #{keys 14536}#))
                                #f)
-                           (if (#{free-id=? 4361}#
+                           (if (#{free-id=? 4434}#
                                  '#(syntax-object
                                     pad
                                     ((top)
                                      #(ribcage
                                        #(pat exp)
                                        #((top) (top))
-                                       #("i3937" "i3938"))
+                                       #("i4010" "i4011"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x keys clauses r mod)
                                        #((top) (top) (top) (top) (top))
-                                       #("i3927"
-                                         "i3928"
-                                         "i3929"
-                                         "i3930"
-                                         "i3931"))
+                                       #("i4000"
+                                         "i4001"
+                                         "i4002"
+                                         "i4003"
+                                         "i4004"))
                                      #(ribcage
                                        (gen-syntax-case
                                          gen-clause
                                          build-dispatch-call
                                          convert-pattern)
                                        ((top) (top) (top) (top))
-                                       ("i3740" "i3738" "i3736" "i3734"))
+                                       ("i3813" "i3811" "i3809" "i3807"))
                                      #(ribcage
                                        (lambda-var-list
                                          gen-var
@@ -15382,6 +15554,7 @@
                                          valid-bound-ids?
                                          bound-id=?
                                          free-id=?
+                                         resolve-identifier
                                          id-var-name
                                          same-marks?
                                          join-marks
@@ -15419,7 +15592,6 @@
                                          id?
                                          nonsymbol-id?
                                          global-extend
-                                         lookup
                                          macros-only-env
                                          extend-var-env
                                          extend-env
@@ -15665,13 +15837,13 @@
                                         "i407"
                                         "i405"
                                         "i403"
-                                        "i402"
+                                        "i401"
                                         "i400"
-                                        "i397"
-                                        "i396"
+                                        "i398"
                                         "i395"
+                                        "i394"
                                         "i393"
-                                        "i392"
+                                        "i391"
                                         "i390"
                                         "i388"
                                         "i386"
@@ -15680,19 +15852,19 @@
                                         "i380"
                                         "i378"
                                         "i376"
-                                        "i373"
+                                        "i374"
                                         "i371"
-                                        "i370"
+                                        "i369"
                                         "i368"
                                         "i366"
                                         "i364"
                                         "i362"
-                                        "i361"
                                         "i360"
                                         "i359"
+                                        "i358"
                                         "i357"
-                                        "i356"
-                                        "i353"
+                                        "i355"
+                                        "i354"
                                         "i351"
                                         "i349"
                                         "i347"
@@ -15773,7 +15945,8 @@
                                          define-expansion-accessors
                                          define-expansion-constructors)
                                        ((top) (top) (top))
-                                       ("i46" "i45" "i44")))
+                                       ("i46" "i45" "i44"))
+                                     #(ribcage () () ()))
                                     (hygiene guile))
                                  '#(syntax-object
                                     _
@@ -15781,23 +15954,23 @@
                                      #(ribcage
                                        #(pat exp)
                                        #((top) (top))
-                                       #("i3937" "i3938"))
+                                       #("i4010" "i4011"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x keys clauses r mod)
                                        #((top) (top) (top) (top) (top))
-                                       #("i3927"
-                                         "i3928"
-                                         "i3929"
-                                         "i3930"
-                                         "i3931"))
+                                       #("i4000"
+                                         "i4001"
+                                         "i4002"
+                                         "i4003"
+                                         "i4004"))
                                      #(ribcage
                                        (gen-syntax-case
                                          gen-clause
                                          build-dispatch-call
                                          convert-pattern)
                                        ((top) (top) (top) (top))
-                                       ("i3740" "i3738" "i3736" "i3734"))
+                                       ("i3813" "i3811" "i3809" "i3807"))
                                      #(ribcage
                                        (lambda-var-list
                                          gen-var
@@ -15827,6 +16000,7 @@
                                          valid-bound-ids?
                                          bound-id=?
                                          free-id=?
+                                         resolve-identifier
                                          id-var-name
                                          same-marks?
                                          join-marks
@@ -15864,7 +16038,6 @@
                                          id?
                                          nonsymbol-id?
                                          global-extend
-                                         lookup
                                          macros-only-env
                                          extend-var-env
                                          extend-env
@@ -16110,13 +16283,13 @@
                                         "i407"
                                         "i405"
                                         "i403"
-                                        "i402"
+                                        "i401"
                                         "i400"
-                                        "i397"
-                                        "i396"
+                                        "i398"
                                         "i395"
+                                        "i394"
                                         "i393"
-                                        "i392"
+                                        "i391"
                                         "i390"
                                         "i388"
                                         "i386"
@@ -16125,19 +16298,19 @@
                                         "i380"
                                         "i378"
                                         "i376"
-                                        "i373"
+                                        "i374"
                                         "i371"
-                                        "i370"
+                                        "i369"
                                         "i368"
                                         "i366"
                                         "i364"
                                         "i362"
-                                        "i361"
                                         "i360"
                                         "i359"
+                                        "i358"
                                         "i357"
-                                        "i356"
-                                        "i353"
+                                        "i355"
+                                        "i354"
                                         "i351"
                                         "i349"
                                         "i347"
@@ -16218,183 +16391,184 @@
                                          define-expansion-accessors
                                          define-expansion-constructors)
                                        ((top) (top) (top))
-                                       ("i46" "i45" "i44")))
+                                       ("i46" "i45" "i44"))
+                                     #(ribcage () () ()))
                                     (hygiene guile)))
-                             (#{chi 4373}#
-                               #{exp 15023}#
-                               #{r 14993}#
+                             (#{chi 4446}#
+                               #{exp 14568}#
+                               #{r 14538}#
                                '(())
-                               #{mod 14994}#)
-                             (let ((#{labels 15136}#
+                               #{mod 14539}#)
+                             (let ((#{labels 14681}#
                                      (list (symbol->string (gensym "i"))))
-                                   (#{var 15137}#
-                                     (let ((#{id 15175}#
-                                             (if (if (vector? #{pat 15022}#)
+                                   (#{var 14682}#
+                                     (let ((#{id 14720}#
+                                             (if (if (vector? #{pat 14567}#)
                                                    (if (= (vector-length
-                                                            #{pat 15022}#)
+                                                            #{pat 14567}#)
                                                           4)
                                                      (eq? (vector-ref
-                                                            #{pat 15022}#
+                                                            #{pat 14567}#
                                                             0)
                                                           'syntax-object)
                                                      #f)
                                                    #f)
-                                               (vector-ref #{pat 15022}# 1)
-                                               #{pat 15022}#)))
+                                               (vector-ref #{pat 14567}# 1)
+                                               #{pat 14567}#)))
                                        (gensym
                                          (string-append
-                                           (symbol->string #{id 15175}#)
+                                           (symbol->string #{id 14720}#)
                                            " ")))))
-                               (#{build-call 4307}#
+                               (#{build-call 4380}#
                                  #f
-                                 (#{build-simple-lambda 4316}#
+                                 (#{build-simple-lambda 4389}#
                                    #f
-                                   (list (syntax->datum #{pat 15022}#))
+                                   (list (syntax->datum #{pat 14567}#))
                                    #f
-                                   (list #{var 15137}#)
+                                   (list #{var 14682}#)
                                    '()
-                                   (#{chi 4373}#
-                                     #{exp 15023}#
-                                     (#{extend-env 4335}#
-                                       #{labels 15136}#
+                                   (#{chi 4446}#
+                                     #{exp 14568}#
+                                     (#{extend-env 4408}#
+                                       #{labels 14681}#
                                        (list (cons 'syntax
-                                                   (cons #{var 15137}# 0)))
-                                       #{r 14993}#)
-                                     (#{make-binding-wrap 4355}#
-                                       (list #{pat 15022}#)
-                                       #{labels 15136}#
+                                                   (cons #{var 14682}# 0)))
+                                       #{r 14538}#)
+                                     (#{make-binding-wrap 4427}#
+                                       (list #{pat 14567}#)
+                                       #{labels 14681}#
                                        '(()))
-                                     #{mod 14994}#))
-                                 (list #{x 14990}#))))
-                           (#{gen-clause 14245}#
-                             #{x 14990}#
-                             #{keys 14991}#
-                             (cdr #{clauses 14992}#)
-                             #{r 14993}#
-                             #{pat 15022}#
+                                     #{mod 14539}#))
+                                 (list #{x 14535}#))))
+                           (#{gen-clause 13790}#
+                             #{x 14535}#
+                             #{keys 14536}#
+                             (cdr #{clauses 14537}#)
+                             #{r 14538}#
+                             #{pat 14567}#
                              #t
-                             #{exp 15023}#
-                             #{mod 14994}#)))
-                       #{tmp 15020}#)
-                     (let ((#{tmp 15485}#
-                             ($sc-dispatch #{tmp 15019}# '(any any any))))
-                       (if #{tmp 15485}#
+                             #{exp 14568}#
+                             #{mod 14539}#)))
+                       #{tmp 14565}#)
+                     (let ((#{tmp 15030}#
+                             ($sc-dispatch #{tmp 14564}# '(any any any))))
+                       (if #{tmp 15030}#
                          (@apply
-                           (lambda (#{pat 15487}#
-                                    #{fender 15488}#
-                                    #{exp 15489}#)
-                             (#{gen-clause 14245}#
-                               #{x 14990}#
-                               #{keys 14991}#
-                               (cdr #{clauses 14992}#)
-                               #{r 14993}#
-                               #{pat 15487}#
-                               #{fender 15488}#
-                               #{exp 15489}#
-                               #{mod 14994}#))
-                           #{tmp 15485}#)
+                           (lambda (#{pat 15032}#
+                                    #{fender 15033}#
+                                    #{exp 15034}#)
+                             (#{gen-clause 13790}#
+                               #{x 14535}#
+                               #{keys 14536}#
+                               (cdr #{clauses 14537}#)
+                               #{r 14538}#
+                               #{pat 15032}#
+                               #{fender 15033}#
+                               #{exp 15034}#
+                               #{mod 14539}#))
+                           #{tmp 15030}#)
                          (syntax-violation
                            'syntax-case
                            "invalid clause"
-                           (car #{clauses 14992}#)))))))))))
-        (lambda (#{e 14247}#
-                 #{r 14248}#
-                 #{w 14249}#
-                 #{s 14250}#
-                 #{mod 14251}#)
-          (let ((#{e 14252}#
-                  (let ((#{x 14901}#
+                           (car #{clauses 14537}#)))))))))))
+        (lambda (#{e 13792}#
+                 #{r 13793}#
+                 #{w 13794}#
+                 #{s 13795}#
+                 #{mod 13796}#)
+          (let ((#{e 13797}#
+                  (let ((#{x 14446}#
                           (begin
-                            (if (if (pair? #{e 14247}#) #{s 14250}# #f)
-                              (set-source-properties! #{e 14247}# #{s 14250}#))
-                            #{e 14247}#)))
-                    (if (if (null? (car #{w 14249}#))
-                          (null? (cdr #{w 14249}#))
+                            (if (if (pair? #{e 13792}#) #{s 13795}# #f)
+                              (set-source-properties! #{e 13792}# #{s 13795}#))
+                            #{e 13792}#)))
+                    (if (if (null? (car #{w 13794}#))
+                          (null? (cdr #{w 13794}#))
                           #f)
-                      #{x 14901}#
-                      (if (if (vector? #{x 14901}#)
-                            (if (= (vector-length #{x 14901}#) 4)
-                              (eq? (vector-ref #{x 14901}# 0) 'syntax-object)
+                      #{x 14446}#
+                      (if (if (vector? #{x 14446}#)
+                            (if (= (vector-length #{x 14446}#) 4)
+                              (eq? (vector-ref #{x 14446}# 0) 'syntax-object)
                               #f)
                             #f)
-                        (let ((#{expression 14933}# (vector-ref #{x 14901}# 1))
-                              (#{wrap 14934}#
-                                (let ((#{w2 14942}#
-                                        (vector-ref #{x 14901}# 2)))
-                                  (let ((#{m1 14943}# (car #{w 14249}#))
-                                        (#{s1 14944}# (cdr #{w 14249}#)))
-                                    (if (null? #{m1 14943}#)
-                                      (if (null? #{s1 14944}#)
-                                        #{w2 14942}#
-                                        (cons (car #{w2 14942}#)
-                                              (let ((#{m2 14959}#
-                                                      (cdr #{w2 14942}#)))
-                                                (if (null? #{m2 14959}#)
-                                                  #{s1 14944}#
+                        (let ((#{expression 14478}# (vector-ref #{x 14446}# 1))
+                              (#{wrap 14479}#
+                                (let ((#{w2 14487}#
+                                        (vector-ref #{x 14446}# 2)))
+                                  (let ((#{m1 14488}# (car #{w 13794}#))
+                                        (#{s1 14489}# (cdr #{w 13794}#)))
+                                    (if (null? #{m1 14488}#)
+                                      (if (null? #{s1 14489}#)
+                                        #{w2 14487}#
+                                        (cons (car #{w2 14487}#)
+                                              (let ((#{m2 14504}#
+                                                      (cdr #{w2 14487}#)))
+                                                (if (null? #{m2 14504}#)
+                                                  #{s1 14489}#
                                                   (append
-                                                    #{s1 14944}#
-                                                    #{m2 14959}#)))))
-                                      (cons (let ((#{m2 14967}#
-                                                    (car #{w2 14942}#)))
-                                              (if (null? #{m2 14967}#)
-                                                #{m1 14943}#
+                                                    #{s1 14489}#
+                                                    #{m2 14504}#)))))
+                                      (cons (let ((#{m2 14512}#
+                                                    (car #{w2 14487}#)))
+                                              (if (null? #{m2 14512}#)
+                                                #{m1 14488}#
                                                 (append
-                                                  #{m1 14943}#
-                                                  #{m2 14967}#)))
-                                            (let ((#{m2 14975}#
-                                                    (cdr #{w2 14942}#)))
-                                              (if (null? #{m2 14975}#)
-                                                #{s1 14944}#
+                                                  #{m1 14488}#
+                                                  #{m2 14512}#)))
+                                            (let ((#{m2 14520}#
+                                                    (cdr #{w2 14487}#)))
+                                              (if (null? #{m2 14520}#)
+                                                #{s1 14489}#
                                                 (append
-                                                  #{s1 14944}#
-                                                  #{m2 14975}#))))))))
-                              (#{module 14935}# (vector-ref #{x 14901}# 3)))
+                                                  #{s1 14489}#
+                                                  #{m2 14520}#))))))))
+                              (#{module 14480}# (vector-ref #{x 14446}# 3)))
                           (vector
                             'syntax-object
-                            #{expression 14933}#
-                            #{wrap 14934}#
-                            #{module 14935}#))
-                        (if (null? #{x 14901}#)
-                          #{x 14901}#
+                            #{expression 14478}#
+                            #{wrap 14479}#
+                            #{module 14480}#))
+                        (if (null? #{x 14446}#)
+                          #{x 14446}#
                           (vector
                             'syntax-object
-                            #{x 14901}#
-                            #{w 14249}#
-                            #{mod 14251}#)))))))
-            (let ((#{tmp 14253}# #{e 14252}#))
-              (let ((#{tmp 14254}#
+                            #{x 14446}#
+                            #{w 13794}#
+                            #{mod 13796}#)))))))
+            (let ((#{tmp 13798}# #{e 13797}#))
+              (let ((#{tmp 13799}#
                       ($sc-dispatch
-                        #{tmp 14253}#
+                        #{tmp 13798}#
                         '(_ any each-any . each-any))))
-                (if #{tmp 14254}#
+                (if #{tmp 13799}#
                   (@apply
-                    (lambda (#{val 14306}# #{key 14307}# #{m 14308}#)
+                    (lambda (#{val 13851}# #{key 13852}# #{m 13853}#)
                       (if (and-map
-                            (lambda (#{x 14309}#)
-                              (if (if (symbol? #{x 14309}#)
+                            (lambda (#{x 13854}#)
+                              (if (if (symbol? #{x 13854}#)
                                     #t
-                                    (if (if (vector? #{x 14309}#)
-                                          (if (= (vector-length #{x 14309}#) 4)
-                                            (eq? (vector-ref #{x 14309}# 0)
+                                    (if (if (vector? #{x 13854}#)
+                                          (if (= (vector-length #{x 13854}#) 4)
+                                            (eq? (vector-ref #{x 13854}# 0)
                                                  'syntax-object)
                                             #f)
                                           #f)
-                                      (symbol? (vector-ref #{x 14309}# 1))
+                                      (symbol? (vector-ref #{x 13854}# 1))
                                       #f))
-                                (not (if (if (if (vector? #{x 14309}#)
+                                (not (if (if (if (vector? #{x 13854}#)
                                                (if (= (vector-length
-                                                        #{x 14309}#)
+                                                        #{x 13854}#)
                                                       4)
                                                  (eq? (vector-ref
-                                                        #{x 14309}#
+                                                        #{x 13854}#
                                                         0)
                                                       'syntax-object)
                                                  #f)
                                                #f)
-                                           (symbol? (vector-ref #{x 14309}# 1))
+                                           (symbol? (vector-ref #{x 13854}# 1))
                                            #f)
-                                       (#{free-id=? 4361}#
-                                         #{x 14309}#
+                                       (#{free-id=? 4434}#
+                                         #{x 13854}#
                                          '#(syntax-object
                                             ...
                                             ((top)
@@ -16403,7 +16577,7 @@
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i2261"))
+                                               #("i2341"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -16433,6 +16607,7 @@
                                                  valid-bound-ids?
                                                  bound-id=?
                                                  free-id=?
+                                                 resolve-identifier
                                                  id-var-name
                                                  same-marks?
                                                  join-marks
@@ -16470,7 +16645,6 @@
                                                  id?
                                                  nonsymbol-id?
                                                  global-extend
-                                                 lookup
                                                  macros-only-env
                                                  extend-var-env
                                                  extend-env
@@ -16716,13 +16890,13 @@
                                                 "i407"
                                                 "i405"
                                                 "i403"
-                                                "i402"
+                                                "i401"
                                                 "i400"
-                                                "i397"
-                                                "i396"
+                                                "i398"
                                                 "i395"
+                                                "i394"
                                                 "i393"
-                                                "i392"
+                                                "i391"
                                                 "i390"
                                                 "i388"
                                                 "i386"
@@ -16731,19 +16905,19 @@
                                                 "i380"
                                                 "i378"
                                                 "i376"
-                                                "i373"
+                                                "i374"
                                                 "i371"
-                                                "i370"
+                                                "i369"
                                                 "i368"
                                                 "i366"
                                                 "i364"
                                                 "i362"
-                                                "i361"
                                                 "i360"
                                                 "i359"
+                                                "i358"
                                                 "i357"
-                                                "i356"
-                                                "i353"
+                                                "i355"
+                                                "i354"
                                                 "i351"
                                                 "i349"
                                                 "i347"
@@ -16824,794 +16998,795 @@
                                                  define-expansion-accessors
                                                  define-expansion-constructors)
                                                ((top) (top) (top))
-                                               ("i46" "i45" "i44")))
+                                               ("i46" "i45" "i44"))
+                                             #(ribcage () () ()))
                                             (hygiene guile)))
                                        #f))
                                 #f))
-                            #{key 14307}#)
-                        (let ((#{x 14374}#
+                            #{key 13852}#)
+                        (let ((#{x 13919}#
                                 (gensym
                                   (string-append (symbol->string 'tmp) " "))))
-                          (#{build-call 4307}#
-                            #{s 14250}#
-                            (let ((#{req 14516}# (list 'tmp))
-                                  (#{vars 14518}# (list #{x 14374}#))
-                                  (#{exp 14520}#
-                                    (#{gen-syntax-case 14246}#
+                          (#{build-call 4380}#
+                            #{s 13795}#
+                            (let ((#{req 14061}# (list 'tmp))
+                                  (#{vars 14063}# (list #{x 13919}#))
+                                  (#{exp 14065}#
+                                    (#{gen-syntax-case 13791}#
                                       (make-struct/no-tail
                                         (vector-ref %expanded-vtables 3)
                                         #f
                                         'tmp
-                                        #{x 14374}#)
-                                      #{key 14307}#
-                                      #{m 14308}#
-                                      #{r 14248}#
-                                      #{mod 14251}#)))
-                              (let ((#{body 14525}#
+                                        #{x 13919}#)
+                                      #{key 13852}#
+                                      #{m 13853}#
+                                      #{r 13793}#
+                                      #{mod 13796}#)))
+                              (let ((#{body 14070}#
                                       (make-struct/no-tail
                                         (vector-ref %expanded-vtables 15)
                                         #f
-                                        #{req 14516}#
+                                        #{req 14061}#
                                         #f
                                         #f
                                         #f
                                         '()
-                                        #{vars 14518}#
-                                        #{exp 14520}#
+                                        #{vars 14063}#
+                                        #{exp 14065}#
                                         #f)))
                                 (make-struct/no-tail
                                   (vector-ref %expanded-vtables 14)
                                   #f
                                   '()
-                                  #{body 14525}#)))
-                            (list (#{chi 4373}#
-                                    #{val 14306}#
-                                    #{r 14248}#
+                                  #{body 14070}#)))
+                            (list (#{chi 4446}#
+                                    #{val 13851}#
+                                    #{r 13793}#
                                     '(())
-                                    #{mod 14251}#))))
+                                    #{mod 13796}#))))
                         (syntax-violation
                           'syntax-case
                           "invalid literals list"
-                          #{e 14252}#)))
-                    #{tmp 14254}#)
+                          #{e 13797}#)))
+                    #{tmp 13799}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{tmp 14253}#))))))))
+                    #{tmp 13798}#))))))))
     (set! macroexpand
       (lambda*
-        (#{x 17257}#
+        (#{x 16802}#
           #:optional
-          (#{m 17258}# 'e)
-          (#{esew 17259}# '(eval)))
-        (#{chi-top-sequence 4369}#
-          (list #{x 17257}#)
+          (#{m 16803}# 'e)
+          (#{esew 16804}# '(eval)))
+        (#{chi-top-sequence 4442}#
+          (list #{x 16802}#)
           '()
           '((top))
           #f
-          #{m 17258}#
-          #{esew 17259}#
+          #{m 16803}#
+          #{esew 16804}#
           (cons 'hygiene (module-name (current-module))))))
     (set! identifier?
-      (lambda (#{x 17262}#)
-        (if (if (vector? #{x 17262}#)
-              (if (= (vector-length #{x 17262}#) 4)
-                (eq? (vector-ref #{x 17262}# 0) 'syntax-object)
+      (lambda (#{x 16807}#)
+        (if (if (vector? #{x 16807}#)
+              (if (= (vector-length #{x 16807}#) 4)
+                (eq? (vector-ref #{x 16807}# 0) 'syntax-object)
                 #f)
               #f)
-          (symbol? (vector-ref #{x 17262}# 1))
+          (symbol? (vector-ref #{x 16807}# 1))
           #f)))
     (set! datum->syntax
-      (lambda (#{id 17287}# #{datum 17288}#)
-        (let ((#{wrap 17293}# (vector-ref #{id 17287}# 2))
-              (#{module 17294}# (vector-ref #{id 17287}# 3)))
+      (lambda (#{id 16832}# #{datum 16833}#)
+        (let ((#{wrap 16838}# (vector-ref #{id 16832}# 2))
+              (#{module 16839}# (vector-ref #{id 16832}# 3)))
           (vector
             'syntax-object
-            #{datum 17288}#
-            #{wrap 17293}#
-            #{module 17294}#))))
+            #{datum 16833}#
+            #{wrap 16838}#
+            #{module 16839}#))))
     (set! syntax->datum
-      (lambda (#{x 17301}#)
-        (#{strip 4386}# #{x 17301}# '(()))))
+      (lambda (#{x 16846}#)
+        (#{strip 4459}# #{x 16846}# '(()))))
     (set! syntax-source
-      (lambda (#{x 17304}#)
-        (#{source-annotation 4334}# #{x 17304}#)))
+      (lambda (#{x 16849}#)
+        (#{source-annotation 4407}# #{x 16849}#)))
     (set! generate-temporaries
-      (lambda (#{ls 17506}#)
+      (lambda (#{ls 17051}#)
         (begin
-          (if (not (list? #{ls 17506}#))
+          (if (not (list? #{ls 17051}#))
             (syntax-violation
               'generate-temporaries
               "invalid argument"
-              #{ls 17506}#))
-          (let ((#{mod 17514}#
+              #{ls 17051}#))
+          (let ((#{mod 17059}#
                   (cons 'hygiene (module-name (current-module)))))
-            (map (lambda (#{x 17515}#)
-                   (let ((#{x 17519}# (gensym)))
-                     (if (if (vector? #{x 17519}#)
-                           (if (= (vector-length #{x 17519}#) 4)
-                             (eq? (vector-ref #{x 17519}# 0) 'syntax-object)
+            (map (lambda (#{x 17060}#)
+                   (let ((#{x 17064}# (gensym)))
+                     (if (if (vector? #{x 17064}#)
+                           (if (= (vector-length #{x 17064}#) 4)
+                             (eq? (vector-ref #{x 17064}# 0) 'syntax-object)
                              #f)
                            #f)
-                       (let ((#{expression 17534}# (vector-ref #{x 17519}# 1))
-                             (#{wrap 17535}#
-                               (let ((#{w2 17543}# (vector-ref #{x 17519}# 2)))
-                                 (cons (let ((#{m2 17550}# (car #{w2 17543}#)))
-                                         (if (null? #{m2 17550}#)
+                       (let ((#{expression 17079}# (vector-ref #{x 17064}# 1))
+                             (#{wrap 17080}#
+                               (let ((#{w2 17088}# (vector-ref #{x 17064}# 2)))
+                                 (cons (let ((#{m2 17095}# (car #{w2 17088}#)))
+                                         (if (null? #{m2 17095}#)
                                            '(top)
-                                           (append '(top) #{m2 17550}#)))
-                                       (let ((#{m2 17557}# (cdr #{w2 17543}#)))
-                                         (if (null? #{m2 17557}#)
+                                           (append '(top) #{m2 17095}#)))
+                                       (let ((#{m2 17102}# (cdr #{w2 17088}#)))
+                                         (if (null? #{m2 17102}#)
                                            '()
-                                           (append '() #{m2 17557}#))))))
-                             (#{module 17536}# (vector-ref #{x 17519}# 3)))
+                                           (append '() #{m2 17102}#))))))
+                             (#{module 17081}# (vector-ref #{x 17064}# 3)))
                          (vector
                            'syntax-object
-                           #{expression 17534}#
-                           #{wrap 17535}#
-                           #{module 17536}#))
-                       (if (null? #{x 17519}#)
-                         #{x 17519}#
+                           #{expression 17079}#
+                           #{wrap 17080}#
+                           #{module 17081}#))
+                       (if (null? #{x 17064}#)
+                         #{x 17064}#
                          (vector
                            'syntax-object
-                           #{x 17519}#
+                           #{x 17064}#
                            '((top))
-                           #{mod 17514}#)))))
-                 #{ls 17506}#)))))
+                           #{mod 17059}#)))))
+                 #{ls 17051}#)))))
     (set! free-identifier=?
-      (lambda (#{x 17566}# #{y 17567}#)
+      (lambda (#{x 17111}# #{y 17112}#)
         (begin
-          (if (not (if (if (vector? #{x 17566}#)
-                         (if (= (vector-length #{x 17566}#) 4)
-                           (eq? (vector-ref #{x 17566}# 0) 'syntax-object)
+          (if (not (if (if (vector? #{x 17111}#)
+                         (if (= (vector-length #{x 17111}#) 4)
+                           (eq? (vector-ref #{x 17111}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{x 17566}# 1))
+                     (symbol? (vector-ref #{x 17111}# 1))
                      #f))
             (syntax-violation
               'free-identifier=?
               "invalid argument"
-              #{x 17566}#))
-          (if (not (if (if (vector? #{y 17567}#)
-                         (if (= (vector-length #{y 17567}#) 4)
-                           (eq? (vector-ref #{y 17567}# 0) 'syntax-object)
+              #{x 17111}#))
+          (if (not (if (if (vector? #{y 17112}#)
+                         (if (= (vector-length #{y 17112}#) 4)
+                           (eq? (vector-ref #{y 17112}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{y 17567}# 1))
+                     (symbol? (vector-ref #{y 17112}# 1))
                      #f))
             (syntax-violation
               'free-identifier=?
               "invalid argument"
-              #{y 17567}#))
-          (#{free-id=? 4361}# #{x 17566}# #{y 17567}#))))
+              #{y 17112}#))
+          (#{free-id=? 4434}# #{x 17111}# #{y 17112}#))))
     (set! bound-identifier=?
-      (lambda (#{x 17642}# #{y 17643}#)
+      (lambda (#{x 17187}# #{y 17188}#)
         (begin
-          (if (not (if (if (vector? #{x 17642}#)
-                         (if (= (vector-length #{x 17642}#) 4)
-                           (eq? (vector-ref #{x 17642}# 0) 'syntax-object)
+          (if (not (if (if (vector? #{x 17187}#)
+                         (if (= (vector-length #{x 17187}#) 4)
+                           (eq? (vector-ref #{x 17187}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{x 17642}# 1))
+                     (symbol? (vector-ref #{x 17187}# 1))
                      #f))
             (syntax-violation
               'bound-identifier=?
               "invalid argument"
-              #{x 17642}#))
-          (if (not (if (if (vector? #{y 17643}#)
-                         (if (= (vector-length #{y 17643}#) 4)
-                           (eq? (vector-ref #{y 17643}# 0) 'syntax-object)
+              #{x 17187}#))
+          (if (not (if (if (vector? #{y 17188}#)
+                         (if (= (vector-length #{y 17188}#) 4)
+                           (eq? (vector-ref #{y 17188}# 0) 'syntax-object)
                            #f)
                          #f)
-                     (symbol? (vector-ref #{y 17643}# 1))
+                     (symbol? (vector-ref #{y 17188}# 1))
                      #f))
             (syntax-violation
               'bound-identifier=?
               "invalid argument"
-              #{y 17643}#))
-          (#{bound-id=? 4362}# #{x 17642}# #{y 17643}#))))
+              #{y 17188}#))
+          (#{bound-id=? 4435}# #{x 17187}# #{y 17188}#))))
     (set! syntax-violation
       (lambda*
-        (#{who 17809}#
-          #{message 17810}#
-          #{form 17811}#
+        (#{who 17354}#
+          #{message 17355}#
+          #{form 17356}#
           #:optional
-          (#{subform 17812}# #f))
+          (#{subform 17357}# #f))
         (begin
-          (if (not (if (not #{who 17809}#)
-                     (not #{who 17809}#)
-                     (let ((#{t 17830}# (string? #{who 17809}#)))
-                       (if #{t 17830}#
-                         #{t 17830}#
-                         (symbol? #{who 17809}#)))))
+          (if (not (if (not #{who 17354}#)
+                     (not #{who 17354}#)
+                     (let ((#{t 17375}# (string? #{who 17354}#)))
+                       (if #{t 17375}#
+                         #{t 17375}#
+                         (symbol? #{who 17354}#)))))
             (syntax-violation
               'syntax-violation
               "invalid argument"
-              #{who 17809}#))
-          (if (not (string? #{message 17810}#))
+              #{who 17354}#))
+          (if (not (string? #{message 17355}#))
             (syntax-violation
               'syntax-violation
               "invalid argument"
-              #{message 17810}#))
+              #{message 17355}#))
           (throw 'syntax-error
-                 #{who 17809}#
-                 #{message 17810}#
-                 (#{source-annotation 4334}#
-                   (if #{form 17811}#
-                     #{form 17811}#
-                     #{subform 17812}#))
-                 (#{strip 4386}# #{form 17811}# '(()))
-                 (if #{subform 17812}#
-                   (#{strip 4386}# #{subform 17812}# '(()))
+                 #{who 17354}#
+                 #{message 17355}#
+                 (#{source-annotation 4407}#
+                   (if #{form 17356}#
+                     #{form 17356}#
+                     #{subform 17357}#))
+                 (#{strip 4459}# #{form 17356}# '(()))
+                 (if #{subform 17357}#
+                   (#{strip 4459}# #{subform 17357}# '(()))
                    #f)))))
     (letrec*
-      ((#{match-each 18081}#
-         (lambda (#{e 18969}#
-                  #{p 18970}#
-                  #{w 18971}#
-                  #{mod 18972}#)
-           (if (pair? #{e 18969}#)
-             (let ((#{first 18973}#
-                     (#{match 18087}#
-                       (car #{e 18969}#)
-                       #{p 18970}#
-                       #{w 18971}#
+      ((#{match-each 17626}#
+         (lambda (#{e 18514}#
+                  #{p 18515}#
+                  #{w 18516}#
+                  #{mod 18517}#)
+           (if (pair? #{e 18514}#)
+             (let ((#{first 18518}#
+                     (#{match 17632}#
+                       (car #{e 18514}#)
+                       #{p 18515}#
+                       #{w 18516}#
                        '()
-                       #{mod 18972}#)))
-               (if #{first 18973}#
-                 (let ((#{rest 18976}#
-                         (#{match-each 18081}#
-                           (cdr #{e 18969}#)
-                           #{p 18970}#
-                           #{w 18971}#
-                           #{mod 18972}#)))
-                   (if #{rest 18976}#
-                     (cons #{first 18973}# #{rest 18976}#)
+                       #{mod 18517}#)))
+               (if #{first 18518}#
+                 (let ((#{rest 18521}#
+                         (#{match-each 17626}#
+                           (cdr #{e 18514}#)
+                           #{p 18515}#
+                           #{w 18516}#
+                           #{mod 18517}#)))
+                   (if #{rest 18521}#
+                     (cons #{first 18518}# #{rest 18521}#)
                      #f))
                  #f))
-             (if (null? #{e 18969}#)
+             (if (null? #{e 18514}#)
                '()
-               (if (if (vector? #{e 18969}#)
-                     (if (= (vector-length #{e 18969}#) 4)
-                       (eq? (vector-ref #{e 18969}# 0) 'syntax-object)
+               (if (if (vector? #{e 18514}#)
+                     (if (= (vector-length #{e 18514}#) 4)
+                       (eq? (vector-ref #{e 18514}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (#{match-each 18081}#
-                   (vector-ref #{e 18969}# 1)
-                   #{p 18970}#
-                   (let ((#{w2 18998}# (vector-ref #{e 18969}# 2)))
-                     (let ((#{m1 18999}# (car #{w 18971}#))
-                           (#{s1 19000}# (cdr #{w 18971}#)))
-                       (if (null? #{m1 18999}#)
-                         (if (null? #{s1 19000}#)
-                           #{w2 18998}#
-                           (cons (car #{w2 18998}#)
-                                 (let ((#{m2 19011}# (cdr #{w2 18998}#)))
-                                   (if (null? #{m2 19011}#)
-                                     #{s1 19000}#
-                                     (append #{s1 19000}# #{m2 19011}#)))))
-                         (cons (let ((#{m2 19019}# (car #{w2 18998}#)))
-                                 (if (null? #{m2 19019}#)
-                                   #{m1 18999}#
-                                   (append #{m1 18999}# #{m2 19019}#)))
-                               (let ((#{m2 19027}# (cdr #{w2 18998}#)))
-                                 (if (null? #{m2 19027}#)
-                                   #{s1 19000}#
-                                   (append #{s1 19000}# #{m2 19027}#)))))))
-                   (vector-ref #{e 18969}# 3))
+                 (#{match-each 17626}#
+                   (vector-ref #{e 18514}# 1)
+                   #{p 18515}#
+                   (let ((#{w2 18543}# (vector-ref #{e 18514}# 2)))
+                     (let ((#{m1 18544}# (car #{w 18516}#))
+                           (#{s1 18545}# (cdr #{w 18516}#)))
+                       (if (null? #{m1 18544}#)
+                         (if (null? #{s1 18545}#)
+                           #{w2 18543}#
+                           (cons (car #{w2 18543}#)
+                                 (let ((#{m2 18556}# (cdr #{w2 18543}#)))
+                                   (if (null? #{m2 18556}#)
+                                     #{s1 18545}#
+                                     (append #{s1 18545}# #{m2 18556}#)))))
+                         (cons (let ((#{m2 18564}# (car #{w2 18543}#)))
+                                 (if (null? #{m2 18564}#)
+                                   #{m1 18544}#
+                                   (append #{m1 18544}# #{m2 18564}#)))
+                               (let ((#{m2 18572}# (cdr #{w2 18543}#)))
+                                 (if (null? #{m2 18572}#)
+                                   #{s1 18545}#
+                                   (append #{s1 18545}# #{m2 18572}#)))))))
+                   (vector-ref #{e 18514}# 3))
                  #f)))))
-       (#{match-each-any 18083}#
-         (lambda (#{e 19036}# #{w 19037}# #{mod 19038}#)
-           (if (pair? #{e 19036}#)
-             (let ((#{l 19039}#
-                     (#{match-each-any 18083}#
-                       (cdr #{e 19036}#)
-                       #{w 19037}#
-                       #{mod 19038}#)))
-               (if #{l 19039}#
-                 (cons (let ((#{x 19044}# (car #{e 19036}#)))
-                         (if (if (null? (car #{w 19037}#))
-                               (null? (cdr #{w 19037}#))
+       (#{match-each-any 17628}#
+         (lambda (#{e 18581}# #{w 18582}# #{mod 18583}#)
+           (if (pair? #{e 18581}#)
+             (let ((#{l 18584}#
+                     (#{match-each-any 17628}#
+                       (cdr #{e 18581}#)
+                       #{w 18582}#
+                       #{mod 18583}#)))
+               (if #{l 18584}#
+                 (cons (let ((#{x 18589}# (car #{e 18581}#)))
+                         (if (if (null? (car #{w 18582}#))
+                               (null? (cdr #{w 18582}#))
                                #f)
-                           #{x 19044}#
-                           (if (if (vector? #{x 19044}#)
-                                 (if (= (vector-length #{x 19044}#) 4)
-                                   (eq? (vector-ref #{x 19044}# 0)
+                           #{x 18589}#
+                           (if (if (vector? #{x 18589}#)
+                                 (if (= (vector-length #{x 18589}#) 4)
+                                   (eq? (vector-ref #{x 18589}# 0)
                                         'syntax-object)
                                    #f)
                                  #f)
-                             (let ((#{expression 19062}#
-                                     (vector-ref #{x 19044}# 1))
-                                   (#{wrap 19063}#
-                                     (let ((#{w2 19071}#
-                                             (vector-ref #{x 19044}# 2)))
-                                       (let ((#{m1 19072}# (car #{w 19037}#))
-                                             (#{s1 19073}# (cdr #{w 19037}#)))
-                                         (if (null? #{m1 19072}#)
-                                           (if (null? #{s1 19073}#)
-                                             #{w2 19071}#
-                                             (cons (car #{w2 19071}#)
-                                                   (let ((#{m2 19088}#
-                                                           (cdr #{w2 19071}#)))
-                                                     (if (null? #{m2 19088}#)
-                                                       #{s1 19073}#
+                             (let ((#{expression 18607}#
+                                     (vector-ref #{x 18589}# 1))
+                                   (#{wrap 18608}#
+                                     (let ((#{w2 18616}#
+                                             (vector-ref #{x 18589}# 2)))
+                                       (let ((#{m1 18617}# (car #{w 18582}#))
+                                             (#{s1 18618}# (cdr #{w 18582}#)))
+                                         (if (null? #{m1 18617}#)
+                                           (if (null? #{s1 18618}#)
+                                             #{w2 18616}#
+                                             (cons (car #{w2 18616}#)
+                                                   (let ((#{m2 18633}#
+                                                           (cdr #{w2 18616}#)))
+                                                     (if (null? #{m2 18633}#)
+                                                       #{s1 18618}#
                                                        (append
-                                                         #{s1 19073}#
-                                                         #{m2 19088}#)))))
-                                           (cons (let ((#{m2 19096}#
-                                                         (car #{w2 19071}#)))
-                                                   (if (null? #{m2 19096}#)
-                                                     #{m1 19072}#
+                                                         #{s1 18618}#
+                                                         #{m2 18633}#)))))
+                                           (cons (let ((#{m2 18641}#
+                                                         (car #{w2 18616}#)))
+                                                   (if (null? #{m2 18641}#)
+                                                     #{m1 18617}#
                                                      (append
-                                                       #{m1 19072}#
-                                                       #{m2 19096}#)))
-                                                 (let ((#{m2 19104}#
-                                                         (cdr #{w2 19071}#)))
-                                                   (if (null? #{m2 19104}#)
-                                                     #{s1 19073}#
+                                                       #{m1 18617}#
+                                                       #{m2 18641}#)))
+                                                 (let ((#{m2 18649}#
+                                                         (cdr #{w2 18616}#)))
+                                                   (if (null? #{m2 18649}#)
+                                                     #{s1 18618}#
                                                      (append
-                                                       #{s1 19073}#
-                                                       #{m2 19104}#))))))))
-                                   (#{module 19064}#
-                                     (vector-ref #{x 19044}# 3)))
+                                                       #{s1 18618}#
+                                                       #{m2 18649}#))))))))
+                                   (#{module 18609}#
+                                     (vector-ref #{x 18589}# 3)))
                                (vector
                                  'syntax-object
-                                 #{expression 19062}#
-                                 #{wrap 19063}#
-                                 #{module 19064}#))
-                             (if (null? #{x 19044}#)
-                               #{x 19044}#
+                                 #{expression 18607}#
+                                 #{wrap 18608}#
+                                 #{module 18609}#))
+                             (if (null? #{x 18589}#)
+                               #{x 18589}#
                                (vector
                                  'syntax-object
-                                 #{x 19044}#
-                                 #{w 19037}#
-                                 #{mod 19038}#)))))
-                       #{l 19039}#)
+                                 #{x 18589}#
+                                 #{w 18582}#
+                                 #{mod 18583}#)))))
+                       #{l 18584}#)
                  #f))
-             (if (null? #{e 19036}#)
+             (if (null? #{e 18581}#)
                '()
-               (if (if (vector? #{e 19036}#)
-                     (if (= (vector-length #{e 19036}#) 4)
-                       (eq? (vector-ref #{e 19036}# 0) 'syntax-object)
+               (if (if (vector? #{e 18581}#)
+                     (if (= (vector-length #{e 18581}#) 4)
+                       (eq? (vector-ref #{e 18581}# 0) 'syntax-object)
                        #f)
                      #f)
-                 (#{match-each-any 18083}#
-                   (vector-ref #{e 19036}# 1)
-                   (let ((#{w2 19137}# (vector-ref #{e 19036}# 2)))
-                     (let ((#{m1 19138}# (car #{w 19037}#))
-                           (#{s1 19139}# (cdr #{w 19037}#)))
-                       (if (null? #{m1 19138}#)
-                         (if (null? #{s1 19139}#)
-                           #{w2 19137}#
-                           (cons (car #{w2 19137}#)
-                                 (let ((#{m2 19150}# (cdr #{w2 19137}#)))
-                                   (if (null? #{m2 19150}#)
-                                     #{s1 19139}#
-                                     (append #{s1 19139}# #{m2 19150}#)))))
-                         (cons (let ((#{m2 19158}# (car #{w2 19137}#)))
-                                 (if (null? #{m2 19158}#)
-                                   #{m1 19138}#
-                                   (append #{m1 19138}# #{m2 19158}#)))
-                               (let ((#{m2 19166}# (cdr #{w2 19137}#)))
-                                 (if (null? #{m2 19166}#)
-                                   #{s1 19139}#
-                                   (append #{s1 19139}# #{m2 19166}#)))))))
-                   #{mod 19038}#)
+                 (#{match-each-any 17628}#
+                   (vector-ref #{e 18581}# 1)
+                   (let ((#{w2 18682}# (vector-ref #{e 18581}# 2)))
+                     (let ((#{m1 18683}# (car #{w 18582}#))
+                           (#{s1 18684}# (cdr #{w 18582}#)))
+                       (if (null? #{m1 18683}#)
+                         (if (null? #{s1 18684}#)
+                           #{w2 18682}#
+                           (cons (car #{w2 18682}#)
+                                 (let ((#{m2 18695}# (cdr #{w2 18682}#)))
+                                   (if (null? #{m2 18695}#)
+                                     #{s1 18684}#
+                                     (append #{s1 18684}# #{m2 18695}#)))))
+                         (cons (let ((#{m2 18703}# (car #{w2 18682}#)))
+                                 (if (null? #{m2 18703}#)
+                                   #{m1 18683}#
+                                   (append #{m1 18683}# #{m2 18703}#)))
+                               (let ((#{m2 18711}# (cdr #{w2 18682}#)))
+                                 (if (null? #{m2 18711}#)
+                                   #{s1 18684}#
+                                   (append #{s1 18684}# #{m2 18711}#)))))))
+                   #{mod 18583}#)
                  #f)))))
-       (#{match-empty 18084}#
-         (lambda (#{p 19171}# #{r 19172}#)
-           (if (null? #{p 19171}#)
-             #{r 19172}#
-             (if (eq? #{p 19171}# '_)
-               #{r 19172}#
-               (if (eq? #{p 19171}# 'any)
-                 (cons '() #{r 19172}#)
-                 (if (pair? #{p 19171}#)
-                   (#{match-empty 18084}#
-                     (car #{p 19171}#)
-                     (#{match-empty 18084}#
-                       (cdr #{p 19171}#)
-                       #{r 19172}#))
-                   (if (eq? #{p 19171}# 'each-any)
-                     (cons '() #{r 19172}#)
-                     (let ((#{atom-key 19173}# (vector-ref #{p 19171}# 0)))
-                       (if (eqv? #{atom-key 19173}# 'each)
-                         (#{match-empty 18084}#
-                           (vector-ref #{p 19171}# 1)
-                           #{r 19172}#)
-                         (if (eqv? #{atom-key 19173}# 'each+)
-                           (#{match-empty 18084}#
-                             (vector-ref #{p 19171}# 1)
-                             (#{match-empty 18084}#
-                               (reverse (vector-ref #{p 19171}# 2))
-                               (#{match-empty 18084}#
-                                 (vector-ref #{p 19171}# 3)
-                                 #{r 19172}#)))
-                           (if (if (eqv? #{atom-key 19173}# 'free-id)
+       (#{match-empty 17629}#
+         (lambda (#{p 18716}# #{r 18717}#)
+           (if (null? #{p 18716}#)
+             #{r 18717}#
+             (if (eq? #{p 18716}# '_)
+               #{r 18717}#
+               (if (eq? #{p 18716}# 'any)
+                 (cons '() #{r 18717}#)
+                 (if (pair? #{p 18716}#)
+                   (#{match-empty 17629}#
+                     (car #{p 18716}#)
+                     (#{match-empty 17629}#
+                       (cdr #{p 18716}#)
+                       #{r 18717}#))
+                   (if (eq? #{p 18716}# 'each-any)
+                     (cons '() #{r 18717}#)
+                     (let ((#{atom-key 18718}# (vector-ref #{p 18716}# 0)))
+                       (if (eqv? #{atom-key 18718}# 'each)
+                         (#{match-empty 17629}#
+                           (vector-ref #{p 18716}# 1)
+                           #{r 18717}#)
+                         (if (eqv? #{atom-key 18718}# 'each+)
+                           (#{match-empty 17629}#
+                             (vector-ref #{p 18716}# 1)
+                             (#{match-empty 17629}#
+                               (reverse (vector-ref #{p 18716}# 2))
+                               (#{match-empty 17629}#
+                                 (vector-ref #{p 18716}# 3)
+                                 #{r 18717}#)))
+                           (if (if (eqv? #{atom-key 18718}# 'free-id)
                                  #t
-                                 (eqv? #{atom-key 19173}# 'atom))
-                             #{r 19172}#
-                             (if (eqv? #{atom-key 19173}# 'vector)
-                               (#{match-empty 18084}#
-                                 (vector-ref #{p 19171}# 1)
-                                 #{r 19172}#)))))))))))))
-       (#{combine 18085}#
-         (lambda (#{r* 19192}# #{r 19193}#)
-           (if (null? (car #{r* 19192}#))
-             #{r 19193}#
-             (cons (map car #{r* 19192}#)
-                   (#{combine 18085}#
-                     (map cdr #{r* 19192}#)
-                     #{r 19193}#)))))
-       (#{match* 18086}#
-         (lambda (#{e 18116}#
-                  #{p 18117}#
-                  #{w 18118}#
-                  #{r 18119}#
-                  #{mod 18120}#)
-           (if (null? #{p 18117}#)
-             (if (null? #{e 18116}#) #{r 18119}# #f)
-             (if (pair? #{p 18117}#)
-               (if (pair? #{e 18116}#)
-                 (#{match 18087}#
-                   (car #{e 18116}#)
-                   (car #{p 18117}#)
-                   #{w 18118}#
-                   (#{match 18087}#
-                     (cdr #{e 18116}#)
-                     (cdr #{p 18117}#)
-                     #{w 18118}#
-                     #{r 18119}#
-                     #{mod 18120}#)
-                   #{mod 18120}#)
+                                 (eqv? #{atom-key 18718}# 'atom))
+                             #{r 18717}#
+                             (if (eqv? #{atom-key 18718}# 'vector)
+                               (#{match-empty 17629}#
+                                 (vector-ref #{p 18716}# 1)
+                                 #{r 18717}#)))))))))))))
+       (#{combine 17630}#
+         (lambda (#{r* 18737}# #{r 18738}#)
+           (if (null? (car #{r* 18737}#))
+             #{r 18738}#
+             (cons (map car #{r* 18737}#)
+                   (#{combine 17630}#
+                     (map cdr #{r* 18737}#)
+                     #{r 18738}#)))))
+       (#{match* 17631}#
+         (lambda (#{e 17661}#
+                  #{p 17662}#
+                  #{w 17663}#
+                  #{r 17664}#
+                  #{mod 17665}#)
+           (if (null? #{p 17662}#)
+             (if (null? #{e 17661}#) #{r 17664}# #f)
+             (if (pair? #{p 17662}#)
+               (if (pair? #{e 17661}#)
+                 (#{match 17632}#
+                   (car #{e 17661}#)
+                   (car #{p 17662}#)
+                   #{w 17663}#
+                   (#{match 17632}#
+                     (cdr #{e 17661}#)
+                     (cdr #{p 17662}#)
+                     #{w 17663}#
+                     #{r 17664}#
+                     #{mod 17665}#)
+                   #{mod 17665}#)
                  #f)
-               (if (eq? #{p 18117}# 'each-any)
-                 (let ((#{l 18125}#
-                         (#{match-each-any 18083}#
-                           #{e 18116}#
-                           #{w 18118}#
-                           #{mod 18120}#)))
-                   (if #{l 18125}#
-                     (cons #{l 18125}# #{r 18119}#)
+               (if (eq? #{p 17662}# 'each-any)
+                 (let ((#{l 17670}#
+                         (#{match-each-any 17628}#
+                           #{e 17661}#
+                           #{w 17663}#
+                           #{mod 17665}#)))
+                   (if #{l 17670}#
+                     (cons #{l 17670}# #{r 17664}#)
                      #f))
-                 (let ((#{atom-key 18130}# (vector-ref #{p 18117}# 0)))
-                   (if (eqv? #{atom-key 18130}# 'each)
-                     (if (null? #{e 18116}#)
-                       (#{match-empty 18084}#
-                         (vector-ref #{p 18117}# 1)
-                         #{r 18119}#)
-                       (let ((#{l 18137}#
-                               (#{match-each 18081}#
-                                 #{e 18116}#
-                                 (vector-ref #{p 18117}# 1)
-                                 #{w 18118}#
-                                 #{mod 18120}#)))
-                         (if #{l 18137}#
+                 (let ((#{atom-key 17675}# (vector-ref #{p 17662}# 0)))
+                   (if (eqv? #{atom-key 17675}# 'each)
+                     (if (null? #{e 17661}#)
+                       (#{match-empty 17629}#
+                         (vector-ref #{p 17662}# 1)
+                         #{r 17664}#)
+                       (let ((#{l 17682}#
+                               (#{match-each 17626}#
+                                 #{e 17661}#
+                                 (vector-ref #{p 17662}# 1)
+                                 #{w 17663}#
+                                 #{mod 17665}#)))
+                         (if #{l 17682}#
                            (letrec*
-                             ((#{collect 18140}#
-                                (lambda (#{l 18201}#)
-                                  (if (null? (car #{l 18201}#))
-                                    #{r 18119}#
-                                    (cons (map car #{l 18201}#)
-                                          (#{collect 18140}#
-                                            (map cdr #{l 18201}#)))))))
-                             (#{collect 18140}# #{l 18137}#))
+                             ((#{collect 17685}#
+                                (lambda (#{l 17746}#)
+                                  (if (null? (car #{l 17746}#))
+                                    #{r 17664}#
+                                    (cons (map car #{l 17746}#)
+                                          (#{collect 17685}#
+                                            (map cdr #{l 17746}#)))))))
+                             (#{collect 17685}# #{l 17682}#))
                            #f)))
-                     (if (eqv? #{atom-key 18130}# 'each+)
+                     (if (eqv? #{atom-key 17675}# 'each+)
                        (call-with-values
                          (lambda ()
-                           (let ((#{x-pat 18210}# (vector-ref #{p 18117}# 1))
-                                 (#{y-pat 18211}# (vector-ref #{p 18117}# 2))
-                                 (#{z-pat 18212}# (vector-ref #{p 18117}# 3)))
+                           (let ((#{x-pat 17755}# (vector-ref #{p 17662}# 1))
+                                 (#{y-pat 17756}# (vector-ref #{p 17662}# 2))
+                                 (#{z-pat 17757}# (vector-ref #{p 17662}# 3)))
                              (letrec*
-                               ((#{f 18216}#
-                                  (lambda (#{e 18218}# #{w 18219}#)
-                                    (if (pair? #{e 18218}#)
+                               ((#{f 17761}#
+                                  (lambda (#{e 17763}# #{w 17764}#)
+                                    (if (pair? #{e 17763}#)
                                       (call-with-values
                                         (lambda ()
-                                          (#{f 18216}#
-                                            (cdr #{e 18218}#)
-                                            #{w 18219}#))
-                                        (lambda (#{xr* 18220}#
-                                                 #{y-pat 18221}#
-                                                 #{r 18222}#)
-                                          (if #{r 18222}#
-                                            (if (null? #{y-pat 18221}#)
-                                              (let ((#{xr 18223}#
-                                                      (#{match 18087}#
-                                                        (car #{e 18218}#)
-                                                        #{x-pat 18210}#
-                                                        #{w 18219}#
+                                          (#{f 17761}#
+                                            (cdr #{e 17763}#)
+                                            #{w 17764}#))
+                                        (lambda (#{xr* 17765}#
+                                                 #{y-pat 17766}#
+                                                 #{r 17767}#)
+                                          (if #{r 17767}#
+                                            (if (null? #{y-pat 17766}#)
+                                              (let ((#{xr 17768}#
+                                                      (#{match 17632}#
+                                                        (car #{e 17763}#)
+                                                        #{x-pat 17755}#
+                                                        #{w 17764}#
                                                         '()
-                                                        #{mod 18120}#)))
-                                                (if #{xr 18223}#
+                                                        #{mod 17665}#)))
+                                                (if #{xr 17768}#
                                                   (values
-                                                    (cons #{xr 18223}#
-                                                          #{xr* 18220}#)
-                                                    #{y-pat 18221}#
-                                                    #{r 18222}#)
+                                                    (cons #{xr 17768}#
+                                                          #{xr* 17765}#)
+                                                    #{y-pat 17766}#
+                                                    #{r 17767}#)
                                                   (values #f #f #f)))
                                               (values
                                                 '()
-                                                (cdr #{y-pat 18221}#)
-                                                (#{match 18087}#
-                                                  (car #{e 18218}#)
-                                                  (car #{y-pat 18221}#)
-                                                  #{w 18219}#
-                                                  #{r 18222}#
-                                                  #{mod 18120}#)))
+                                                (cdr #{y-pat 17766}#)
+                                                (#{match 17632}#
+                                                  (car #{e 17763}#)
+                                                  (car #{y-pat 17766}#)
+                                                  #{w 17764}#
+                                                  #{r 17767}#
+                                                  #{mod 17665}#)))
                                             (values #f #f #f))))
-                                      (if (if (vector? #{e 18218}#)
-                                            (if (= (vector-length #{e 18218}#)
+                                      (if (if (vector? #{e 17763}#)
+                                            (if (= (vector-length #{e 17763}#)
                                                    4)
-                                              (eq? (vector-ref #{e 18218}# 0)
+                                              (eq? (vector-ref #{e 17763}# 0)
                                                    'syntax-object)
                                               #f)
                                             #f)
-                                        (#{f 18216}#
-                                          (vector-ref #{e 18218}# 1)
-                                          (let ((#{m1 18251}#
-                                                  (car #{w 18219}#))
-                                                (#{s1 18252}#
-                                                  (cdr #{w 18219}#)))
-                                            (if (null? #{m1 18251}#)
-                                              (if (null? #{s1 18252}#)
-                                                #{e 18218}#
-                                                (cons (car #{e 18218}#)
-                                                      (let ((#{m2 18264}#
-                                                              (cdr #{e 
18218}#)))
-                                                        (if (null? #{m2 
18264}#)
-                                                          #{s1 18252}#
+                                        (#{f 17761}#
+                                          (vector-ref #{e 17763}# 1)
+                                          (let ((#{m1 17796}#
+                                                  (car #{w 17764}#))
+                                                (#{s1 17797}#
+                                                  (cdr #{w 17764}#)))
+                                            (if (null? #{m1 17796}#)
+                                              (if (null? #{s1 17797}#)
+                                                #{e 17763}#
+                                                (cons (car #{e 17763}#)
+                                                      (let ((#{m2 17809}#
+                                                              (cdr #{e 
17763}#)))
+                                                        (if (null? #{m2 
17809}#)
+                                                          #{s1 17797}#
                                                           (append
-                                                            #{s1 18252}#
-                                                            #{m2 18264}#)))))
-                                              (cons (let ((#{m2 18274}#
-                                                            (car #{e 18218}#)))
-                                                      (if (null? #{m2 18274}#)
-                                                        #{m1 18251}#
+                                                            #{s1 17797}#
+                                                            #{m2 17809}#)))))
+                                              (cons (let ((#{m2 17819}#
+                                                            (car #{e 17763}#)))
+                                                      (if (null? #{m2 17819}#)
+                                                        #{m1 17796}#
                                                         (append
-                                                          #{m1 18251}#
-                                                          #{m2 18274}#)))
-                                                    (let ((#{m2 18284}#
-                                                            (cdr #{e 18218}#)))
-                                                      (if (null? #{m2 18284}#)
-                                                        #{s1 18252}#
+                                                          #{m1 17796}#
+                                                          #{m2 17819}#)))
+                                                    (let ((#{m2 17829}#
+                                                            (cdr #{e 17763}#)))
+                                                      (if (null? #{m2 17829}#)
+                                                        #{s1 17797}#
                                                         (append
-                                                          #{s1 18252}#
-                                                          #{m2 18284}#)))))))
+                                                          #{s1 17797}#
+                                                          #{m2 17829}#)))))))
                                         (values
                                           '()
-                                          #{y-pat 18211}#
-                                          (#{match 18087}#
-                                            #{e 18218}#
-                                            #{z-pat 18212}#
-                                            #{w 18219}#
-                                            #{r 18119}#
-                                            #{mod 18120}#)))))))
-                               (#{f 18216}# #{e 18116}# #{w 18118}#))))
-                         (lambda (#{xr* 18294}# #{y-pat 18295}# #{r 18296}#)
-                           (if #{r 18296}#
-                             (if (null? #{y-pat 18295}#)
-                               (if (null? #{xr* 18294}#)
-                                 (#{match-empty 18084}#
-                                   (vector-ref #{p 18117}# 1)
-                                   #{r 18296}#)
-                                 (#{combine 18085}# #{xr* 18294}# #{r 18296}#))
+                                          #{y-pat 17756}#
+                                          (#{match 17632}#
+                                            #{e 17763}#
+                                            #{z-pat 17757}#
+                                            #{w 17764}#
+                                            #{r 17664}#
+                                            #{mod 17665}#)))))))
+                               (#{f 17761}# #{e 17661}# #{w 17663}#))))
+                         (lambda (#{xr* 17839}# #{y-pat 17840}# #{r 17841}#)
+                           (if #{r 17841}#
+                             (if (null? #{y-pat 17840}#)
+                               (if (null? #{xr* 17839}#)
+                                 (#{match-empty 17629}#
+                                   (vector-ref #{p 17662}# 1)
+                                   #{r 17841}#)
+                                 (#{combine 17630}# #{xr* 17839}# #{r 17841}#))
                                #f)
                              #f)))
-                       (if (eqv? #{atom-key 18130}# 'free-id)
-                         (if (if (symbol? #{e 18116}#)
+                       (if (eqv? #{atom-key 17675}# 'free-id)
+                         (if (if (symbol? #{e 17661}#)
                                #t
-                               (if (if (vector? #{e 18116}#)
-                                     (if (= (vector-length #{e 18116}#) 4)
-                                       (eq? (vector-ref #{e 18116}# 0)
+                               (if (if (vector? #{e 17661}#)
+                                     (if (= (vector-length #{e 17661}#) 4)
+                                       (eq? (vector-ref #{e 17661}# 0)
                                             'syntax-object)
                                        #f)
                                      #f)
-                                 (symbol? (vector-ref #{e 18116}# 1))
+                                 (symbol? (vector-ref #{e 17661}# 1))
                                  #f))
-                           (if (#{free-id=? 4361}#
-                                 (if (if (null? (car #{w 18118}#))
-                                       (null? (cdr #{w 18118}#))
+                           (if (#{free-id=? 4434}#
+                                 (if (if (null? (car #{w 17663}#))
+                                       (null? (cdr #{w 17663}#))
                                        #f)
-                                   #{e 18116}#
-                                   (if (if (vector? #{e 18116}#)
-                                         (if (= (vector-length #{e 18116}#) 4)
-                                           (eq? (vector-ref #{e 18116}# 0)
+                                   #{e 17661}#
+                                   (if (if (vector? #{e 17661}#)
+                                         (if (= (vector-length #{e 17661}#) 4)
+                                           (eq? (vector-ref #{e 17661}# 0)
                                                 'syntax-object)
                                            #f)
                                          #f)
-                                     (let ((#{expression 18727}#
-                                             (vector-ref #{e 18116}# 1))
-                                           (#{wrap 18728}#
-                                             (let ((#{w2 18738}#
+                                     (let ((#{expression 18272}#
+                                             (vector-ref #{e 17661}# 1))
+                                           (#{wrap 18273}#
+                                             (let ((#{w2 18283}#
                                                      (vector-ref
-                                                       #{e 18116}#
+                                                       #{e 17661}#
                                                        2)))
-                                               (let ((#{m1 18739}#
-                                                       (car #{w 18118}#))
-                                                     (#{s1 18740}#
-                                                       (cdr #{w 18118}#)))
-                                                 (if (null? #{m1 18739}#)
-                                                   (if (null? #{s1 18740}#)
-                                                     #{w2 18738}#
-                                                     (cons (car #{w2 18738}#)
-                                                           (let ((#{m2 18757}#
-                                                                   (cdr #{w2 
18738}#)))
-                                                             (if (null? #{m2 
18757}#)
-                                                               #{s1 18740}#
+                                               (let ((#{m1 18284}#
+                                                       (car #{w 17663}#))
+                                                     (#{s1 18285}#
+                                                       (cdr #{w 17663}#)))
+                                                 (if (null? #{m1 18284}#)
+                                                   (if (null? #{s1 18285}#)
+                                                     #{w2 18283}#
+                                                     (cons (car #{w2 18283}#)
+                                                           (let ((#{m2 18302}#
+                                                                   (cdr #{w2 
18283}#)))
+                                                             (if (null? #{m2 
18302}#)
+                                                               #{s1 18285}#
                                                                (append
-                                                                 #{s1 18740}#
-                                                                 #{m2 
18757}#)))))
-                                                   (cons (let ((#{m2 18765}#
-                                                                 (car #{w2 
18738}#)))
-                                                           (if (null? #{m2 
18765}#)
-                                                             #{m1 18739}#
+                                                                 #{s1 18285}#
+                                                                 #{m2 
18302}#)))))
+                                                   (cons (let ((#{m2 18310}#
+                                                                 (car #{w2 
18283}#)))
+                                                           (if (null? #{m2 
18310}#)
+                                                             #{m1 18284}#
                                                              (append
-                                                               #{m1 18739}#
-                                                               #{m2 18765}#)))
-                                                         (let ((#{m2 18773}#
-                                                                 (cdr #{w2 
18738}#)))
-                                                           (if (null? #{m2 
18773}#)
-                                                             #{s1 18740}#
+                                                               #{m1 18284}#
+                                                               #{m2 18310}#)))
+                                                         (let ((#{m2 18318}#
+                                                                 (cdr #{w2 
18283}#)))
+                                                           (if (null? #{m2 
18318}#)
+                                                             #{s1 18285}#
                                                              (append
-                                                               #{s1 18740}#
-                                                               #{m2 
18773}#))))))))
-                                           (#{module 18729}#
-                                             (vector-ref #{e 18116}# 3)))
+                                                               #{s1 18285}#
+                                                               #{m2 
18318}#))))))))
+                                           (#{module 18274}#
+                                             (vector-ref #{e 17661}# 3)))
                                        (vector
                                          'syntax-object
-                                         #{expression 18727}#
-                                         #{wrap 18728}#
-                                         #{module 18729}#))
-                                     (if (null? #{e 18116}#)
-                                       #{e 18116}#
+                                         #{expression 18272}#
+                                         #{wrap 18273}#
+                                         #{module 18274}#))
+                                     (if (null? #{e 17661}#)
+                                       #{e 17661}#
                                        (vector
                                          'syntax-object
-                                         #{e 18116}#
-                                         #{w 18118}#
-                                         #{mod 18120}#))))
-                                 (vector-ref #{p 18117}# 1))
-                             #{r 18119}#
+                                         #{e 17661}#
+                                         #{w 17663}#
+                                         #{mod 17665}#))))
+                                 (vector-ref #{p 17662}# 1))
+                             #{r 17664}#
                              #f)
                            #f)
-                         (if (eqv? #{atom-key 18130}# 'atom)
+                         (if (eqv? #{atom-key 17675}# 'atom)
                            (if (equal?
-                                 (vector-ref #{p 18117}# 1)
-                                 (#{strip 4386}# #{e 18116}# #{w 18118}#))
-                             #{r 18119}#
+                                 (vector-ref #{p 17662}# 1)
+                                 (#{strip 4459}# #{e 17661}# #{w 17663}#))
+                             #{r 17664}#
                              #f)
-                           (if (eqv? #{atom-key 18130}# 'vector)
-                             (if (vector? #{e 18116}#)
-                               (#{match 18087}#
-                                 (vector->list #{e 18116}#)
-                                 (vector-ref #{p 18117}# 1)
-                                 #{w 18118}#
-                                 #{r 18119}#
-                                 #{mod 18120}#)
+                           (if (eqv? #{atom-key 17675}# 'vector)
+                             (if (vector? #{e 17661}#)
+                               (#{match 17632}#
+                                 (vector->list #{e 17661}#)
+                                 (vector-ref #{p 17662}# 1)
+                                 #{w 17663}#
+                                 #{r 17664}#
+                                 #{mod 17665}#)
                                #f))))))))))))
-       (#{match 18087}#
-         (lambda (#{e 18806}#
-                  #{p 18807}#
-                  #{w 18808}#
-                  #{r 18809}#
-                  #{mod 18810}#)
-           (if (not #{r 18809}#)
+       (#{match 17632}#
+         (lambda (#{e 18351}#
+                  #{p 18352}#
+                  #{w 18353}#
+                  #{r 18354}#
+                  #{mod 18355}#)
+           (if (not #{r 18354}#)
              #f
-             (if (eq? #{p 18807}# '_)
-               #{r 18809}#
-               (if (eq? #{p 18807}# 'any)
-                 (cons (if (if (null? (car #{w 18808}#))
-                             (null? (cdr #{w 18808}#))
+             (if (eq? #{p 18352}# '_)
+               #{r 18354}#
+               (if (eq? #{p 18352}# 'any)
+                 (cons (if (if (null? (car #{w 18353}#))
+                             (null? (cdr #{w 18353}#))
                              #f)
-                         #{e 18806}#
-                         (if (if (vector? #{e 18806}#)
-                               (if (= (vector-length #{e 18806}#) 4)
-                                 (eq? (vector-ref #{e 18806}# 0)
+                         #{e 18351}#
+                         (if (if (vector? #{e 18351}#)
+                               (if (= (vector-length #{e 18351}#) 4)
+                                 (eq? (vector-ref #{e 18351}# 0)
                                       'syntax-object)
                                  #f)
                                #f)
-                           (let ((#{expression 18840}#
-                                   (vector-ref #{e 18806}# 1))
-                                 (#{wrap 18841}#
-                                   (let ((#{w2 18851}#
-                                           (vector-ref #{e 18806}# 2)))
-                                     (let ((#{m1 18852}# (car #{w 18808}#))
-                                           (#{s1 18853}# (cdr #{w 18808}#)))
-                                       (if (null? #{m1 18852}#)
-                                         (if (null? #{s1 18853}#)
-                                           #{w2 18851}#
-                                           (cons (car #{w2 18851}#)
-                                                 (let ((#{m2 18870}#
-                                                         (cdr #{w2 18851}#)))
-                                                   (if (null? #{m2 18870}#)
-                                                     #{s1 18853}#
+                           (let ((#{expression 18385}#
+                                   (vector-ref #{e 18351}# 1))
+                                 (#{wrap 18386}#
+                                   (let ((#{w2 18396}#
+                                           (vector-ref #{e 18351}# 2)))
+                                     (let ((#{m1 18397}# (car #{w 18353}#))
+                                           (#{s1 18398}# (cdr #{w 18353}#)))
+                                       (if (null? #{m1 18397}#)
+                                         (if (null? #{s1 18398}#)
+                                           #{w2 18396}#
+                                           (cons (car #{w2 18396}#)
+                                                 (let ((#{m2 18415}#
+                                                         (cdr #{w2 18396}#)))
+                                                   (if (null? #{m2 18415}#)
+                                                     #{s1 18398}#
                                                      (append
-                                                       #{s1 18853}#
-                                                       #{m2 18870}#)))))
-                                         (cons (let ((#{m2 18878}#
-                                                       (car #{w2 18851}#)))
-                                                 (if (null? #{m2 18878}#)
-                                                   #{m1 18852}#
+                                                       #{s1 18398}#
+                                                       #{m2 18415}#)))))
+                                         (cons (let ((#{m2 18423}#
+                                                       (car #{w2 18396}#)))
+                                                 (if (null? #{m2 18423}#)
+                                                   #{m1 18397}#
                                                    (append
-                                                     #{m1 18852}#
-                                                     #{m2 18878}#)))
-                                               (let ((#{m2 18886}#
-                                                       (cdr #{w2 18851}#)))
-                                                 (if (null? #{m2 18886}#)
-                                                   #{s1 18853}#
+                                                     #{m1 18397}#
+                                                     #{m2 18423}#)))
+                                               (let ((#{m2 18431}#
+                                                       (cdr #{w2 18396}#)))
+                                                 (if (null? #{m2 18431}#)
+                                                   #{s1 18398}#
                                                    (append
-                                                     #{s1 18853}#
-                                                     #{m2 18886}#))))))))
-                                 (#{module 18842}# (vector-ref #{e 18806}# 3)))
+                                                     #{s1 18398}#
+                                                     #{m2 18431}#))))))))
+                                 (#{module 18387}# (vector-ref #{e 18351}# 3)))
                              (vector
                                'syntax-object
-                               #{expression 18840}#
-                               #{wrap 18841}#
-                               #{module 18842}#))
-                           (if (null? #{e 18806}#)
-                             #{e 18806}#
+                               #{expression 18385}#
+                               #{wrap 18386}#
+                               #{module 18387}#))
+                           (if (null? #{e 18351}#)
+                             #{e 18351}#
                              (vector
                                'syntax-object
-                               #{e 18806}#
-                               #{w 18808}#
-                               #{mod 18810}#))))
-                       #{r 18809}#)
-                 (if (if (vector? #{e 18806}#)
-                       (if (= (vector-length #{e 18806}#) 4)
-                         (eq? (vector-ref #{e 18806}# 0) 'syntax-object)
+                               #{e 18351}#
+                               #{w 18353}#
+                               #{mod 18355}#))))
+                       #{r 18354}#)
+                 (if (if (vector? #{e 18351}#)
+                       (if (= (vector-length #{e 18351}#) 4)
+                         (eq? (vector-ref #{e 18351}# 0) 'syntax-object)
                          #f)
                        #f)
-                   (#{match* 18086}#
-                     (vector-ref #{e 18806}# 1)
-                     #{p 18807}#
-                     (let ((#{w2 18929}# (vector-ref #{e 18806}# 2)))
-                       (let ((#{m1 18930}# (car #{w 18808}#))
-                             (#{s1 18931}# (cdr #{w 18808}#)))
-                         (if (null? #{m1 18930}#)
-                           (if (null? #{s1 18931}#)
-                             #{w2 18929}#
-                             (cons (car #{w2 18929}#)
-                                   (let ((#{m2 18942}# (cdr #{w2 18929}#)))
-                                     (if (null? #{m2 18942}#)
-                                       #{s1 18931}#
-                                       (append #{s1 18931}# #{m2 18942}#)))))
-                           (cons (let ((#{m2 18950}# (car #{w2 18929}#)))
-                                   (if (null? #{m2 18950}#)
-                                     #{m1 18930}#
-                                     (append #{m1 18930}# #{m2 18950}#)))
-                                 (let ((#{m2 18958}# (cdr #{w2 18929}#)))
-                                   (if (null? #{m2 18958}#)
-                                     #{s1 18931}#
-                                     (append #{s1 18931}# #{m2 18958}#)))))))
-                     #{r 18809}#
-                     (vector-ref #{e 18806}# 3))
-                   (#{match* 18086}#
-                     #{e 18806}#
-                     #{p 18807}#
-                     #{w 18808}#
-                     #{r 18809}#
-                     #{mod 18810}#))))))))
+                   (#{match* 17631}#
+                     (vector-ref #{e 18351}# 1)
+                     #{p 18352}#
+                     (let ((#{w2 18474}# (vector-ref #{e 18351}# 2)))
+                       (let ((#{m1 18475}# (car #{w 18353}#))
+                             (#{s1 18476}# (cdr #{w 18353}#)))
+                         (if (null? #{m1 18475}#)
+                           (if (null? #{s1 18476}#)
+                             #{w2 18474}#
+                             (cons (car #{w2 18474}#)
+                                   (let ((#{m2 18487}# (cdr #{w2 18474}#)))
+                                     (if (null? #{m2 18487}#)
+                                       #{s1 18476}#
+                                       (append #{s1 18476}# #{m2 18487}#)))))
+                           (cons (let ((#{m2 18495}# (car #{w2 18474}#)))
+                                   (if (null? #{m2 18495}#)
+                                     #{m1 18475}#
+                                     (append #{m1 18475}# #{m2 18495}#)))
+                                 (let ((#{m2 18503}# (cdr #{w2 18474}#)))
+                                   (if (null? #{m2 18503}#)
+                                     #{s1 18476}#
+                                     (append #{s1 18476}# #{m2 18503}#)))))))
+                     #{r 18354}#
+                     (vector-ref #{e 18351}# 3))
+                   (#{match* 17631}#
+                     #{e 18351}#
+                     #{p 18352}#
+                     #{w 18353}#
+                     #{r 18354}#
+                     #{mod 18355}#))))))))
       (set! $sc-dispatch
-        (lambda (#{e 18088}# #{p 18089}#)
-          (if (eq? #{p 18089}# 'any)
-            (list #{e 18088}#)
-            (if (eq? #{p 18089}# '_)
+        (lambda (#{e 17633}# #{p 17634}#)
+          (if (eq? #{p 17634}# 'any)
+            (list #{e 17633}#)
+            (if (eq? #{p 17634}# '_)
               '()
-              (if (if (vector? #{e 18088}#)
-                    (if (= (vector-length #{e 18088}#) 4)
-                      (eq? (vector-ref #{e 18088}# 0) 'syntax-object)
+              (if (if (vector? #{e 17633}#)
+                    (if (= (vector-length #{e 17633}#) 4)
+                      (eq? (vector-ref #{e 17633}# 0) 'syntax-object)
                       #f)
                     #f)
-                (#{match* 18086}#
-                  (vector-ref #{e 18088}# 1)
-                  #{p 18089}#
-                  (vector-ref #{e 18088}# 2)
+                (#{match* 17631}#
+                  (vector-ref #{e 17633}# 1)
+                  #{p 17634}#
+                  (vector-ref #{e 17633}# 2)
                   '()
-                  (vector-ref #{e 18088}# 3))
-                (#{match* 18086}#
-                  #{e 18088}#
-                  #{p 18089}#
+                  (vector-ref #{e 17633}# 3))
+                (#{match* 17631}#
+                  #{e 17633}#
+                  #{p 17634}#
                   '(())
                   '()
                   #f)))))))))
@@ -17620,82 +17795,118 @@
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x 37268}#)
-      (let ((#{tmp 37270}#
-              ($sc-dispatch #{x 37268}# '(_ () any . each-any))))
-        (if #{tmp 37270}#
+    (lambda (#{x 36462}#)
+      (let ((#{tmp 36464}#
+              ($sc-dispatch #{x 36462}# '(_ () any . each-any))))
+        (if #{tmp 36464}#
           (@apply
-            (lambda (#{e1 37274}# #{e2 37275}#)
+            (lambda (#{e1 36468}# #{e2 36469}#)
               (cons '#(syntax-object
                        let
                        ((top)
                         #(ribcage
                           #(e1 e2)
                           #((top) (top))
-                          #("i37241" "i37242"))
+                          #("i36435" "i36436"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i37238")))
+                        #(ribcage #(x) #((top)) #("i36432"))
+                        #(ribcage
+                          (with-syntax)
+                          ((top))
+                          (((hygiene guile)
+                            .
+                            #(syntax-object
+                              with-syntax
+                              ((top))
+                              (hygiene guile))))))
                        (hygiene guile))
-                    (cons '() (cons #{e1 37274}# #{e2 37275}#))))
-            #{tmp 37270}#)
-          (let ((#{tmp 37276}#
+                    (cons '() (cons #{e1 36468}# #{e2 36469}#))))
+            #{tmp 36464}#)
+          (let ((#{tmp 36470}#
                   ($sc-dispatch
-                    #{x 37268}#
+                    #{x 36462}#
                     '(_ ((any any)) any . each-any))))
-            (if #{tmp 37276}#
+            (if #{tmp 36470}#
               (@apply
-                (lambda (#{out 37280}#
-                         #{in 37281}#
-                         #{e1 37282}#
-                         #{e2 37283}#)
+                (lambda (#{out 36474}#
+                         #{in 36475}#
+                         #{e1 36476}#
+                         #{e2 36477}#)
                   (list '#(syntax-object
                            syntax-case
                            ((top)
                             #(ribcage
                               #(out in e1 e2)
                               #((top) (top) (top) (top))
-                              #("i37247" "i37248" "i37249" "i37250"))
+                              #("i36441" "i36442" "i36443" "i36444"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i37238")))
+                            #(ribcage #(x) #((top)) #("i36432"))
+                            #(ribcage
+                              (with-syntax)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  with-syntax
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
-                        #{in 37281}#
+                        #{in 36475}#
                         '()
-                        (list #{out 37280}#
+                        (list #{out 36474}#
                               (cons '#(syntax-object
                                        let
                                        ((top)
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i37247"
-                                            "i37248"
-                                            "i37249"
-                                            "i37250"))
+                                          #("i36441"
+                                            "i36442"
+                                            "i36443"
+                                            "i36444"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i37238")))
+                                        #(ribcage #(x) #((top)) #("i36432"))
+                                        #(ribcage
+                                          (with-syntax)
+                                          ((top))
+                                          (((hygiene guile)
+                                            .
+                                            #(syntax-object
+                                              with-syntax
+                                              ((top))
+                                              (hygiene guile))))))
                                        (hygiene guile))
                                     (cons '()
-                                          (cons #{e1 37282}# #{e2 37283}#))))))
-                #{tmp 37276}#)
-              (let ((#{tmp 37284}#
+                                          (cons #{e1 36476}# #{e2 36477}#))))))
+                #{tmp 36470}#)
+              (let ((#{tmp 36478}#
                       ($sc-dispatch
-                        #{x 37268}#
+                        #{x 36462}#
                         '(_ #(each (any any)) any . each-any))))
-                (if #{tmp 37284}#
+                (if #{tmp 36478}#
                   (@apply
-                    (lambda (#{out 37288}#
-                             #{in 37289}#
-                             #{e1 37290}#
-                             #{e2 37291}#)
+                    (lambda (#{out 36482}#
+                             #{in 36483}#
+                             #{e1 36484}#
+                             #{e2 36485}#)
                       (list '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(out in e1 e2)
                                   #((top) (top) (top) (top))
-                                  #("i37257" "i37258" "i37259" "i37260"))
+                                  #("i36451" "i36452" "i36453" "i36454"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i37238")))
+                                #(ribcage #(x) #((top)) #("i36432"))
+                                #(ribcage
+                                  (with-syntax)
+                                  ((top))
+                                  (((hygiene guile)
+                                    .
+                                    #(syntax-object
+                                      with-syntax
+                                      ((top))
+                                      (hygiene guile))))))
                                (hygiene guile))
                             (cons '#(syntax-object
                                      list
@@ -17703,62 +17914,89 @@
                                       #(ribcage
                                         #(out in e1 e2)
                                         #((top) (top) (top) (top))
-                                        #("i37257" "i37258" "i37259" "i37260"))
+                                        #("i36451" "i36452" "i36453" "i36454"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i37238")))
+                                      #(ribcage #(x) #((top)) #("i36432"))
+                                      #(ribcage
+                                        (with-syntax)
+                                        ((top))
+                                        (((hygiene guile)
+                                          .
+                                          #(syntax-object
+                                            with-syntax
+                                            ((top))
+                                            (hygiene guile))))))
                                      (hygiene guile))
-                                  #{in 37289}#)
+                                  #{in 36483}#)
                             '()
-                            (list #{out 37288}#
+                            (list #{out 36482}#
                                   (cons '#(syntax-object
                                            let
                                            ((top)
                                             #(ribcage
                                               #(out in e1 e2)
                                               #((top) (top) (top) (top))
-                                              #("i37257"
-                                                "i37258"
-                                                "i37259"
-                                                "i37260"))
+                                              #("i36451"
+                                                "i36452"
+                                                "i36453"
+                                                "i36454"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i37238")))
+                                              #("i36432"))
+                                            #(ribcage
+                                              (with-syntax)
+                                              ((top))
+                                              (((hygiene guile)
+                                                .
+                                                #(syntax-object
+                                                  with-syntax
+                                                  ((top))
+                                                  (hygiene guile))))))
                                            (hygiene guile))
                                         (cons '()
-                                              (cons #{e1 37290}#
-                                                    #{e2 37291}#))))))
-                    #{tmp 37284}#)
+                                              (cons #{e1 36484}#
+                                                    #{e2 36485}#))))))
+                    #{tmp 36478}#)
                   (syntax-violation
                     #f
                     "source expression failed to match any pattern"
-                    #{x 37268}#))))))))))
+                    #{x 36462}#))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x 37345}#)
-      (let ((#{tmp 37347}#
+    (lambda (#{x 36540}#)
+      (let ((#{tmp 36542}#
               ($sc-dispatch
-                #{x 37345}#
+                #{x 36540}#
                 '(_ each-any . #(each ((any . any) any))))))
-        (if #{tmp 37347}#
+        (if #{tmp 36542}#
           (@apply
-            (lambda (#{k 37351}#
-                     #{keyword 37352}#
-                     #{pattern 37353}#
-                     #{template 37354}#)
+            (lambda (#{k 36546}#
+                     #{keyword 36547}#
+                     #{pattern 36548}#
+                     #{template 36549}#)
               (list '#(syntax-object
                        lambda
                        ((top)
                         #(ribcage
                           #(k keyword pattern template)
                           #((top) (top) (top) (top))
-                          #("i37308" "i37309" "i37310" "i37311"))
+                          #("i36503" "i36504" "i36505" "i36506"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i37305")))
+                        #(ribcage #(x) #((top)) #("i36500"))
+                        #(ribcage
+                          (syntax-rules)
+                          ((top))
+                          (((hygiene guile)
+                            .
+                            #(syntax-object
+                              syntax-rules
+                              ((top))
+                              (hygiene guile))))))
                        (hygiene guile))
                     '(#(syntax-object
                         x
@@ -17766,9 +18004,18 @@
                          #(ribcage
                            #(k keyword pattern template)
                            #((top) (top) (top) (top))
-                           #("i37308" "i37309" "i37310" "i37311"))
+                           #("i36503" "i36504" "i36505" "i36506"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i37305")))
+                         #(ribcage #(x) #((top)) #("i36500"))
+                         #(ribcage
+                           (syntax-rules)
+                           ((top))
+                           (((hygiene guile)
+                             .
+                             #(syntax-object
+                               syntax-rules
+                               ((top))
+                               (hygiene guile))))))
                         (hygiene guile)))
                     (vector
                       '(#(syntax-object
@@ -17777,9 +18024,18 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i37308" "i37309" "i37310" "i37311"))
+                             #("i36503" "i36504" "i36505" "i36506"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i37305")))
+                           #(ribcage #(x) #((top)) #("i36500"))
+                           #(ribcage
+                             (syntax-rules)
+                             ((top))
+                             (((hygiene guile)
+                               .
+                               #(syntax-object
+                                 syntax-rules
+                                 ((top))
+                                 (hygiene guile))))))
                           (hygiene guile))
                         .
                         #(syntax-object
@@ -17788,9 +18044,18 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i37308" "i37309" "i37310" "i37311"))
+                             #("i36503" "i36504" "i36505" "i36506"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i37305")))
+                           #(ribcage #(x) #((top)) #("i36500"))
+                           #(ribcage
+                             (syntax-rules)
+                             ((top))
+                             (((hygiene guile)
+                               .
+                               #(syntax-object
+                                 syntax-rules
+                                 ((top))
+                                 (hygiene guile))))))
                           (hygiene guile)))
                       (cons '#(syntax-object
                                patterns
@@ -17798,20 +18063,38 @@
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i37308" "i37309" "i37310" "i37311"))
+                                  #("i36503" "i36504" "i36505" "i36506"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i37305")))
+                                #(ribcage #(x) #((top)) #("i36500"))
+                                #(ribcage
+                                  (syntax-rules)
+                                  ((top))
+                                  (((hygiene guile)
+                                    .
+                                    #(syntax-object
+                                      syntax-rules
+                                      ((top))
+                                      (hygiene guile))))))
                                (hygiene guile))
-                            #{pattern 37353}#))
+                            #{pattern 36548}#))
                     (cons '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(k keyword pattern template)
                                 #((top) (top) (top) (top))
-                                #("i37308" "i37309" "i37310" "i37311"))
+                                #("i36503" "i36504" "i36505" "i36506"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i37305")))
+                              #(ribcage #(x) #((top)) #("i36500"))
+                              #(ribcage
+                                (syntax-rules)
+                                ((top))
+                                (((hygiene guile)
+                                  .
+                                  #(syntax-object
+                                    syntax-rules
+                                    ((top))
+                                    (hygiene guile))))))
                              (hygiene guile))
                           (cons '#(syntax-object
                                    x
@@ -17819,15 +18102,24 @@
                                     #(ribcage
                                       #(k keyword pattern template)
                                       #((top) (top) (top) (top))
-                                      #("i37308" "i37309" "i37310" "i37311"))
+                                      #("i36503" "i36504" "i36505" "i36506"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i37305")))
+                                    #(ribcage #(x) #((top)) #("i36500"))
+                                    #(ribcage
+                                      (syntax-rules)
+                                      ((top))
+                                      (((hygiene guile)
+                                        .
+                                        #(syntax-object
+                                          syntax-rules
+                                          ((top))
+                                          (hygiene guile))))))
                                    (hygiene guile))
-                                (cons #{k 37351}#
-                                      (map (lambda (#{tmp 37319 37355}#
-                                                    #{tmp 37318 37356}#)
+                                (cons #{k 36546}#
+                                      (map (lambda (#{tmp 36514 36550}#
+                                                    #{tmp 36513 36551}#)
                                              (list (cons '#(syntax-object
-                                                            dummy
+                                                            _
                                                             ((top)
                                                              #(ribcage
                                                                #(k
@@ -17838,10 +18130,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i37308"
-                                                                 "i37309"
-                                                                 "i37310"
-                                                                 "i37311"))
+                                                               #("i36503"
+                                                                 "i36504"
+                                                                 "i36505"
+                                                                 "i36506"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -17849,9 +18141,20 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i37305")))
+                                                               #("i36500"))
+                                                             #(ribcage
+                                                               (syntax-rules)
+                                                               ((top))
+                                                               (((hygiene
+                                                                   guile)
+                                                                 .
+                                                                 
#(syntax-object
+                                                                   syntax-rules
+                                                                   ((top))
+                                                                   (hygiene
+                                                                     
guile))))))
                                                             (hygiene guile))
-                                                         #{tmp 37318 37356}#)
+                                                         #{tmp 36513 36551}#)
                                                    (list '#(syntax-object
                                                             syntax
                                                             ((top)
@@ -17864,10 +18167,10 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i37308"
-                                                                 "i37309"
-                                                                 "i37310"
-                                                                 "i37311"))
+                                                               #("i36503"
+                                                                 "i36504"
+                                                                 "i36505"
+                                                                 "i36506"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -17875,41 +18178,61 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i37305")))
+                                                               #("i36500"))
+                                                             #(ribcage
+                                                               (syntax-rules)
+                                                               ((top))
+                                                               (((hygiene
+                                                                   guile)
+                                                                 .
+                                                                 
#(syntax-object
+                                                                   syntax-rules
+                                                                   ((top))
+                                                                   (hygiene
+                                                                     
guile))))))
                                                             (hygiene guile))
-                                                         #{tmp 37319 37355}#)))
-                                           #{template 37354}#
-                                           #{pattern 37353}#))))))
-            #{tmp 37347}#)
-          (let ((#{tmp 37357}#
+                                                         #{tmp 36514 36550}#)))
+                                           #{template 36549}#
+                                           #{pattern 36548}#))))))
+            #{tmp 36542}#)
+          (let ((#{tmp 36552}#
                   ($sc-dispatch
-                    #{x 37345}#
+                    #{x 36540}#
                     '(_ each-any any . #(each ((any . any) any))))))
-            (if (if #{tmp 37357}#
+            (if (if #{tmp 36552}#
                   (@apply
-                    (lambda (#{k 37361}#
-                             #{docstring 37362}#
-                             #{keyword 37363}#
-                             #{pattern 37364}#
-                             #{template 37365}#)
-                      (string? (syntax->datum #{docstring 37362}#)))
-                    #{tmp 37357}#)
+                    (lambda (#{k 36556}#
+                             #{docstring 36557}#
+                             #{keyword 36558}#
+                             #{pattern 36559}#
+                             #{template 36560}#)
+                      (string? (syntax->datum #{docstring 36557}#)))
+                    #{tmp 36552}#)
                   #f)
               (@apply
-                (lambda (#{k 37366}#
-                         #{docstring 37367}#
-                         #{keyword 37368}#
-                         #{pattern 37369}#
-                         #{template 37370}#)
+                (lambda (#{k 36561}#
+                         #{docstring 36562}#
+                         #{keyword 36563}#
+                         #{pattern 36564}#
+                         #{template 36565}#)
                   (list '#(syntax-object
                            lambda
                            ((top)
                             #(ribcage
                               #(k docstring keyword pattern template)
                               #((top) (top) (top) (top) (top))
-                              #("i37331" "i37332" "i37333" "i37334" "i37335"))
+                              #("i36526" "i36527" "i36528" "i36529" "i36530"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i37305")))
+                            #(ribcage #(x) #((top)) #("i36500"))
+                            #(ribcage
+                              (syntax-rules)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  syntax-rules
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
                         '(#(syntax-object
                             x
@@ -17917,11 +18240,20 @@
                              #(ribcage
                                #(k docstring keyword pattern template)
                                #((top) (top) (top) (top) (top))
-                               #("i37331" "i37332" "i37333" "i37334" "i37335"))
+                               #("i36526" "i36527" "i36528" "i36529" "i36530"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i37305")))
+                             #(ribcage #(x) #((top)) #("i36500"))
+                             #(ribcage
+                               (syntax-rules)
+                               ((top))
+                               (((hygiene guile)
+                                 .
+                                 #(syntax-object
+                                   syntax-rules
+                                   ((top))
+                                   (hygiene guile))))))
                             (hygiene guile)))
-                        #{docstring 37367}#
+                        #{docstring 36562}#
                         (vector
                           '(#(syntax-object
                               macro-type
@@ -17929,13 +18261,22 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i37331"
-                                   "i37332"
-                                   "i37333"
-                                   "i37334"
-                                   "i37335"))
+                                 #("i36526"
+                                   "i36527"
+                                   "i36528"
+                                   "i36529"
+                                   "i36530"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i37305")))
+                               #(ribcage #(x) #((top)) #("i36500"))
+                               #(ribcage
+                                 (syntax-rules)
+                                 ((top))
+                                 (((hygiene guile)
+                                   .
+                                   #(syntax-object
+                                     syntax-rules
+                                     ((top))
+                                     (hygiene guile))))))
                               (hygiene guile))
                             .
                             #(syntax-object
@@ -17944,13 +18285,22 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i37331"
-                                   "i37332"
-                                   "i37333"
-                                   "i37334"
-                                   "i37335"))
+                                 #("i36526"
+                                   "i36527"
+                                   "i36528"
+                                   "i36529"
+                                   "i36530"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i37305")))
+                               #(ribcage #(x) #((top)) #("i36500"))
+                               #(ribcage
+                                 (syntax-rules)
+                                 ((top))
+                                 (((hygiene guile)
+                                   .
+                                   #(syntax-object
+                                     syntax-rules
+                                     ((top))
+                                     (hygiene guile))))))
                               (hygiene guile)))
                           (cons '#(syntax-object
                                    patterns
@@ -17958,28 +18308,46 @@
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i37331"
-                                        "i37332"
-                                        "i37333"
-                                        "i37334"
-                                        "i37335"))
+                                      #("i36526"
+                                        "i36527"
+                                        "i36528"
+                                        "i36529"
+                                        "i36530"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i37305")))
+                                    #(ribcage #(x) #((top)) #("i36500"))
+                                    #(ribcage
+                                      (syntax-rules)
+                                      ((top))
+                                      (((hygiene guile)
+                                        .
+                                        #(syntax-object
+                                          syntax-rules
+                                          ((top))
+                                          (hygiene guile))))))
                                    (hygiene guile))
-                                #{pattern 37369}#))
+                                #{pattern 36564}#))
                         (cons '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(k docstring keyword pattern template)
                                     #((top) (top) (top) (top) (top))
-                                    #("i37331"
-                                      "i37332"
-                                      "i37333"
-                                      "i37334"
-                                      "i37335"))
+                                    #("i36526"
+                                      "i36527"
+                                      "i36528"
+                                      "i36529"
+                                      "i36530"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i37305")))
+                                  #(ribcage #(x) #((top)) #("i36500"))
+                                  #(ribcage
+                                    (syntax-rules)
+                                    ((top))
+                                    (((hygiene guile)
+                                      .
+                                      #(syntax-object
+                                        syntax-rules
+                                        ((top))
+                                        (hygiene guile))))))
                                  (hygiene guile))
                               (cons '#(syntax-object
                                        x
@@ -17991,19 +18359,28 @@
                                             pattern
                                             template)
                                           #((top) (top) (top) (top) (top))
-                                          #("i37331"
-                                            "i37332"
-                                            "i37333"
-                                            "i37334"
-                                            "i37335"))
+                                          #("i36526"
+                                            "i36527"
+                                            "i36528"
+                                            "i36529"
+                                            "i36530"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i37305")))
+                                        #(ribcage #(x) #((top)) #("i36500"))
+                                        #(ribcage
+                                          (syntax-rules)
+                                          ((top))
+                                          (((hygiene guile)
+                                            .
+                                            #(syntax-object
+                                              syntax-rules
+                                              ((top))
+                                              (hygiene guile))))))
                                        (hygiene guile))
-                                    (cons #{k 37366}#
-                                          (map (lambda (#{tmp 37344 37371}#
-                                                        #{tmp 37343 37372}#)
+                                    (cons #{k 36561}#
+                                          (map (lambda (#{tmp 36539 36566}#
+                                                        #{tmp 36538 36567}#)
                                                  (list (cons '#(syntax-object
-                                                                dummy
+                                                                _
                                                                 ((top)
                                                                  #(ribcage
                                                                    #(k
@@ -18016,11 +18393,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i37331"
-                                                                     "i37332"
-                                                                     "i37333"
-                                                                     "i37334"
-                                                                     "i37335"))
+                                                                   #("i36526"
+                                                                     "i36527"
+                                                                     "i36528"
+                                                                     "i36529"
+                                                                     "i36530"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18028,10 +18405,21 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   
#("i37305")))
+                                                                   #("i36500"))
+                                                                 #(ribcage
+                                                                   
(syntax-rules)
+                                                                   ((top))
+                                                                   (((hygiene
+                                                                       guile)
+                                                                     .
+                                                                     
#(syntax-object
+                                                                       
syntax-rules
+                                                                       ((top))
+                                                                       (hygiene
+                                                                         
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 37343 
37372}#)
+                                                             #{tmp 36538 
36567}#)
                                                        (list '#(syntax-object
                                                                 syntax
                                                                 ((top)
@@ -18046,11 +18434,11 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i37331"
-                                                                     "i37332"
-                                                                     "i37333"
-                                                                     "i37334"
-                                                                     "i37335"))
+                                                                   #("i36526"
+                                                                     "i36527"
+                                                                     "i36528"
+                                                                     "i36529"
+                                                                     "i36530"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -18058,50 +18446,79 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   
#("i37305")))
+                                                                   #("i36500"))
+                                                                 #(ribcage
+                                                                   
(syntax-rules)
+                                                                   ((top))
+                                                                   (((hygiene
+                                                                       guile)
+                                                                     .
+                                                                     
#(syntax-object
+                                                                       
syntax-rules
+                                                                       ((top))
+                                                                       (hygiene
+                                                                         
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{tmp 37344 
37371}#)))
-                                               #{template 37370}#
-                                               #{pattern 37369}#))))))
-                #{tmp 37357}#)
+                                                             #{tmp 36539 
36566}#)))
+                                               #{template 36565}#
+                                               #{pattern 36564}#))))))
+                #{tmp 36552}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 37345}#))))))))
+                #{x 36540}#))))))))
 
 (define define-syntax-rule
   (make-syntax-transformer
     'define-syntax-rule
     'macro
-    (lambda (#{x 37409}#)
-      (let ((#{tmp 37411}#
-              ($sc-dispatch #{x 37409}# '(_ (any . any) any))))
-        (if #{tmp 37411}#
+    (lambda (#{x 36605}#)
+      (let ((#{tmp 36607}#
+              ($sc-dispatch #{x 36605}# '(_ (any . any) any))))
+        (if #{tmp 36607}#
           (@apply
-            (lambda (#{name 37415}#
-                     #{pattern 37416}#
-                     #{template 37417}#)
+            (lambda (#{name 36611}#
+                     #{pattern 36612}#
+                     #{template 36613}#)
               (list '#(syntax-object
                        define-syntax
                        ((top)
                         #(ribcage
                           #(name pattern template)
                           #((top) (top) (top))
-                          #("i37386" "i37387" "i37388"))
+                          #("i36582" "i36583" "i36584"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i37383")))
+                        #(ribcage #(x) #((top)) #("i36579"))
+                        #(ribcage
+                          (define-syntax-rule)
+                          ((top))
+                          (((hygiene guile)
+                            .
+                            #(syntax-object
+                              define-syntax-rule
+                              ((top))
+                              (hygiene guile))))))
                        (hygiene guile))
-                    #{name 37415}#
+                    #{name 36611}#
                     (list '#(syntax-object
                              syntax-rules
                              ((top)
                               #(ribcage
                                 #(name pattern template)
                                 #((top) (top) (top))
-                                #("i37386" "i37387" "i37388"))
+                                #("i36582" "i36583" "i36584"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i37383")))
+                              #(ribcage #(x) #((top)) #("i36579"))
+                              #(ribcage
+                                (define-syntax-rule)
+                                ((top))
+                                (((hygiene guile)
+                                  .
+                                  #(syntax-object
+                                    define-syntax-rule
+                                    ((top))
+                                    (hygiene guile))))))
                              (hygiene guile))
                           '()
                           (list (cons '#(syntax-object
@@ -18110,54 +18527,81 @@
                                           #(ribcage
                                             #(name pattern template)
                                             #((top) (top) (top))
-                                            #("i37386" "i37387" "i37388"))
+                                            #("i36582" "i36583" "i36584"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i37383")))
+                                          #(ribcage #(x) #((top)) #("i36579"))
+                                          #(ribcage
+                                            (define-syntax-rule)
+                                            ((top))
+                                            (((hygiene guile)
+                                              .
+                                              #(syntax-object
+                                                define-syntax-rule
+                                                ((top))
+                                                (hygiene guile))))))
                                          (hygiene guile))
-                                      #{pattern 37416}#)
-                                #{template 37417}#))))
-            #{tmp 37411}#)
-          (let ((#{tmp 37418}#
+                                      #{pattern 36612}#)
+                                #{template 36613}#))))
+            #{tmp 36607}#)
+          (let ((#{tmp 36614}#
                   ($sc-dispatch
-                    #{x 37409}#
+                    #{x 36605}#
                     '(_ (any . any) any any))))
-            (if (if #{tmp 37418}#
+            (if (if #{tmp 36614}#
                   (@apply
-                    (lambda (#{name 37422}#
-                             #{pattern 37423}#
-                             #{docstring 37424}#
-                             #{template 37425}#)
-                      (string? (syntax->datum #{docstring 37424}#)))
-                    #{tmp 37418}#)
+                    (lambda (#{name 36618}#
+                             #{pattern 36619}#
+                             #{docstring 36620}#
+                             #{template 36621}#)
+                      (string? (syntax->datum #{docstring 36620}#)))
+                    #{tmp 36614}#)
                   #f)
               (@apply
-                (lambda (#{name 37426}#
-                         #{pattern 37427}#
-                         #{docstring 37428}#
-                         #{template 37429}#)
+                (lambda (#{name 36622}#
+                         #{pattern 36623}#
+                         #{docstring 36624}#
+                         #{template 36625}#)
                   (list '#(syntax-object
                            define-syntax
                            ((top)
                             #(ribcage
                               #(name pattern docstring template)
                               #((top) (top) (top) (top))
-                              #("i37401" "i37402" "i37403" "i37404"))
+                              #("i36597" "i36598" "i36599" "i36600"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i37383")))
+                            #(ribcage #(x) #((top)) #("i36579"))
+                            #(ribcage
+                              (define-syntax-rule)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  define-syntax-rule
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
-                        #{name 37426}#
+                        #{name 36622}#
                         (list '#(syntax-object
                                  syntax-rules
                                  ((top)
                                   #(ribcage
                                     #(name pattern docstring template)
                                     #((top) (top) (top) (top))
-                                    #("i37401" "i37402" "i37403" "i37404"))
+                                    #("i36597" "i36598" "i36599" "i36600"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i37383")))
+                                  #(ribcage #(x) #((top)) #("i36579"))
+                                  #(ribcage
+                                    (define-syntax-rule)
+                                    ((top))
+                                    (((hygiene guile)
+                                      .
+                                      #(syntax-object
+                                        define-syntax-rule
+                                        ((top))
+                                        (hygiene guile))))))
                                  (hygiene guile))
                               '()
-                              #{docstring 37428}#
+                              #{docstring 36624}#
                               (list (cons '#(syntax-object
                                              _
                                              ((top)
@@ -18167,53 +18611,62 @@
                                                   docstring
                                                   template)
                                                 #((top) (top) (top) (top))
-                                                #("i37401"
-                                                  "i37402"
-                                                  "i37403"
-                                                  "i37404"))
+                                                #("i36597"
+                                                  "i36598"
+                                                  "i36599"
+                                                  "i36600"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i37383")))
+                                                #("i36579"))
+                                              #(ribcage
+                                                (define-syntax-rule)
+                                                ((top))
+                                                (((hygiene guile)
+                                                  .
+                                                  #(syntax-object
+                                                    define-syntax-rule
+                                                    ((top))
+                                                    (hygiene guile))))))
                                              (hygiene guile))
-                                          #{pattern 37427}#)
-                                    #{template 37429}#))))
-                #{tmp 37418}#)
+                                          #{pattern 36623}#)
+                                    #{template 36625}#))))
+                #{tmp 36614}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 37409}#))))))))
+                #{x 36605}#))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x 37478}#)
-      (let ((#{tmp 37480}#
+    (lambda (#{x 36675}#)
+      (let ((#{tmp 36677}#
               ($sc-dispatch
-                #{x 37478}#
+                #{x 36675}#
                 '(any #(each (any any)) any . each-any))))
-        (if (if #{tmp 37480}#
+        (if (if #{tmp 36677}#
               (@apply
-                (lambda (#{let* 37484}#
-                         #{x 37485}#
-                         #{v 37486}#
-                         #{e1 37487}#
-                         #{e2 37488}#)
-                  (and-map identifier? #{x 37485}#))
-                #{tmp 37480}#)
+                (lambda (#{let* 36681}#
+                         #{x 36682}#
+                         #{v 36683}#
+                         #{e1 36684}#
+                         #{e2 36685}#)
+                  (and-map identifier? #{x 36682}#))
+                #{tmp 36677}#)
               #f)
           (@apply
-            (lambda (#{let* 37489}#
-                     #{x 37490}#
-                     #{v 37491}#
-                     #{e1 37492}#
-                     #{e2 37493}#)
+            (lambda (#{let* 36686}#
+                     #{x 36687}#
+                     #{v 36688}#
+                     #{e1 36689}#
+                     #{e2 36690}#)
               (letrec*
-                ((#{f 37494}#
-                   (lambda (#{bindings 37497}#)
-                     (if (null? #{bindings 37497}#)
+                ((#{f 36691}#
+                   (lambda (#{bindings 36694}#)
+                     (if (null? #{bindings 36694}#)
                        (cons '#(syntax-object
                                 let
                                 ((top)
@@ -18221,27 +18674,36 @@
                                  #(ribcage
                                    #(f bindings)
                                    #((top) (top))
-                                   #("i37464" "i37465"))
+                                   #("i36661" "i36662"))
                                  #(ribcage
                                    #(let* x v e1 e2)
                                    #((top) (top) (top) (top) (top))
-                                   #("i37454"
-                                     "i37455"
-                                     "i37456"
-                                     "i37457"
-                                     "i37458"))
+                                   #("i36651"
+                                     "i36652"
+                                     "i36653"
+                                     "i36654"
+                                     "i36655"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i37440")))
+                                 #(ribcage #(x) #((top)) #("i36637"))
+                                 #(ribcage
+                                   (let*)
+                                   ((top))
+                                   (((hygiene guile)
+                                     .
+                                     #(syntax-object
+                                       let*
+                                       ((top))
+                                       (hygiene guile))))))
                                 (hygiene guile))
-                             (cons '() (cons #{e1 37492}# #{e2 37493}#)))
-                       (let ((#{tmp 37498}#
-                               (list (#{f 37494}# (cdr #{bindings 37497}#))
-                                     (car #{bindings 37497}#))))
-                         (let ((#{tmp 37499}#
-                                 ($sc-dispatch #{tmp 37498}# '(any any))))
-                           (if #{tmp 37499}#
+                             (cons '() (cons #{e1 36689}# #{e2 36690}#)))
+                       (let ((#{tmp 36695}#
+                               (list (#{f 36691}# (cdr #{bindings 36694}#))
+                                     (car #{bindings 36694}#))))
+                         (let ((#{tmp 36696}#
+                                 ($sc-dispatch #{tmp 36695}# '(any any))))
+                           (if #{tmp 36696}#
                              (@apply
-                               (lambda (#{body 37501}# #{binding 37502}#)
+                               (lambda (#{body 36698}# #{binding 36699}#)
                                  (list '#(syntax-object
                                           let
                                           ((top)
@@ -18249,86 +18711,92 @@
                                            #(ribcage
                                              #(body binding)
                                              #((top) (top))
-                                             #("i37474" "i37475"))
+                                             #("i36671" "i36672"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(f bindings)
                                              #((top) (top))
-                                             #("i37464" "i37465"))
+                                             #("i36661" "i36662"))
                                            #(ribcage
                                              #(let* x v e1 e2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i37454"
-                                               "i37455"
-                                               "i37456"
-                                               "i37457"
-                                               "i37458"))
+                                             #("i36651"
+                                               "i36652"
+                                               "i36653"
+                                               "i36654"
+                                               "i36655"))
                                            #(ribcage () () ())
+                                           #(ribcage #(x) #((top)) #("i36637"))
                                            #(ribcage
-                                             #(x)
-                                             #((top))
-                                             #("i37440")))
+                                             (let*)
+                                             ((top))
+                                             (((hygiene guile)
+                                               .
+                                               #(syntax-object
+                                                 let*
+                                                 ((top))
+                                                 (hygiene guile))))))
                                           (hygiene guile))
-                                       (list #{binding 37502}#)
-                                       #{body 37501}#))
-                               #{tmp 37499}#)
+                                       (list #{binding 36699}#)
+                                       #{body 36698}#))
+                               #{tmp 36696}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 37498}#))))))))
-                (#{f 37494}# (map list #{x 37490}# #{v 37491}#))))
-            #{tmp 37480}#)
+                               #{tmp 36695}#))))))))
+                (#{f 36691}# (map list #{x 36687}# #{v 36688}#))))
+            #{tmp 36677}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 37478}#))))))
+            #{x 36675}#))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x 37560}#)
-      (let ((#{tmp 37562}#
+    (lambda (#{orig-x 36758}#)
+      (let ((#{tmp 36760}#
               ($sc-dispatch
-                #{orig-x 37560}#
+                #{orig-x 36758}#
                 '(_ #(each (any any . any))
                     (any . each-any)
                     .
                     each-any))))
-        (if #{tmp 37562}#
+        (if #{tmp 36760}#
           (@apply
-            (lambda (#{var 37566}#
-                     #{init 37567}#
-                     #{step 37568}#
-                     #{e0 37569}#
-                     #{e1 37570}#
-                     #{c 37571}#)
-              (let ((#{tmp 37572}#
-                      (map (lambda (#{v 37575}# #{s 37576}#)
-                             (let ((#{tmp 37578}#
-                                     ($sc-dispatch #{s 37576}# '())))
-                               (if #{tmp 37578}#
-                                 (@apply (lambda () #{v 37575}#) #{tmp 37578}#)
-                                 (let ((#{tmp 37581}#
-                                         ($sc-dispatch #{s 37576}# '(any))))
-                                   (if #{tmp 37581}#
+            (lambda (#{var 36764}#
+                     #{init 36765}#
+                     #{step 36766}#
+                     #{e0 36767}#
+                     #{e1 36768}#
+                     #{c 36769}#)
+              (let ((#{tmp 36770}#
+                      (map (lambda (#{v 36773}# #{s 36774}#)
+                             (let ((#{tmp 36776}#
+                                     ($sc-dispatch #{s 36774}# '())))
+                               (if #{tmp 36776}#
+                                 (@apply (lambda () #{v 36773}#) #{tmp 36776}#)
+                                 (let ((#{tmp 36779}#
+                                         ($sc-dispatch #{s 36774}# '(any))))
+                                   (if #{tmp 36779}#
                                      (@apply
-                                       (lambda (#{e 37584}#) #{e 37584}#)
-                                       #{tmp 37581}#)
+                                       (lambda (#{e 36782}#) #{e 36782}#)
+                                       #{tmp 36779}#)
                                      (syntax-violation
                                        'do
                                        "bad step expression"
-                                       #{orig-x 37560}#
-                                       #{s 37576}#))))))
-                           #{var 37566}#
-                           #{step 37568}#)))
-                (let ((#{tmp 37573}#
-                        ($sc-dispatch #{tmp 37572}# 'each-any)))
-                  (if #{tmp 37573}#
+                                       #{orig-x 36758}#
+                                       #{s 36774}#))))))
+                           #{var 36764}#
+                           #{step 36766}#)))
+                (let ((#{tmp 36771}#
+                        ($sc-dispatch #{tmp 36770}# 'each-any)))
+                  (if #{tmp 36771}#
                     (@apply
-                      (lambda (#{step 37590}#)
-                        (let ((#{tmp 37592}# ($sc-dispatch #{e1 37570}# '())))
-                          (if #{tmp 37592}#
+                      (lambda (#{step 36788}#)
+                        (let ((#{tmp 36790}# ($sc-dispatch #{e1 36768}# '())))
+                          (if #{tmp 36790}#
                             (@apply
                               (lambda ()
                                 (list '#(syntax-object
@@ -18338,7 +18806,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i37528"))
+                                            #("i36726"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -18347,17 +18815,26 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i37513"
-                                              "i37514"
-                                              "i37515"
-                                              "i37516"
-                                              "i37517"
-                                              "i37518"))
+                                            #("i36711"
+                                              "i36712"
+                                              "i36713"
+                                              "i36714"
+                                              "i36715"
+                                              "i36716"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i37510")))
+                                            #("i36708"))
+                                          #(ribcage
+                                            (do)
+                                            ((top))
+                                            (((hygiene guile)
+                                              .
+                                              #(syntax-object
+                                                do
+                                                ((top))
+                                                (hygiene guile))))))
                                          (hygiene guile))
                                       '#(syntax-object
                                          doloop
@@ -18366,7 +18843,7 @@
                                           #(ribcage
                                             #(step)
                                             #((top))
-                                            #("i37528"))
+                                            #("i36726"))
                                           #(ribcage
                                             #(var init step e0 e1 c)
                                             #((top)
@@ -18375,19 +18852,28 @@
                                               (top)
                                               (top)
                                               (top))
-                                            #("i37513"
-                                              "i37514"
-                                              "i37515"
-                                              "i37516"
-                                              "i37517"
-                                              "i37518"))
+                                            #("i36711"
+                                              "i36712"
+                                              "i36713"
+                                              "i36714"
+                                              "i36715"
+                                              "i36716"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(orig-x)
                                             #((top))
-                                            #("i37510")))
+                                            #("i36708"))
+                                          #(ribcage
+                                            (do)
+                                            ((top))
+                                            (((hygiene guile)
+                                              .
+                                              #(syntax-object
+                                                do
+                                                ((top))
+                                                (hygiene guile))))))
                                          (hygiene guile))
-                                      (map list #{var 37566}# #{init 37567}#)
+                                      (map list #{var 36764}# #{init 36765}#)
                                       (list '#(syntax-object
                                                if
                                                ((top)
@@ -18395,7 +18881,7 @@
                                                 #(ribcage
                                                   #(step)
                                                   #((top))
-                                                  #("i37528"))
+                                                  #("i36726"))
                                                 #(ribcage
                                                   #(var init step e0 e1 c)
                                                   #((top)
@@ -18404,17 +18890,26 @@
                                                     (top)
                                                     (top)
                                                     (top))
-                                                  #("i37513"
-                                                    "i37514"
-                                                    "i37515"
-                                                    "i37516"
-                                                    "i37517"
-                                                    "i37518"))
+                                                  #("i36711"
+                                                    "i36712"
+                                                    "i36713"
+                                                    "i36714"
+                                                    "i36715"
+                                                    "i36716"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(orig-x)
                                                   #((top))
-                                                  #("i37510")))
+                                                  #("i36708"))
+                                                #(ribcage
+                                                  (do)
+                                                  ((top))
+                                                  (((hygiene guile)
+                                                    .
+                                                    #(syntax-object
+                                                      do
+                                                      ((top))
+                                                      (hygiene guile))))))
                                                (hygiene guile))
                                             (list '#(syntax-object
                                                      not
@@ -18423,7 +18918,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i37528"))
+                                                        #("i36726"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -18437,19 +18932,29 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i37513"
-                                                          "i37514"
-                                                          "i37515"
-                                                          "i37516"
-                                                          "i37517"
-                                                          "i37518"))
+                                                        #("i36711"
+                                                          "i36712"
+                                                          "i36713"
+                                                          "i36714"
+                                                          "i36715"
+                                                          "i36716"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i37510")))
+                                                        #("i36708"))
+                                                      #(ribcage
+                                                        (do)
+                                                        ((top))
+                                                        (((hygiene guile)
+                                                          .
+                                                          #(syntax-object
+                                                            do
+                                                            ((top))
+                                                            (hygiene
+                                                              guile))))))
                                                      (hygiene guile))
-                                                  #{e0 37569}#)
+                                                  #{e0 36767}#)
                                             (cons '#(syntax-object
                                                      begin
                                                      ((top)
@@ -18457,7 +18962,7 @@
                                                       #(ribcage
                                                         #(step)
                                                         #((top))
-                                                        #("i37528"))
+                                                        #("i36726"))
                                                       #(ribcage
                                                         #(var
                                                           init
@@ -18471,20 +18976,30 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i37513"
-                                                          "i37514"
-                                                          "i37515"
-                                                          "i37516"
-                                                          "i37517"
-                                                          "i37518"))
+                                                        #("i36711"
+                                                          "i36712"
+                                                          "i36713"
+                                                          "i36714"
+                                                          "i36715"
+                                                          "i36716"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(orig-x)
                                                         #((top))
-                                                        #("i37510")))
+                                                        #("i36708"))
+                                                      #(ribcage
+                                                        (do)
+                                                        ((top))
+                                                        (((hygiene guile)
+                                                          .
+                                                          #(syntax-object
+                                                            do
+                                                            ((top))
+                                                            (hygiene
+                                                              guile))))))
                                                      (hygiene guile))
                                                   (append
-                                                    #{c 37571}#
+                                                    #{c 36769}#
                                                     (list (cons 
'#(syntax-object
                                                                    doloop
                                                                    ((top)
@@ -18495,7 +19010,7 @@
                                                                     #(ribcage
                                                                       #(step)
                                                                       #((top))
-                                                                      
#("i37528"))
+                                                                      
#("i36726"))
                                                                     #(ribcage
                                                                       #(var
                                                                         init
@@ -18509,12 +19024,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      
#("i37513"
-                                                                        
"i37514"
-                                                                        
"i37515"
-                                                                        
"i37516"
-                                                                        
"i37517"
-                                                                        
"i37518"))
+                                                                      
#("i36711"
+                                                                        
"i36712"
+                                                                        
"i36713"
+                                                                        
"i36714"
+                                                                        
"i36715"
+                                                                        
"i36716"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -18522,30 +19037,41 @@
                                                                     #(ribcage
                                                                       #(orig-x)
                                                                       #((top))
-                                                                      
#("i37510")))
+                                                                      
#("i36708"))
+                                                                    #(ribcage
+                                                                      (do)
+                                                                      ((top))
+                                                                      
(((hygiene
+                                                                          
guile)
+                                                                        .
+                                                                        
#(syntax-object
+                                                                          do
+                                                                          
((top))
+                                                                          
(hygiene
+                                                                            
guile))))))
                                                                    (hygiene
                                                                      guile))
-                                                                #{step 
37590}#)))))))
-                              #{tmp 37592}#)
-                            (let ((#{tmp 37596}#
+                                                                #{step 
36788}#)))))))
+                              #{tmp 36790}#)
+                            (let ((#{tmp 36794}#
                                     ($sc-dispatch
-                                      #{e1 37570}#
+                                      #{e1 36768}#
                                       '(any . each-any))))
-                              (if #{tmp 37596}#
+                              (if #{tmp 36794}#
                                 (@apply
-                                  (lambda (#{e1 37600}# #{e2 37601}#)
+                                  (lambda (#{e1 36798}# #{e2 36799}#)
                                     (list '#(syntax-object
                                              let
                                              ((top)
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i37537" "i37538"))
+                                                #("i36735" "i36736"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i37528"))
+                                                #("i36726"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -18554,17 +19080,26 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i37513"
-                                                  "i37514"
-                                                  "i37515"
-                                                  "i37516"
-                                                  "i37517"
-                                                  "i37518"))
+                                                #("i36711"
+                                                  "i36712"
+                                                  "i36713"
+                                                  "i36714"
+                                                  "i36715"
+                                                  "i36716"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i37510")))
+                                                #("i36708"))
+                                              #(ribcage
+                                                (do)
+                                                ((top))
+                                                (((hygiene guile)
+                                                  .
+                                                  #(syntax-object
+                                                    do
+                                                    ((top))
+                                                    (hygiene guile))))))
                                              (hygiene guile))
                                           '#(syntax-object
                                              doloop
@@ -18572,12 +19107,12 @@
                                               #(ribcage
                                                 #(e1 e2)
                                                 #((top) (top))
-                                                #("i37537" "i37538"))
+                                                #("i36735" "i36736"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i37528"))
+                                                #("i36726"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -18586,33 +19121,42 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i37513"
-                                                  "i37514"
-                                                  "i37515"
-                                                  "i37516"
-                                                  "i37517"
-                                                  "i37518"))
+                                                #("i36711"
+                                                  "i36712"
+                                                  "i36713"
+                                                  "i36714"
+                                                  "i36715"
+                                                  "i36716"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i37510")))
+                                                #("i36708"))
+                                              #(ribcage
+                                                (do)
+                                                ((top))
+                                                (((hygiene guile)
+                                                  .
+                                                  #(syntax-object
+                                                    do
+                                                    ((top))
+                                                    (hygiene guile))))))
                                              (hygiene guile))
                                           (map list
-                                               #{var 37566}#
-                                               #{init 37567}#)
+                                               #{var 36764}#
+                                               #{init 36765}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
                                                     #(ribcage
                                                       #(e1 e2)
                                                       #((top) (top))
-                                                      #("i37537" "i37538"))
+                                                      #("i36735" "i36736"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i37528"))
+                                                      #("i36726"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -18621,32 +19165,41 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i37513"
-                                                        "i37514"
-                                                        "i37515"
-                                                        "i37516"
-                                                        "i37517"
-                                                        "i37518"))
+                                                      #("i36711"
+                                                        "i36712"
+                                                        "i36713"
+                                                        "i36714"
+                                                        "i36715"
+                                                        "i36716"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i37510")))
+                                                      #("i36708"))
+                                                    #(ribcage
+                                                      (do)
+                                                      ((top))
+                                                      (((hygiene guile)
+                                                        .
+                                                        #(syntax-object
+                                                          do
+                                                          ((top))
+                                                          (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{e0 37569}#
+                                                #{e0 36767}#
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i37537"
-                                                              "i37538"))
+                                                            #("i36735"
+                                                              "i36736"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i37528"))
+                                                            #("i36726"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -18660,33 +19213,43 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i37513"
-                                                              "i37514"
-                                                              "i37515"
-                                                              "i37516"
-                                                              "i37517"
-                                                              "i37518"))
+                                                            #("i36711"
+                                                              "i36712"
+                                                              "i36713"
+                                                              "i36714"
+                                                              "i36715"
+                                                              "i36716"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i37510")))
+                                                            #("i36708"))
+                                                          #(ribcage
+                                                            (do)
+                                                            ((top))
+                                                            (((hygiene guile)
+                                                              .
+                                                              #(syntax-object
+                                                                do
+                                                                ((top))
+                                                                (hygiene
+                                                                  guile))))))
                                                          (hygiene guile))
-                                                      (cons #{e1 37600}#
-                                                            #{e2 37601}#))
+                                                      (cons #{e1 36798}#
+                                                            #{e2 36799}#))
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(e1 e2)
                                                             #((top) (top))
-                                                            #("i37537"
-                                                              "i37538"))
+                                                            #("i36735"
+                                                              "i36736"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i37528"))
+                                                            #("i36726"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -18700,20 +19263,30 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i37513"
-                                                              "i37514"
-                                                              "i37515"
-                                                              "i37516"
-                                                              "i37517"
-                                                              "i37518"))
+                                                            #("i36711"
+                                                              "i36712"
+                                                              "i36713"
+                                                              "i36714"
+                                                              "i36715"
+                                                              "i36716"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i37510")))
+                                                            #("i36708"))
+                                                          #(ribcage
+                                                            (do)
+                                                            ((top))
+                                                            (((hygiene guile)
+                                                              .
+                                                              #(syntax-object
+                                                                do
+                                                                ((top))
+                                                                (hygiene
+                                                                  guile))))))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c 37571}#
+                                                        #{c 36769}#
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
@@ -18722,8 +19295,8 @@
                                                                             e2)
                                                                           
#((top)
                                                                             
(top))
-                                                                          
#("i37537"
-                                                                            
"i37538"))
+                                                                          
#("i36735"
+                                                                            
"i36736"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -18731,7 +19304,7 @@
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i37528"))
+                                                                          
#("i36726"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -18745,12 +19318,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i37513"
-                                                                            
"i37514"
-                                                                            
"i37515"
-                                                                            
"i37516"
-                                                                            
"i37517"
-                                                                            
"i37518"))
+                                                                          
#("i36711"
+                                                                            
"i36712"
+                                                                            
"i36713"
+                                                                            
"i36714"
+                                                                            
"i36715"
+                                                                            
"i36716"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -18758,36 +19331,47 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i37510")))
+                                                                          
#("i36708"))
+                                                                        
#(ribcage
+                                                                          (do)
+                                                                          
((top))
+                                                                          
(((hygiene
+                                                                              
guile)
+                                                                            .
+                                                                            
#(syntax-object
+                                                                              
do
+                                                                              
((top))
+                                                                              
(hygiene
+                                                                               
 guile))))))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step 
37590}#)))))))
-                                  #{tmp 37596}#)
+                                                                    #{step 
36788}#)))))))
+                                  #{tmp 36794}#)
                                 (syntax-violation
                                   #f
                                   "source expression failed to match any 
pattern"
-                                  #{e1 37570}#))))))
-                      #{tmp 37573}#)
+                                  #{e1 36768}#))))))
+                      #{tmp 36771}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp 37572}#)))))
-            #{tmp 37562}#)
+                      #{tmp 36770}#)))))
+            #{tmp 36760}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{orig-x 37560}#))))))
+            #{orig-x 36758}#))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasi 37887}#
-         (lambda (#{p 37911}# #{lev 37912}#)
-           (let ((#{tmp 37914}#
+      ((#{quasi 37086}#
+         (lambda (#{p 37110}# #{lev 37111}#)
+           (let ((#{tmp 37113}#
                    ($sc-dispatch
-                     #{p 37911}#
+                     #{p 37110}#
                      '(#(free-id
                          #(syntax-object
                            unquote
@@ -18796,7 +19380,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i37633" "i37634"))
+                              #("i36832" "i36833"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -18805,28 +19389,37 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i37629"
-                               "i37627"
-                               "i37625"
-                               "i37623"
-                               "i37621"
-                               "i37619"
-                               "i37617")))
+                              ("i36828"
+                               "i36826"
+                               "i36824"
+                               "i36822"
+                               "i36820"
+                               "i36818"
+                               "i36816"))
+                            #(ribcage
+                              (quasiquote)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  quasiquote
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile)))
                        any))))
-             (if #{tmp 37914}#
+             (if #{tmp 37113}#
                (@apply
-                 (lambda (#{p 37918}#)
-                   (if (= #{lev 37912}# 0)
+                 (lambda (#{p 37117}#)
+                   (if (= #{lev 37111}# 0)
                      (list '#(syntax-object
                               "value"
                               ((top)
-                               #(ribcage #(p) #((top)) #("i37637"))
+                               #(ribcage #(p) #((top)) #("i36836"))
                                #(ribcage () () ())
                                #(ribcage
                                  #(p lev)
                                  #((top) (top))
-                                 #("i37633" "i37634"))
+                                 #("i36832" "i36833"))
                                #(ribcage
                                  (emit quasivector
                                        quasilist*
@@ -18835,25 +19428,34 @@
                                        vquasi
                                        quasi)
                                  ((top) (top) (top) (top) (top) (top) (top))
-                                 ("i37629"
-                                  "i37627"
-                                  "i37625"
-                                  "i37623"
-                                  "i37621"
-                                  "i37619"
-                                  "i37617")))
+                                 ("i36828"
+                                  "i36826"
+                                  "i36824"
+                                  "i36822"
+                                  "i36820"
+                                  "i36818"
+                                  "i36816"))
+                               #(ribcage
+                                 (quasiquote)
+                                 ((top))
+                                 (((hygiene guile)
+                                   .
+                                   #(syntax-object
+                                     quasiquote
+                                     ((top))
+                                     (hygiene guile))))))
                               (hygiene guile))
-                           #{p 37918}#)
-                     (#{quasicons 37889}#
+                           #{p 37117}#)
+                     (#{quasicons 37088}#
                        '(#(syntax-object
                            "quote"
                            ((top)
-                            #(ribcage #(p) #((top)) #("i37637"))
+                            #(ribcage #(p) #((top)) #("i36836"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i37633" "i37634"))
+                              #("i36832" "i36833"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -18862,23 +19464,32 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i37629"
-                               "i37627"
-                               "i37625"
-                               "i37623"
-                               "i37621"
-                               "i37619"
-                               "i37617")))
+                              ("i36828"
+                               "i36826"
+                               "i36824"
+                               "i36822"
+                               "i36820"
+                               "i36818"
+                               "i36816"))
+                            #(ribcage
+                              (quasiquote)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  quasiquote
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
                          #(syntax-object
                            unquote
                            ((top)
-                            #(ribcage #(p) #((top)) #("i37637"))
+                            #(ribcage #(p) #((top)) #("i36836"))
                             #(ribcage () () ())
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i37633" "i37634"))
+                              #("i36832" "i36833"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -18887,21 +19498,30 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i37629"
-                               "i37627"
-                               "i37625"
-                               "i37623"
-                               "i37621"
-                               "i37619"
-                               "i37617")))
+                              ("i36828"
+                               "i36826"
+                               "i36824"
+                               "i36822"
+                               "i36820"
+                               "i36818"
+                               "i36816"))
+                            #(ribcage
+                              (quasiquote)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  quasiquote
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile)))
-                       (#{quasi 37887}#
-                         (list #{p 37918}#)
-                         (#{1-}# #{lev 37912}#)))))
-                 #{tmp 37914}#)
-               (let ((#{tmp 37921}#
+                       (#{quasi 37086}#
+                         (list #{p 37117}#)
+                         (#{1-}# #{lev 37111}#)))))
+                 #{tmp 37113}#)
+               (let ((#{tmp 37120}#
                        ($sc-dispatch
-                         #{p 37911}#
+                         #{p 37110}#
                          '(#(free-id
                              #(syntax-object
                                quasiquote
@@ -18910,7 +19530,7 @@
                                 #(ribcage
                                   #(p lev)
                                   #((top) (top))
-                                  #("i37633" "i37634"))
+                                  #("i36832" "i36833"))
                                 #(ribcage
                                   (emit quasivector
                                         quasilist*
@@ -18919,28 +19539,37 @@
                                         vquasi
                                         quasi)
                                   ((top) (top) (top) (top) (top) (top) (top))
-                                  ("i37629"
-                                   "i37627"
-                                   "i37625"
-                                   "i37623"
-                                   "i37621"
-                                   "i37619"
-                                   "i37617")))
+                                  ("i36828"
+                                   "i36826"
+                                   "i36824"
+                                   "i36822"
+                                   "i36820"
+                                   "i36818"
+                                   "i36816"))
+                                #(ribcage
+                                  (quasiquote)
+                                  ((top))
+                                  (((hygiene guile)
+                                    .
+                                    #(syntax-object
+                                      quasiquote
+                                      ((top))
+                                      (hygiene guile))))))
                                (hygiene guile)))
                            any))))
-                 (if #{tmp 37921}#
+                 (if #{tmp 37120}#
                    (@apply
-                     (lambda (#{p 37925}#)
-                       (#{quasicons 37889}#
+                     (lambda (#{p 37124}#)
+                       (#{quasicons 37088}#
                          '(#(syntax-object
                              "quote"
                              ((top)
-                              #(ribcage #(p) #((top)) #("i37640"))
+                              #(ribcage #(p) #((top)) #("i36839"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i37633" "i37634"))
+                                #("i36832" "i36833"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -18949,23 +19578,32 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i37629"
-                                 "i37627"
-                                 "i37625"
-                                 "i37623"
-                                 "i37621"
-                                 "i37619"
-                                 "i37617")))
+                                ("i36828"
+                                 "i36826"
+                                 "i36824"
+                                 "i36822"
+                                 "i36820"
+                                 "i36818"
+                                 "i36816"))
+                              #(ribcage
+                                (quasiquote)
+                                ((top))
+                                (((hygiene guile)
+                                  .
+                                  #(syntax-object
+                                    quasiquote
+                                    ((top))
+                                    (hygiene guile))))))
                              (hygiene guile))
                            #(syntax-object
                              quasiquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i37640"))
+                              #(ribcage #(p) #((top)) #("i36839"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i37633" "i37634"))
+                                #("i36832" "i36833"))
                               #(ribcage
                                 (emit quasivector
                                       quasilist*
@@ -18974,26 +19612,35 @@
                                       vquasi
                                       quasi)
                                 ((top) (top) (top) (top) (top) (top) (top))
-                                ("i37629"
-                                 "i37627"
-                                 "i37625"
-                                 "i37623"
-                                 "i37621"
-                                 "i37619"
-                                 "i37617")))
+                                ("i36828"
+                                 "i36826"
+                                 "i36824"
+                                 "i36822"
+                                 "i36820"
+                                 "i36818"
+                                 "i36816"))
+                              #(ribcage
+                                (quasiquote)
+                                ((top))
+                                (((hygiene guile)
+                                  .
+                                  #(syntax-object
+                                    quasiquote
+                                    ((top))
+                                    (hygiene guile))))))
                              (hygiene guile)))
-                         (#{quasi 37887}#
-                           (list #{p 37925}#)
-                           (#{1+}# #{lev 37912}#))))
-                     #{tmp 37921}#)
-                   (let ((#{tmp 37928}#
-                           ($sc-dispatch #{p 37911}# '(any . any))))
-                     (if #{tmp 37928}#
+                         (#{quasi 37086}#
+                           (list #{p 37124}#)
+                           (#{1+}# #{lev 37111}#))))
+                     #{tmp 37120}#)
+                   (let ((#{tmp 37127}#
+                           ($sc-dispatch #{p 37110}# '(any . any))))
+                     (if #{tmp 37127}#
                        (@apply
-                         (lambda (#{p 37932}# #{q 37933}#)
-                           (let ((#{tmp 37935}#
+                         (lambda (#{p 37131}# #{q 37132}#)
+                           (let ((#{tmp 37134}#
                                    ($sc-dispatch
-                                     #{p 37932}#
+                                     #{p 37131}#
                                      '(#(free-id
                                          #(syntax-object
                                            unquote
@@ -19001,12 +19648,12 @@
                                             #(ribcage
                                               #(p q)
                                               #((top) (top))
-                                              #("i37643" "i37644"))
+                                              #("i36842" "i36843"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i37633" "i37634"))
+                                              #("i36832" "i36833"))
                                             #(ribcage
                                               (emit quasivector
                                                     quasilist*
@@ -19021,38 +19668,47 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i37629"
-                                               "i37627"
-                                               "i37625"
-                                               "i37623"
-                                               "i37621"
-                                               "i37619"
-                                               "i37617")))
+                                              ("i36828"
+                                               "i36826"
+                                               "i36824"
+                                               "i36822"
+                                               "i36820"
+                                               "i36818"
+                                               "i36816"))
+                                            #(ribcage
+                                              (quasiquote)
+                                              ((top))
+                                              (((hygiene guile)
+                                                .
+                                                #(syntax-object
+                                                  quasiquote
+                                                  ((top))
+                                                  (hygiene guile))))))
                                            (hygiene guile)))
                                        .
                                        each-any))))
-                             (if #{tmp 37935}#
+                             (if #{tmp 37134}#
                                (@apply
-                                 (lambda (#{p 37939}#)
-                                   (if (= #{lev 37912}# 0)
-                                     (#{quasilist* 37891}#
-                                       (map (lambda (#{tmp 37651 37978}#)
+                                 (lambda (#{p 37138}#)
+                                   (if (= #{lev 37111}# 0)
+                                     (#{quasilist* 37090}#
+                                       (map (lambda (#{tmp 36850 37177}#)
                                               (list '#(syntax-object
                                                        "value"
                                                        ((top)
                                                         #(ribcage
                                                           #(p)
                                                           #((top))
-                                                          #("i37649"))
+                                                          #("i36848"))
                                                         #(ribcage
                                                           #(p q)
                                                           #((top) (top))
-                                                          #("i37643" "i37644"))
+                                                          #("i36842" "i36843"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(p lev)
                                                           #((top) (top))
-                                                          #("i37633" "i37634"))
+                                                          #("i36832" "i36833"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -19067,37 +19723,47 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i37629"
-                                                           "i37627"
-                                                           "i37625"
-                                                           "i37623"
-                                                           "i37621"
-                                                           "i37619"
-                                                           "i37617")))
+                                                          ("i36828"
+                                                           "i36826"
+                                                           "i36824"
+                                                           "i36822"
+                                                           "i36820"
+                                                           "i36818"
+                                                           "i36816"))
+                                                        #(ribcage
+                                                          (quasiquote)
+                                                          ((top))
+                                                          (((hygiene guile)
+                                                            .
+                                                            #(syntax-object
+                                                              quasiquote
+                                                              ((top))
+                                                              (hygiene
+                                                                guile))))))
                                                        (hygiene guile))
-                                                    #{tmp 37651 37978}#))
-                                            #{p 37939}#)
-                                       (#{quasi 37887}#
-                                         #{q 37933}#
-                                         #{lev 37912}#))
-                                     (#{quasicons 37889}#
-                                       (#{quasicons 37889}#
+                                                    #{tmp 36850 37177}#))
+                                            #{p 37138}#)
+                                       (#{quasi 37086}#
+                                         #{q 37132}#
+                                         #{lev 37111}#))
+                                     (#{quasicons 37088}#
+                                       (#{quasicons 37088}#
                                          '(#(syntax-object
                                              "quote"
                                              ((top)
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i37649"))
+                                                #("i36848"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i37643" "i37644"))
+                                                #("i36842" "i36843"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i37633" "i37634"))
+                                                #("i36832" "i36833"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -19112,13 +19778,22 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i37629"
-                                                 "i37627"
-                                                 "i37625"
-                                                 "i37623"
-                                                 "i37621"
-                                                 "i37619"
-                                                 "i37617")))
+                                                ("i36828"
+                                                 "i36826"
+                                                 "i36824"
+                                                 "i36822"
+                                                 "i36820"
+                                                 "i36818"
+                                                 "i36816"))
+                                              #(ribcage
+                                                (quasiquote)
+                                                ((top))
+                                                (((hygiene guile)
+                                                  .
+                                                  #(syntax-object
+                                                    quasiquote
+                                                    ((top))
+                                                    (hygiene guile))))))
                                              (hygiene guile))
                                            #(syntax-object
                                              unquote
@@ -19126,16 +19801,16 @@
                                               #(ribcage
                                                 #(p)
                                                 #((top))
-                                                #("i37649"))
+                                                #("i36848"))
                                               #(ribcage
                                                 #(p q)
                                                 #((top) (top))
-                                                #("i37643" "i37644"))
+                                                #("i36842" "i36843"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i37633" "i37634"))
+                                                #("i36832" "i36833"))
                                               #(ribcage
                                                 (emit quasivector
                                                       quasilist*
@@ -19150,24 +19825,33 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i37629"
-                                                 "i37627"
-                                                 "i37625"
-                                                 "i37623"
-                                                 "i37621"
-                                                 "i37619"
-                                                 "i37617")))
+                                                ("i36828"
+                                                 "i36826"
+                                                 "i36824"
+                                                 "i36822"
+                                                 "i36820"
+                                                 "i36818"
+                                                 "i36816"))
+                                              #(ribcage
+                                                (quasiquote)
+                                                ((top))
+                                                (((hygiene guile)
+                                                  .
+                                                  #(syntax-object
+                                                    quasiquote
+                                                    ((top))
+                                                    (hygiene guile))))))
                                              (hygiene guile)))
-                                         (#{quasi 37887}#
-                                           #{p 37939}#
-                                           (#{1-}# #{lev 37912}#)))
-                                       (#{quasi 37887}#
-                                         #{q 37933}#
-                                         #{lev 37912}#))))
-                                 #{tmp 37935}#)
-                               (let ((#{tmp 37983}#
+                                         (#{quasi 37086}#
+                                           #{p 37138}#
+                                           (#{1-}# #{lev 37111}#)))
+                                       (#{quasi 37086}#
+                                         #{q 37132}#
+                                         #{lev 37111}#))))
+                                 #{tmp 37134}#)
+                               (let ((#{tmp 37182}#
                                        ($sc-dispatch
-                                         #{p 37932}#
+                                         #{p 37131}#
                                          '(#(free-id
                                              #(syntax-object
                                                unquote-splicing
@@ -19175,12 +19859,12 @@
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i37643" "i37644"))
+                                                  #("i36842" "i36843"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i37633" "i37634"))
+                                                  #("i36832" "i36833"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -19195,40 +19879,49 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i37629"
-                                                   "i37627"
-                                                   "i37625"
-                                                   "i37623"
-                                                   "i37621"
-                                                   "i37619"
-                                                   "i37617")))
+                                                  ("i36828"
+                                                   "i36826"
+                                                   "i36824"
+                                                   "i36822"
+                                                   "i36820"
+                                                   "i36818"
+                                                   "i36816"))
+                                                #(ribcage
+                                                  (quasiquote)
+                                                  ((top))
+                                                  (((hygiene guile)
+                                                    .
+                                                    #(syntax-object
+                                                      quasiquote
+                                                      ((top))
+                                                      (hygiene guile))))))
                                                (hygiene guile)))
                                            .
                                            each-any))))
-                                 (if #{tmp 37983}#
+                                 (if #{tmp 37182}#
                                    (@apply
-                                     (lambda (#{p 37987}#)
-                                       (if (= #{lev 37912}# 0)
-                                         (#{quasiappend 37890}#
-                                           (map (lambda (#{tmp 37656 37990}#)
+                                     (lambda (#{p 37186}#)
+                                       (if (= #{lev 37111}# 0)
+                                         (#{quasiappend 37089}#
+                                           (map (lambda (#{tmp 36855 37189}#)
                                                   (list '#(syntax-object
                                                            "value"
                                                            ((top)
                                                             #(ribcage
                                                               #(p)
                                                               #((top))
-                                                              #("i37654"))
+                                                              #("i36853"))
                                                             #(ribcage
                                                               #(p q)
                                                               #((top) (top))
-                                                              #("i37643"
-                                                                "i37644"))
+                                                              #("i36842"
+                                                                "i36843"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(p lev)
                                                               #((top) (top))
-                                                              #("i37633"
-                                                                "i37634"))
+                                                              #("i36832"
+                                                                "i36833"))
                                                             #(ribcage
                                                               (emit quasivector
                                                                     quasilist*
@@ -19243,37 +19936,47 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                              ("i37629"
-                                                               "i37627"
-                                                               "i37625"
-                                                               "i37623"
-                                                               "i37621"
-                                                               "i37619"
-                                                               "i37617")))
+                                                              ("i36828"
+                                                               "i36826"
+                                                               "i36824"
+                                                               "i36822"
+                                                               "i36820"
+                                                               "i36818"
+                                                               "i36816"))
+                                                            #(ribcage
+                                                              (quasiquote)
+                                                              ((top))
+                                                              (((hygiene guile)
+                                                                .
+                                                                #(syntax-object
+                                                                  quasiquote
+                                                                  ((top))
+                                                                  (hygiene
+                                                                    guile))))))
                                                            (hygiene guile))
-                                                        #{tmp 37656 37990}#))
-                                                #{p 37987}#)
-                                           (#{quasi 37887}#
-                                             #{q 37933}#
-                                             #{lev 37912}#))
-                                         (#{quasicons 37889}#
-                                           (#{quasicons 37889}#
+                                                        #{tmp 36855 37189}#))
+                                                #{p 37186}#)
+                                           (#{quasi 37086}#
+                                             #{q 37132}#
+                                             #{lev 37111}#))
+                                         (#{quasicons 37088}#
+                                           (#{quasicons 37088}#
                                              '(#(syntax-object
                                                  "quote"
                                                  ((top)
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i37654"))
+                                                    #("i36853"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i37643" "i37644"))
+                                                    #("i36842" "i36843"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i37633" "i37634"))
+                                                    #("i36832" "i36833"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -19288,13 +19991,22 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i37629"
-                                                     "i37627"
-                                                     "i37625"
-                                                     "i37623"
-                                                     "i37621"
-                                                     "i37619"
-                                                     "i37617")))
+                                                    ("i36828"
+                                                     "i36826"
+                                                     "i36824"
+                                                     "i36822"
+                                                     "i36820"
+                                                     "i36818"
+                                                     "i36816"))
+                                                  #(ribcage
+                                                    (quasiquote)
+                                                    ((top))
+                                                    (((hygiene guile)
+                                                      .
+                                                      #(syntax-object
+                                                        quasiquote
+                                                        ((top))
+                                                        (hygiene guile))))))
                                                  (hygiene guile))
                                                #(syntax-object
                                                  unquote-splicing
@@ -19302,16 +20014,16 @@
                                                   #(ribcage
                                                     #(p)
                                                     #((top))
-                                                    #("i37654"))
+                                                    #("i36853"))
                                                   #(ribcage
                                                     #(p q)
                                                     #((top) (top))
-                                                    #("i37643" "i37644"))
+                                                    #("i36842" "i36843"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(p lev)
                                                     #((top) (top))
-                                                    #("i37633" "i37634"))
+                                                    #("i36832" "i36833"))
                                                   #(ribcage
                                                     (emit quasivector
                                                           quasilist*
@@ -19326,57 +20038,66 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i37629"
-                                                     "i37627"
-                                                     "i37625"
-                                                     "i37623"
-                                                     "i37621"
-                                                     "i37619"
-                                                     "i37617")))
+                                                    ("i36828"
+                                                     "i36826"
+                                                     "i36824"
+                                                     "i36822"
+                                                     "i36820"
+                                                     "i36818"
+                                                     "i36816"))
+                                                  #(ribcage
+                                                    (quasiquote)
+                                                    ((top))
+                                                    (((hygiene guile)
+                                                      .
+                                                      #(syntax-object
+                                                        quasiquote
+                                                        ((top))
+                                                        (hygiene guile))))))
                                                  (hygiene guile)))
-                                             (#{quasi 37887}#
-                                               #{p 37987}#
-                                               (#{1-}# #{lev 37912}#)))
-                                           (#{quasi 37887}#
-                                             #{q 37933}#
-                                             #{lev 37912}#))))
-                                     #{tmp 37983}#)
-                                   (#{quasicons 37889}#
-                                     (#{quasi 37887}#
-                                       #{p 37932}#
-                                       #{lev 37912}#)
-                                     (#{quasi 37887}#
-                                       #{q 37933}#
-                                       #{lev 37912}#)))))))
-                         #{tmp 37928}#)
-                       (let ((#{tmp 38004}#
-                               ($sc-dispatch #{p 37911}# '#(vector each-any))))
-                         (if #{tmp 38004}#
+                                             (#{quasi 37086}#
+                                               #{p 37186}#
+                                               (#{1-}# #{lev 37111}#)))
+                                           (#{quasi 37086}#
+                                             #{q 37132}#
+                                             #{lev 37111}#))))
+                                     #{tmp 37182}#)
+                                   (#{quasicons 37088}#
+                                     (#{quasi 37086}#
+                                       #{p 37131}#
+                                       #{lev 37111}#)
+                                     (#{quasi 37086}#
+                                       #{q 37132}#
+                                       #{lev 37111}#)))))))
+                         #{tmp 37127}#)
+                       (let ((#{tmp 37203}#
+                               ($sc-dispatch #{p 37110}# '#(vector each-any))))
+                         (if #{tmp 37203}#
                            (@apply
-                             (lambda (#{x 38008}#)
-                               (let ((#{x 38011}#
-                                       (#{vquasi 37888}#
-                                         #{x 38008}#
-                                         #{lev 37912}#)))
-                                 (let ((#{tmp 38013}#
+                             (lambda (#{x 37207}#)
+                               (let ((#{x 37210}#
+                                       (#{vquasi 37087}#
+                                         #{x 37207}#
+                                         #{lev 37111}#)))
+                                 (let ((#{tmp 37212}#
                                          ($sc-dispatch
-                                           #{x 38011}#
+                                           #{x 37210}#
                                            '(#(atom "quote") each-any))))
-                                   (if #{tmp 38013}#
+                                   (if #{tmp 37212}#
                                      (@apply
-                                       (lambda (#{x 38017}#)
+                                       (lambda (#{x 37216}#)
                                          (list '#(syntax-object
                                                   "quote"
                                                   ((top)
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37761"))
+                                                     #("i36960"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37758"))
+                                                     #("i36957"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -19391,36 +20112,45 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i37629"
-                                                      "i37627"
-                                                      "i37625"
-                                                      "i37623"
-                                                      "i37621"
-                                                      "i37619"
-                                                      "i37617")))
+                                                     ("i36828"
+                                                      "i36826"
+                                                      "i36824"
+                                                      "i36822"
+                                                      "i36820"
+                                                      "i36818"
+                                                      "i36816"))
+                                                   #(ribcage
+                                                     (quasiquote)
+                                                     ((top))
+                                                     (((hygiene guile)
+                                                       .
+                                                       #(syntax-object
+                                                         quasiquote
+                                                         ((top))
+                                                         (hygiene guile))))))
                                                   (hygiene guile))
-                                               (list->vector #{x 38017}#)))
-                                       #{tmp 38013}#)
+                                               (list->vector #{x 37216}#)))
+                                       #{tmp 37212}#)
                                      (letrec*
-                                       ((#{f 38019}#
-                                          (lambda (#{y 38031}# #{k 38032}#)
-                                            (let ((#{tmp 38034}#
+                                       ((#{f 37218}#
+                                          (lambda (#{y 37230}# #{k 37231}#)
+                                            (let ((#{tmp 37233}#
                                                     ($sc-dispatch
-                                                      #{y 38031}#
+                                                      #{y 37230}#
                                                       '(#(atom "quote")
                                                         each-any))))
-                                              (if #{tmp 38034}#
+                                              (if #{tmp 37233}#
                                                 (@apply
-                                                  (lambda (#{y 38037}#)
-                                                    (#{k 38032}#
-                                                      (map (lambda (#{tmp 
37786 38038}#)
+                                                  (lambda (#{y 37236}#)
+                                                    (#{k 37231}#
+                                                      (map (lambda (#{tmp 
36985 37237}#)
                                                              (list 
'#(syntax-object
                                                                       "quote"
                                                                       ((top)
                                                                        
#(ribcage
                                                                          #(y)
                                                                          
#((top))
-                                                                         
#("i37784"))
+                                                                         
#("i36983"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -19432,13 +20162,13 @@
                                                                          
#((top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i37766"
-                                                                           
"i37767"
-                                                                           
"i37768"))
+                                                                         
#("i36965"
+                                                                           
"i36966"
+                                                                           
"i36967"))
                                                                        
#(ribcage
                                                                          #(_)
                                                                          
#((top))
-                                                                         
#("i37764"))
+                                                                         
#("i36963"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -19446,7 +20176,7 @@
                                                                        
#(ribcage
                                                                          #(x)
                                                                          
#((top))
-                                                                         
#("i37758"))
+                                                                         
#("i36957"))
                                                                        
#(ribcage
                                                                          (emit 
quasivector
                                                                                
quasilist*
@@ -19461,51 +20191,62 @@
                                                                           (top)
                                                                           (top)
                                                                           
(top))
-                                                                         
("i37629"
-                                                                          
"i37627"
-                                                                          
"i37625"
-                                                                          
"i37623"
-                                                                          
"i37621"
-                                                                          
"i37619"
-                                                                          
"i37617")))
+                                                                         
("i36828"
+                                                                          
"i36826"
+                                                                          
"i36824"
+                                                                          
"i36822"
+                                                                          
"i36820"
+                                                                          
"i36818"
+                                                                          
"i36816"))
+                                                                       
#(ribcage
+                                                                         
(quasiquote)
+                                                                         
((top))
+                                                                         
(((hygiene
+                                                                             
guile)
+                                                                           .
+                                                                           
#(syntax-object
+                                                                             
quasiquote
+                                                                             
((top))
+                                                                             
(hygiene
+                                                                               
guile))))))
                                                                       (hygiene
                                                                         guile))
-                                                                   #{tmp 37786 
38038}#))
-                                                           #{y 38037}#)))
-                                                  #{tmp 38034}#)
-                                                (let ((#{tmp 38039}#
+                                                                   #{tmp 36985 
37237}#))
+                                                           #{y 37236}#)))
+                                                  #{tmp 37233}#)
+                                                (let ((#{tmp 37238}#
                                                         ($sc-dispatch
-                                                          #{y 38031}#
+                                                          #{y 37230}#
                                                           '(#(atom "list")
                                                             .
                                                             each-any))))
-                                                  (if #{tmp 38039}#
+                                                  (if #{tmp 37238}#
                                                     (@apply
-                                                      (lambda (#{y 38042}#)
-                                                        (#{k 38032}#
-                                                          #{y 38042}#))
-                                                      #{tmp 38039}#)
-                                                    (let ((#{tmp 38043}#
+                                                      (lambda (#{y 37241}#)
+                                                        (#{k 37231}#
+                                                          #{y 37241}#))
+                                                      #{tmp 37238}#)
+                                                    (let ((#{tmp 37242}#
                                                             ($sc-dispatch
-                                                              #{y 38031}#
+                                                              #{y 37230}#
                                                               '(#(atom "list*")
                                                                 .
                                                                 #(each+
                                                                   any
                                                                   (any)
                                                                   ())))))
-                                                      (if #{tmp 38043}#
+                                                      (if #{tmp 37242}#
                                                         (@apply
-                                                          (lambda (#{y 38046}#
-                                                                   #{z 38047}#)
-                                                            (#{f 38019}#
-                                                              #{z 38047}#
-                                                              (lambda (#{ls 
38048}#)
-                                                                (#{k 38032}#
+                                                          (lambda (#{y 37245}#
+                                                                   #{z 37246}#)
+                                                            (#{f 37218}#
+                                                              #{z 37246}#
+                                                              (lambda (#{ls 
37247}#)
+                                                                (#{k 37231}#
                                                                   (append
-                                                                    #{y 38046}#
-                                                                    #{ls 
38048}#)))))
-                                                          #{tmp 38043}#)
+                                                                    #{y 37245}#
+                                                                    #{ls 
37247}#)))))
+                                                          #{tmp 37242}#)
                                                         (list '#(syntax-object
                                                                  "list->vector"
                                                                  ((top)
@@ -19514,14 +20255,14 @@
                                                                     ()
                                                                     ())
                                                                   #(ribcage
-                                                                    #(#{ 
g37801}#)
-                                                                    #((m37802
+                                                                    #(#{ 
g37000}#)
+                                                                    #((m37001
                                                                         top))
-                                                                    
#("i37805"))
+                                                                    
#("i37004"))
                                                                   #(ribcage
                                                                     #(else)
                                                                     #((top))
-                                                                    
#("i37799"))
+                                                                    
#("i36998"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
@@ -19531,13 +20272,13 @@
                                                                     #((top)
                                                                       (top)
                                                                       (top))
-                                                                    #("i37766"
-                                                                      "i37767"
-                                                                      
"i37768"))
+                                                                    #("i36965"
+                                                                      "i36966"
+                                                                      
"i36967"))
                                                                   #(ribcage
                                                                     #(_)
                                                                     #((top))
-                                                                    
#("i37764"))
+                                                                    
#("i36963"))
                                                                   #(ribcage
                                                                     ()
                                                                     ()
@@ -19545,7 +20286,7 @@
                                                                   #(ribcage
                                                                     #(x)
                                                                     #((top))
-                                                                    
#("i37758"))
+                                                                    
#("i36957"))
                                                                   #(ribcage
                                                                     (emit 
quasivector
                                                                           
quasilist*
@@ -19560,26 +20301,37 @@
                                                                      (top)
                                                                      (top)
                                                                      (top))
-                                                                    ("i37629"
-                                                                     "i37627"
-                                                                     "i37625"
-                                                                     "i37623"
-                                                                     "i37621"
-                                                                     "i37619"
-                                                                     
"i37617")))
+                                                                    ("i36828"
+                                                                     "i36826"
+                                                                     "i36824"
+                                                                     "i36822"
+                                                                     "i36820"
+                                                                     "i36818"
+                                                                     "i36816"))
+                                                                  #(ribcage
+                                                                    
(quasiquote)
+                                                                    ((top))
+                                                                    (((hygiene
+                                                                        guile)
+                                                                      .
+                                                                      
#(syntax-object
+                                                                        
quasiquote
+                                                                        ((top))
+                                                                        
(hygiene
+                                                                          
guile))))))
                                                                  (hygiene
                                                                    guile))
-                                                              #{x 
38011}#))))))))))
-                                       (#{f 38019}#
-                                         #{x 38011}#
-                                         (lambda (#{ls 38021}#)
-                                           (let ((#{tmp 38023}#
+                                                              #{x 
37210}#))))))))))
+                                       (#{f 37218}#
+                                         #{x 37210}#
+                                         (lambda (#{ls 37220}#)
+                                           (let ((#{tmp 37222}#
                                                    ($sc-dispatch
-                                                     #{ls 38021}#
+                                                     #{ls 37220}#
                                                      'each-any)))
-                                             (if #{tmp 38023}#
+                                             (if #{tmp 37222}#
                                                (@apply
-                                                 (lambda (#{ g37774 38026}#)
+                                                 (lambda (#{ g36973 37225}#)
                                                    (cons '#(syntax-object
                                                             "vector"
                                                             ((top)
@@ -19588,9 +20340,9 @@
                                                                ()
                                                                ())
                                                              #(ribcage
-                                                               #(#{ g37774}#)
-                                                               #((m37775 top))
-                                                               #("i37779"))
+                                                               #(#{ g36973}#)
+                                                               #((m36974 top))
+                                                               #("i36978"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -19606,11 +20358,11 @@
                                                              #(ribcage
                                                                #(ls)
                                                                #((top))
-                                                               #("i37773"))
+                                                               #("i36972"))
                                                              #(ribcage
                                                                #(_)
                                                                #((top))
-                                                               #("i37764"))
+                                                               #("i36963"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -19618,7 +20370,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i37758"))
+                                                               #("i36957"))
                                                              #(ribcage
                                                                (emit 
quasivector
                                                                      quasilist*
@@ -19633,30 +20385,41 @@
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                               ("i37629"
-                                                                "i37627"
-                                                                "i37625"
-                                                                "i37623"
-                                                                "i37621"
-                                                                "i37619"
-                                                                "i37617")))
+                                                               ("i36828"
+                                                                "i36826"
+                                                                "i36824"
+                                                                "i36822"
+                                                                "i36820"
+                                                                "i36818"
+                                                                "i36816"))
+                                                             #(ribcage
+                                                               (quasiquote)
+                                                               ((top))
+                                                               (((hygiene
+                                                                   guile)
+                                                                 .
+                                                                 
#(syntax-object
+                                                                   quasiquote
+                                                                   ((top))
+                                                                   (hygiene
+                                                                     
guile))))))
                                                             (hygiene guile))
-                                                         #{ g37774 38026}#))
-                                                 #{tmp 38023}#)
+                                                         #{ g36973 37225}#))
+                                                 #{tmp 37222}#)
                                                (syntax-violation
                                                  #f
                                                  "source expression failed to 
match any pattern"
-                                                 #{ls 38021}#))))))))))
-                             #{tmp 38004}#)
+                                                 #{ls 37220}#))))))))))
+                             #{tmp 37203}#)
                            (list '#(syntax-object
                                     "quote"
                                     ((top)
-                                     #(ribcage #(p) #((top)) #("i37664"))
+                                     #(ribcage #(p) #((top)) #("i36863"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(p lev)
                                        #((top) (top))
-                                       #("i37633" "i37634"))
+                                       #("i36832" "i36833"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -19671,25 +20434,34 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i37629"
-                                        "i37627"
-                                        "i37625"
-                                        "i37623"
-                                        "i37621"
-                                        "i37619"
-                                        "i37617")))
+                                       ("i36828"
+                                        "i36826"
+                                        "i36824"
+                                        "i36822"
+                                        "i36820"
+                                        "i36818"
+                                        "i36816"))
+                                     #(ribcage
+                                       (quasiquote)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           quasiquote
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile))
-                                 #{p 37911}#)))))))))))
-       (#{vquasi 37888}#
-         (lambda (#{p 38076}# #{lev 38077}#)
-           (let ((#{tmp 38079}#
-                   ($sc-dispatch #{p 38076}# '(any . any))))
-             (if #{tmp 38079}#
+                                 #{p 37110}#)))))))))))
+       (#{vquasi 37087}#
+         (lambda (#{p 37275}# #{lev 37276}#)
+           (let ((#{tmp 37278}#
+                   ($sc-dispatch #{p 37275}# '(any . any))))
+             (if #{tmp 37278}#
                (@apply
-                 (lambda (#{p 38083}# #{q 38084}#)
-                   (let ((#{tmp 38086}#
+                 (lambda (#{p 37282}# #{q 37283}#)
+                   (let ((#{tmp 37285}#
                            ($sc-dispatch
-                             #{p 38083}#
+                             #{p 37282}#
                              '(#(free-id
                                  #(syntax-object
                                    unquote
@@ -19697,12 +20469,12 @@
                                     #(ribcage
                                       #(p q)
                                       #((top) (top))
-                                      #("i37672" "i37673"))
+                                      #("i36871" "i36872"))
                                     #(ribcage () () ())
                                     #(ribcage
                                       #(p lev)
                                       #((top) (top))
-                                      #("i37668" "i37669"))
+                                      #("i36867" "i36868"))
                                     #(ribcage
                                       (emit quasivector
                                             quasilist*
@@ -19717,38 +20489,47 @@
                                        (top)
                                        (top)
                                        (top))
-                                      ("i37629"
-                                       "i37627"
-                                       "i37625"
-                                       "i37623"
-                                       "i37621"
-                                       "i37619"
-                                       "i37617")))
+                                      ("i36828"
+                                       "i36826"
+                                       "i36824"
+                                       "i36822"
+                                       "i36820"
+                                       "i36818"
+                                       "i36816"))
+                                    #(ribcage
+                                      (quasiquote)
+                                      ((top))
+                                      (((hygiene guile)
+                                        .
+                                        #(syntax-object
+                                          quasiquote
+                                          ((top))
+                                          (hygiene guile))))))
                                    (hygiene guile)))
                                .
                                each-any))))
-                     (if #{tmp 38086}#
+                     (if #{tmp 37285}#
                        (@apply
-                         (lambda (#{p 38090}#)
-                           (if (= #{lev 38077}# 0)
-                             (#{quasilist* 37891}#
-                               (map (lambda (#{tmp 37680 38129}#)
+                         (lambda (#{p 37289}#)
+                           (if (= #{lev 37276}# 0)
+                             (#{quasilist* 37090}#
+                               (map (lambda (#{tmp 36879 37328}#)
                                       (list '#(syntax-object
                                                "value"
                                                ((top)
                                                 #(ribcage
                                                   #(p)
                                                   #((top))
-                                                  #("i37678"))
+                                                  #("i36877"))
                                                 #(ribcage
                                                   #(p q)
                                                   #((top) (top))
-                                                  #("i37672" "i37673"))
+                                                  #("i36871" "i36872"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(p lev)
                                                   #((top) (top))
-                                                  #("i37668" "i37669"))
+                                                  #("i36867" "i36868"))
                                                 #(ribcage
                                                   (emit quasivector
                                                         quasilist*
@@ -19763,32 +20544,41 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i37629"
-                                                   "i37627"
-                                                   "i37625"
-                                                   "i37623"
-                                                   "i37621"
-                                                   "i37619"
-                                                   "i37617")))
+                                                  ("i36828"
+                                                   "i36826"
+                                                   "i36824"
+                                                   "i36822"
+                                                   "i36820"
+                                                   "i36818"
+                                                   "i36816"))
+                                                #(ribcage
+                                                  (quasiquote)
+                                                  ((top))
+                                                  (((hygiene guile)
+                                                    .
+                                                    #(syntax-object
+                                                      quasiquote
+                                                      ((top))
+                                                      (hygiene guile))))))
                                                (hygiene guile))
-                                            #{tmp 37680 38129}#))
-                                    #{p 38090}#)
-                               (#{vquasi 37888}# #{q 38084}# #{lev 38077}#))
-                             (#{quasicons 37889}#
-                               (#{quasicons 37889}#
+                                            #{tmp 36879 37328}#))
+                                    #{p 37289}#)
+                               (#{vquasi 37087}# #{q 37283}# #{lev 37276}#))
+                             (#{quasicons 37088}#
+                               (#{quasicons 37088}#
                                  '(#(syntax-object
                                      "quote"
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i37678"))
+                                      #(ribcage #(p) #((top)) #("i36877"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i37672" "i37673"))
+                                        #("i36871" "i36872"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i37668" "i37669"))
+                                        #("i36867" "i36868"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -19803,27 +20593,36 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i37629"
-                                         "i37627"
-                                         "i37625"
-                                         "i37623"
-                                         "i37621"
-                                         "i37619"
-                                         "i37617")))
+                                        ("i36828"
+                                         "i36826"
+                                         "i36824"
+                                         "i36822"
+                                         "i36820"
+                                         "i36818"
+                                         "i36816"))
+                                      #(ribcage
+                                        (quasiquote)
+                                        ((top))
+                                        (((hygiene guile)
+                                          .
+                                          #(syntax-object
+                                            quasiquote
+                                            ((top))
+                                            (hygiene guile))))))
                                      (hygiene guile))
                                    #(syntax-object
                                      unquote
                                      ((top)
-                                      #(ribcage #(p) #((top)) #("i37678"))
+                                      #(ribcage #(p) #((top)) #("i36877"))
                                       #(ribcage
                                         #(p q)
                                         #((top) (top))
-                                        #("i37672" "i37673"))
+                                        #("i36871" "i36872"))
                                       #(ribcage () () ())
                                       #(ribcage
                                         #(p lev)
                                         #((top) (top))
-                                        #("i37668" "i37669"))
+                                        #("i36867" "i36868"))
                                       #(ribcage
                                         (emit quasivector
                                               quasilist*
@@ -19838,22 +20637,31 @@
                                          (top)
                                          (top)
                                          (top))
-                                        ("i37629"
-                                         "i37627"
-                                         "i37625"
-                                         "i37623"
-                                         "i37621"
-                                         "i37619"
-                                         "i37617")))
+                                        ("i36828"
+                                         "i36826"
+                                         "i36824"
+                                         "i36822"
+                                         "i36820"
+                                         "i36818"
+                                         "i36816"))
+                                      #(ribcage
+                                        (quasiquote)
+                                        ((top))
+                                        (((hygiene guile)
+                                          .
+                                          #(syntax-object
+                                            quasiquote
+                                            ((top))
+                                            (hygiene guile))))))
                                      (hygiene guile)))
-                                 (#{quasi 37887}#
-                                   #{p 38090}#
-                                   (#{1-}# #{lev 38077}#)))
-                               (#{vquasi 37888}# #{q 38084}# #{lev 38077}#))))
-                         #{tmp 38086}#)
-                       (let ((#{tmp 38136}#
+                                 (#{quasi 37086}#
+                                   #{p 37289}#
+                                   (#{1-}# #{lev 37276}#)))
+                               (#{vquasi 37087}# #{q 37283}# #{lev 37276}#))))
+                         #{tmp 37285}#)
+                       (let ((#{tmp 37335}#
                                ($sc-dispatch
-                                 #{p 38083}#
+                                 #{p 37282}#
                                  '(#(free-id
                                      #(syntax-object
                                        unquote-splicing
@@ -19861,12 +20669,12 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i37672" "i37673"))
+                                          #("i36871" "i36872"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i37668" "i37669"))
+                                          #("i36867" "i36868"))
                                         #(ribcage
                                           (emit quasivector
                                                 quasilist*
@@ -19881,38 +20689,47 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i37629"
-                                           "i37627"
-                                           "i37625"
-                                           "i37623"
-                                           "i37621"
-                                           "i37619"
-                                           "i37617")))
+                                          ("i36828"
+                                           "i36826"
+                                           "i36824"
+                                           "i36822"
+                                           "i36820"
+                                           "i36818"
+                                           "i36816"))
+                                        #(ribcage
+                                          (quasiquote)
+                                          ((top))
+                                          (((hygiene guile)
+                                            .
+                                            #(syntax-object
+                                              quasiquote
+                                              ((top))
+                                              (hygiene guile))))))
                                        (hygiene guile)))
                                    .
                                    each-any))))
-                         (if #{tmp 38136}#
+                         (if #{tmp 37335}#
                            (@apply
-                             (lambda (#{p 38140}#)
-                               (if (= #{lev 38077}# 0)
-                                 (#{quasiappend 37890}#
-                                   (map (lambda (#{tmp 37685 38143}#)
+                             (lambda (#{p 37339}#)
+                               (if (= #{lev 37276}# 0)
+                                 (#{quasiappend 37089}#
+                                   (map (lambda (#{tmp 36884 37342}#)
                                           (list '#(syntax-object
                                                    "value"
                                                    ((top)
                                                     #(ribcage
                                                       #(p)
                                                       #((top))
-                                                      #("i37683"))
+                                                      #("i36882"))
                                                     #(ribcage
                                                       #(p q)
                                                       #((top) (top))
-                                                      #("i37672" "i37673"))
+                                                      #("i36871" "i36872"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(p lev)
                                                       #((top) (top))
-                                                      #("i37668" "i37669"))
+                                                      #("i36867" "i36868"))
                                                     #(ribcage
                                                       (emit quasivector
                                                             quasilist*
@@ -19927,34 +20744,43 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i37629"
-                                                       "i37627"
-                                                       "i37625"
-                                                       "i37623"
-                                                       "i37621"
-                                                       "i37619"
-                                                       "i37617")))
+                                                      ("i36828"
+                                                       "i36826"
+                                                       "i36824"
+                                                       "i36822"
+                                                       "i36820"
+                                                       "i36818"
+                                                       "i36816"))
+                                                    #(ribcage
+                                                      (quasiquote)
+                                                      ((top))
+                                                      (((hygiene guile)
+                                                        .
+                                                        #(syntax-object
+                                                          quasiquote
+                                                          ((top))
+                                                          (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{tmp 37685 38143}#))
-                                        #{p 38140}#)
-                                   (#{vquasi 37888}#
-                                     #{q 38084}#
-                                     #{lev 38077}#))
-                                 (#{quasicons 37889}#
-                                   (#{quasicons 37889}#
+                                                #{tmp 36884 37342}#))
+                                        #{p 37339}#)
+                                   (#{vquasi 37087}#
+                                     #{q 37283}#
+                                     #{lev 37276}#))
+                                 (#{quasicons 37088}#
+                                   (#{quasicons 37088}#
                                      '(#(syntax-object
                                          "quote"
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i37683"))
+                                          #(ribcage #(p) #((top)) #("i36882"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i37672" "i37673"))
+                                            #("i36871" "i36872"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i37668" "i37669"))
+                                            #("i36867" "i36868"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -19969,27 +20795,36 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i37629"
-                                             "i37627"
-                                             "i37625"
-                                             "i37623"
-                                             "i37621"
-                                             "i37619"
-                                             "i37617")))
+                                            ("i36828"
+                                             "i36826"
+                                             "i36824"
+                                             "i36822"
+                                             "i36820"
+                                             "i36818"
+                                             "i36816"))
+                                          #(ribcage
+                                            (quasiquote)
+                                            ((top))
+                                            (((hygiene guile)
+                                              .
+                                              #(syntax-object
+                                                quasiquote
+                                                ((top))
+                                                (hygiene guile))))))
                                          (hygiene guile))
                                        #(syntax-object
                                          unquote-splicing
                                          ((top)
-                                          #(ribcage #(p) #((top)) #("i37683"))
+                                          #(ribcage #(p) #((top)) #("i36882"))
                                           #(ribcage
                                             #(p q)
                                             #((top) (top))
-                                            #("i37672" "i37673"))
+                                            #("i36871" "i36872"))
                                           #(ribcage () () ())
                                           #(ribcage
                                             #(p lev)
                                             #((top) (top))
-                                            #("i37668" "i37669"))
+                                            #("i36867" "i36868"))
                                           #(ribcage
                                             (emit quasivector
                                                   quasilist*
@@ -20004,27 +20839,36 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i37629"
-                                             "i37627"
-                                             "i37625"
-                                             "i37623"
-                                             "i37621"
-                                             "i37619"
-                                             "i37617")))
+                                            ("i36828"
+                                             "i36826"
+                                             "i36824"
+                                             "i36822"
+                                             "i36820"
+                                             "i36818"
+                                             "i36816"))
+                                          #(ribcage
+                                            (quasiquote)
+                                            ((top))
+                                            (((hygiene guile)
+                                              .
+                                              #(syntax-object
+                                                quasiquote
+                                                ((top))
+                                                (hygiene guile))))))
                                          (hygiene guile)))
-                                     (#{quasi 37887}#
-                                       #{p 38140}#
-                                       (#{1-}# #{lev 38077}#)))
-                                   (#{vquasi 37888}#
-                                     #{q 38084}#
-                                     #{lev 38077}#))))
-                             #{tmp 38136}#)
-                           (#{quasicons 37889}#
-                             (#{quasi 37887}# #{p 38083}# #{lev 38077}#)
-                             (#{vquasi 37888}# #{q 38084}# #{lev 38077}#)))))))
-                 #{tmp 38079}#)
-               (let ((#{tmp 38161}# ($sc-dispatch #{p 38076}# '())))
-                 (if #{tmp 38161}#
+                                     (#{quasi 37086}#
+                                       #{p 37339}#
+                                       (#{1-}# #{lev 37276}#)))
+                                   (#{vquasi 37087}#
+                                     #{q 37283}#
+                                     #{lev 37276}#))))
+                             #{tmp 37335}#)
+                           (#{quasicons 37088}#
+                             (#{quasi 37086}# #{p 37282}# #{lev 37276}#)
+                             (#{vquasi 37087}# #{q 37283}# #{lev 37276}#)))))))
+                 #{tmp 37278}#)
+               (let ((#{tmp 37360}# ($sc-dispatch #{p 37275}# '())))
+                 (if #{tmp 37360}#
                    (@apply
                      (lambda ()
                        '(#(syntax-object
@@ -20034,7 +20878,7 @@
                             #(ribcage
                               #(p lev)
                               #((top) (top))
-                              #("i37668" "i37669"))
+                              #("i36867" "i36868"))
                             #(ribcage
                               (emit quasivector
                                     quasilist*
@@ -20043,64 +20887,73 @@
                                     vquasi
                                     quasi)
                               ((top) (top) (top) (top) (top) (top) (top))
-                              ("i37629"
-                               "i37627"
-                               "i37625"
-                               "i37623"
-                               "i37621"
-                               "i37619"
-                               "i37617")))
+                              ("i36828"
+                               "i36826"
+                               "i36824"
+                               "i36822"
+                               "i36820"
+                               "i36818"
+                               "i36816"))
+                            #(ribcage
+                              (quasiquote)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  quasiquote
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
                          ()))
-                     #{tmp 38161}#)
+                     #{tmp 37360}#)
                    (syntax-violation
                      #f
                      "source expression failed to match any pattern"
-                     #{p 38076}#)))))))
-       (#{quasicons 37889}#
-         (lambda (#{x 38174}# #{y 38175}#)
-           (let ((#{tmp 38176}# (list #{x 38174}# #{y 38175}#)))
-             (let ((#{tmp 38177}#
-                     ($sc-dispatch #{tmp 38176}# '(any any))))
-               (if #{tmp 38177}#
+                     #{p 37275}#)))))))
+       (#{quasicons 37088}#
+         (lambda (#{x 37373}# #{y 37374}#)
+           (let ((#{tmp 37375}# (list #{x 37373}# #{y 37374}#)))
+             (let ((#{tmp 37376}#
+                     ($sc-dispatch #{tmp 37375}# '(any any))))
+               (if #{tmp 37376}#
                  (@apply
-                   (lambda (#{x 38179}# #{y 38180}#)
-                     (let ((#{tmp 38182}#
+                   (lambda (#{x 37378}# #{y 37379}#)
+                     (let ((#{tmp 37381}#
                              ($sc-dispatch
-                               #{y 38180}#
+                               #{y 37379}#
                                '(#(atom "quote") any))))
-                       (if #{tmp 38182}#
+                       (if #{tmp 37381}#
                          (@apply
-                           (lambda (#{dy 38186}#)
-                             (let ((#{tmp 38188}#
+                           (lambda (#{dy 37385}#)
+                             (let ((#{tmp 37387}#
                                      ($sc-dispatch
-                                       #{x 38179}#
+                                       #{x 37378}#
                                        '(#(atom "quote") any))))
-                               (if #{tmp 38188}#
+                               (if #{tmp 37387}#
                                  (@apply
-                                   (lambda (#{dx 38192}#)
+                                   (lambda (#{dx 37391}#)
                                      (list '#(syntax-object
                                               "quote"
                                               ((top)
                                                #(ribcage
                                                  #(dx)
                                                  #((top))
-                                                 #("i37707"))
+                                                 #("i36906"))
                                                #(ribcage
                                                  #(dy)
                                                  #((top))
-                                                 #("i37703"))
+                                                 #("i36902"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i37697" "i37698"))
+                                                 #("i36896" "i36897"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i37692" "i37693"))
+                                                 #("i36891" "i36892"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -20115,39 +20968,48 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i37629"
-                                                  "i37627"
-                                                  "i37625"
-                                                  "i37623"
-                                                  "i37621"
-                                                  "i37619"
-                                                  "i37617")))
+                                                 ("i36828"
+                                                  "i36826"
+                                                  "i36824"
+                                                  "i36822"
+                                                  "i36820"
+                                                  "i36818"
+                                                  "i36816"))
+                                               #(ribcage
+                                                 (quasiquote)
+                                                 ((top))
+                                                 (((hygiene guile)
+                                                   .
+                                                   #(syntax-object
+                                                     quasiquote
+                                                     ((top))
+                                                     (hygiene guile))))))
                                               (hygiene guile))
-                                           (cons #{dx 38192}# #{dy 38186}#)))
-                                   #{tmp 38188}#)
-                                 (if (null? #{dy 38186}#)
+                                           (cons #{dx 37391}# #{dy 37385}#)))
+                                   #{tmp 37387}#)
+                                 (if (null? #{dy 37385}#)
                                    (list '#(syntax-object
                                             "list"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i37709"))
+                                               #("i36908"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i37703"))
+                                               #("i36902"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i37697" "i37698"))
+                                               #("i36896" "i36897"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i37692" "i37693"))
+                                               #("i36891" "i36892"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -20162,37 +21024,46 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i37629"
-                                                "i37627"
-                                                "i37625"
-                                                "i37623"
-                                                "i37621"
-                                                "i37619"
-                                                "i37617")))
+                                               ("i36828"
+                                                "i36826"
+                                                "i36824"
+                                                "i36822"
+                                                "i36820"
+                                                "i36818"
+                                                "i36816"))
+                                             #(ribcage
+                                               (quasiquote)
+                                               ((top))
+                                               (((hygiene guile)
+                                                 .
+                                                 #(syntax-object
+                                                   quasiquote
+                                                   ((top))
+                                                   (hygiene guile))))))
                                             (hygiene guile))
-                                         #{x 38179}#)
+                                         #{x 37378}#)
                                    (list '#(syntax-object
                                             "list*"
                                             ((top)
                                              #(ribcage
                                                #(_)
                                                #((top))
-                                               #("i37709"))
+                                               #("i36908"))
                                              #(ribcage
                                                #(dy)
                                                #((top))
-                                               #("i37703"))
+                                               #("i36902"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i37697" "i37698"))
+                                               #("i36896" "i36897"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i37692" "i37693"))
+                                               #("i36891" "i36892"))
                                              #(ribcage
                                                (emit quasivector
                                                      quasilist*
@@ -20207,42 +21078,51 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i37629"
-                                                "i37627"
-                                                "i37625"
-                                                "i37623"
-                                                "i37621"
-                                                "i37619"
-                                                "i37617")))
+                                               ("i36828"
+                                                "i36826"
+                                                "i36824"
+                                                "i36822"
+                                                "i36820"
+                                                "i36818"
+                                                "i36816"))
+                                             #(ribcage
+                                               (quasiquote)
+                                               ((top))
+                                               (((hygiene guile)
+                                                 .
+                                                 #(syntax-object
+                                                   quasiquote
+                                                   ((top))
+                                                   (hygiene guile))))))
                                             (hygiene guile))
-                                         #{x 38179}#
-                                         #{y 38180}#)))))
-                           #{tmp 38182}#)
-                         (let ((#{tmp 38197}#
+                                         #{x 37378}#
+                                         #{y 37379}#)))))
+                           #{tmp 37381}#)
+                         (let ((#{tmp 37396}#
                                  ($sc-dispatch
-                                   #{y 38180}#
+                                   #{y 37379}#
                                    '(#(atom "list") . any))))
-                           (if #{tmp 38197}#
+                           (if #{tmp 37396}#
                              (@apply
-                               (lambda (#{stuff 38201}#)
+                               (lambda (#{stuff 37400}#)
                                  (cons '#(syntax-object
                                           "list"
                                           ((top)
                                            #(ribcage
                                              #(stuff)
                                              #((top))
-                                             #("i37712"))
+                                             #("i36911"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i37697" "i37698"))
+                                             #("i36896" "i36897"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i37692" "i37693"))
+                                             #("i36891" "i36892"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -20257,41 +21137,50 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i37629"
-                                              "i37627"
-                                              "i37625"
-                                              "i37623"
-                                              "i37621"
-                                              "i37619"
-                                              "i37617")))
+                                             ("i36828"
+                                              "i36826"
+                                              "i36824"
+                                              "i36822"
+                                              "i36820"
+                                              "i36818"
+                                              "i36816"))
+                                           #(ribcage
+                                             (quasiquote)
+                                             ((top))
+                                             (((hygiene guile)
+                                               .
+                                               #(syntax-object
+                                                 quasiquote
+                                                 ((top))
+                                                 (hygiene guile))))))
                                           (hygiene guile))
-                                       (cons #{x 38179}# #{stuff 38201}#)))
-                               #{tmp 38197}#)
-                             (let ((#{tmp 38202}#
+                                       (cons #{x 37378}# #{stuff 37400}#)))
+                               #{tmp 37396}#)
+                             (let ((#{tmp 37401}#
                                      ($sc-dispatch
-                                       #{y 38180}#
+                                       #{y 37379}#
                                        '(#(atom "list*") . any))))
-                               (if #{tmp 38202}#
+                               (if #{tmp 37401}#
                                  (@apply
-                                   (lambda (#{stuff 38206}#)
+                                   (lambda (#{stuff 37405}#)
                                      (cons '#(syntax-object
                                               "list*"
                                               ((top)
                                                #(ribcage
                                                  #(stuff)
                                                  #((top))
-                                                 #("i37715"))
+                                                 #("i36914"))
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i37697" "i37698"))
+                                                 #("i36896" "i36897"))
                                                #(ribcage () () ())
                                                #(ribcage () () ())
                                                #(ribcage
                                                  #(x y)
                                                  #((top) (top))
-                                                 #("i37692" "i37693"))
+                                                 #("i36891" "i36892"))
                                                #(ribcage
                                                  (emit quasivector
                                                        quasilist*
@@ -20306,31 +21195,40 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                 ("i37629"
-                                                  "i37627"
-                                                  "i37625"
-                                                  "i37623"
-                                                  "i37621"
-                                                  "i37619"
-                                                  "i37617")))
+                                                 ("i36828"
+                                                  "i36826"
+                                                  "i36824"
+                                                  "i36822"
+                                                  "i36820"
+                                                  "i36818"
+                                                  "i36816"))
+                                               #(ribcage
+                                                 (quasiquote)
+                                                 ((top))
+                                                 (((hygiene guile)
+                                                   .
+                                                   #(syntax-object
+                                                     quasiquote
+                                                     ((top))
+                                                     (hygiene guile))))))
                                               (hygiene guile))
-                                           (cons #{x 38179}# #{stuff 38206}#)))
-                                   #{tmp 38202}#)
+                                           (cons #{x 37378}# #{stuff 37405}#)))
+                                   #{tmp 37401}#)
                                  (list '#(syntax-object
                                           "list*"
                                           ((top)
-                                           #(ribcage #(_) #((top)) #("i37717"))
+                                           #(ribcage #(_) #((top)) #("i36916"))
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i37697" "i37698"))
+                                             #("i36896" "i36897"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i37692" "i37693"))
+                                             #("i36891" "i36892"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -20345,29 +21243,38 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i37629"
-                                              "i37627"
-                                              "i37625"
-                                              "i37623"
-                                              "i37621"
-                                              "i37619"
-                                              "i37617")))
+                                             ("i36828"
+                                              "i36826"
+                                              "i36824"
+                                              "i36822"
+                                              "i36820"
+                                              "i36818"
+                                              "i36816"))
+                                           #(ribcage
+                                             (quasiquote)
+                                             ((top))
+                                             (((hygiene guile)
+                                               .
+                                               #(syntax-object
+                                                 quasiquote
+                                                 ((top))
+                                                 (hygiene guile))))))
                                           (hygiene guile))
-                                       #{x 38179}#
-                                       #{y 38180}#))))))))
-                   #{tmp 38177}#)
+                                       #{x 37378}#
+                                       #{y 37379}#))))))))
+                   #{tmp 37376}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp 38176}#))))))
-       (#{quasiappend 37890}#
-         (lambda (#{x 38217}# #{y 38218}#)
-           (let ((#{tmp 38220}#
-                   ($sc-dispatch #{y 38218}# '(#(atom "quote") ()))))
-             (if #{tmp 38220}#
+                   #{tmp 37375}#))))))
+       (#{quasiappend 37089}#
+         (lambda (#{x 37416}# #{y 37417}#)
+           (let ((#{tmp 37419}#
+                   ($sc-dispatch #{y 37417}# '(#(atom "quote") ()))))
+             (if #{tmp 37419}#
                (@apply
                  (lambda ()
-                   (if (null? #{x 38217}#)
+                   (if (null? #{x 37416}#)
                      '(#(syntax-object
                          "quote"
                          ((top)
@@ -20375,7 +21282,7 @@
                           #(ribcage
                             #(x y)
                             #((top) (top))
-                            #("i37721" "i37722"))
+                            #("i36920" "i36921"))
                           #(ribcage
                             (emit quasivector
                                   quasilist*
@@ -20384,32 +21291,41 @@
                                   vquasi
                                   quasi)
                             ((top) (top) (top) (top) (top) (top) (top))
-                            ("i37629"
-                             "i37627"
-                             "i37625"
-                             "i37623"
-                             "i37621"
-                             "i37619"
-                             "i37617")))
+                            ("i36828"
+                             "i36826"
+                             "i36824"
+                             "i36822"
+                             "i36820"
+                             "i36818"
+                             "i36816"))
+                          #(ribcage
+                            (quasiquote)
+                            ((top))
+                            (((hygiene guile)
+                              .
+                              #(syntax-object
+                                quasiquote
+                                ((top))
+                                (hygiene guile))))))
                          (hygiene guile))
                        ())
-                     (if (null? (cdr #{x 38217}#))
-                       (car #{x 38217}#)
-                       (let ((#{tmp 38225}#
-                               ($sc-dispatch #{x 38217}# 'each-any)))
-                         (if #{tmp 38225}#
+                     (if (null? (cdr #{x 37416}#))
+                       (car #{x 37416}#)
+                       (let ((#{tmp 37424}#
+                               ($sc-dispatch #{x 37416}# 'each-any)))
+                         (if #{tmp 37424}#
                            (@apply
-                             (lambda (#{p 38229}#)
+                             (lambda (#{p 37428}#)
                                (cons '#(syntax-object
                                         "append"
                                         ((top)
                                          #(ribcage () () ())
-                                         #(ribcage #(p) #((top)) #("i37733"))
+                                         #(ribcage #(p) #((top)) #("i36932"))
                                          #(ribcage () () ())
                                          #(ribcage
                                            #(x y)
                                            #((top) (top))
-                                           #("i37721" "i37722"))
+                                           #("i36920" "i36921"))
                                          #(ribcage
                                            (emit quasivector
                                                  quasilist*
@@ -20424,29 +21340,38 @@
                                             (top)
                                             (top)
                                             (top))
-                                           ("i37629"
-                                            "i37627"
-                                            "i37625"
-                                            "i37623"
-                                            "i37621"
-                                            "i37619"
-                                            "i37617")))
+                                           ("i36828"
+                                            "i36826"
+                                            "i36824"
+                                            "i36822"
+                                            "i36820"
+                                            "i36818"
+                                            "i36816"))
+                                         #(ribcage
+                                           (quasiquote)
+                                           ((top))
+                                           (((hygiene guile)
+                                             .
+                                             #(syntax-object
+                                               quasiquote
+                                               ((top))
+                                               (hygiene guile))))))
                                         (hygiene guile))
-                                     #{p 38229}#))
-                             #{tmp 38225}#)
+                                     #{p 37428}#))
+                             #{tmp 37424}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{x 38217}#))))))
-                 #{tmp 38220}#)
-               (if (null? #{x 38217}#)
-                 #{y 38218}#
-                 (let ((#{tmp 38237}# (list #{x 38217}# #{y 38218}#)))
-                   (let ((#{tmp 38238}#
-                           ($sc-dispatch #{tmp 38237}# '(each-any any))))
-                     (if #{tmp 38238}#
+                             #{x 37416}#))))))
+                 #{tmp 37419}#)
+               (if (null? #{x 37416}#)
+                 #{y 37417}#
+                 (let ((#{tmp 37436}# (list #{x 37416}# #{y 37417}#)))
+                   (let ((#{tmp 37437}#
+                           ($sc-dispatch #{tmp 37436}# '(each-any any))))
+                     (if #{tmp 37437}#
                        (@apply
-                         (lambda (#{p 38240}# #{y 38241}#)
+                         (lambda (#{p 37439}# #{y 37440}#)
                            (cons '#(syntax-object
                                     "append"
                                     ((top)
@@ -20454,13 +21379,13 @@
                                      #(ribcage
                                        #(p y)
                                        #((top) (top))
-                                       #("i37744" "i37745"))
-                                     #(ribcage #(_) #((top)) #("i37736"))
+                                       #("i36943" "i36944"))
+                                     #(ribcage #(_) #((top)) #("i36935"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(x y)
                                        #((top) (top))
-                                       #("i37721" "i37722"))
+                                       #("i36920" "i36921"))
                                      #(ribcage
                                        (emit quasivector
                                              quasilist*
@@ -20475,44 +21400,53 @@
                                         (top)
                                         (top)
                                         (top))
-                                       ("i37629"
-                                        "i37627"
-                                        "i37625"
-                                        "i37623"
-                                        "i37621"
-                                        "i37619"
-                                        "i37617")))
+                                       ("i36828"
+                                        "i36826"
+                                        "i36824"
+                                        "i36822"
+                                        "i36820"
+                                        "i36818"
+                                        "i36816"))
+                                     #(ribcage
+                                       (quasiquote)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           quasiquote
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile))
-                                 (append #{p 38240}# (list #{y 38241}#))))
-                         #{tmp 38238}#)
+                                 (append #{p 37439}# (list #{y 37440}#))))
+                         #{tmp 37437}#)
                        (syntax-violation
                          #f
                          "source expression failed to match any pattern"
-                         #{tmp 38237}#)))))))))
-       (#{quasilist* 37891}#
-         (lambda (#{x 38245}# #{y 38246}#)
+                         #{tmp 37436}#)))))))))
+       (#{quasilist* 37090}#
+         (lambda (#{x 37444}# #{y 37445}#)
            (letrec*
-             ((#{f 38247}#
-                (lambda (#{x 38351}#)
-                  (if (null? #{x 38351}#)
-                    #{y 38246}#
-                    (#{quasicons 37889}#
-                      (car #{x 38351}#)
-                      (#{f 38247}# (cdr #{x 38351}#)))))))
-             (#{f 38247}# #{x 38245}#))))
-       (#{emit 37893}#
-         (lambda (#{x 38354}#)
-           (let ((#{tmp 38356}#
-                   ($sc-dispatch #{x 38354}# '(#(atom "quote") any))))
-             (if #{tmp 38356}#
+             ((#{f 37446}#
+                (lambda (#{x 37550}#)
+                  (if (null? #{x 37550}#)
+                    #{y 37445}#
+                    (#{quasicons 37088}#
+                      (car #{x 37550}#)
+                      (#{f 37446}# (cdr #{x 37550}#)))))))
+             (#{f 37446}# #{x 37444}#))))
+       (#{emit 37092}#
+         (lambda (#{x 37553}#)
+           (let ((#{tmp 37555}#
+                   ($sc-dispatch #{x 37553}# '(#(atom "quote") any))))
+             (if #{tmp 37555}#
                (@apply
-                 (lambda (#{x 38360}#)
+                 (lambda (#{x 37559}#)
                    (list '#(syntax-object
                             quote
                             ((top)
-                             #(ribcage #(x) #((top)) #("i37811"))
+                             #(ribcage #(x) #((top)) #("i37010"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i37808"))
+                             #(ribcage #(x) #((top)) #("i37007"))
                              #(ribcage
                                (emit quasivector
                                      quasilist*
@@ -20521,40 +21455,49 @@
                                      vquasi
                                      quasi)
                                ((top) (top) (top) (top) (top) (top) (top))
-                               ("i37629"
-                                "i37627"
-                                "i37625"
-                                "i37623"
-                                "i37621"
-                                "i37619"
-                                "i37617")))
+                               ("i36828"
+                                "i36826"
+                                "i36824"
+                                "i36822"
+                                "i36820"
+                                "i36818"
+                                "i36816"))
+                             #(ribcage
+                               (quasiquote)
+                               ((top))
+                               (((hygiene guile)
+                                 .
+                                 #(syntax-object
+                                   quasiquote
+                                   ((top))
+                                   (hygiene guile))))))
                             (hygiene guile))
-                         #{x 38360}#))
-                 #{tmp 38356}#)
-               (let ((#{tmp 38361}#
+                         #{x 37559}#))
+                 #{tmp 37555}#)
+               (let ((#{tmp 37560}#
                        ($sc-dispatch
-                         #{x 38354}#
+                         #{x 37553}#
                          '(#(atom "list") . each-any))))
-                 (if #{tmp 38361}#
+                 (if #{tmp 37560}#
                    (@apply
-                     (lambda (#{x 38365}#)
-                       (let ((#{tmp 38366}# (map #{emit 37893}# #{x 38365}#)))
-                         (let ((#{tmp 38367}#
-                                 ($sc-dispatch #{tmp 38366}# 'each-any)))
-                           (if #{tmp 38367}#
+                     (lambda (#{x 37564}#)
+                       (let ((#{tmp 37565}# (map #{emit 37092}# #{x 37564}#)))
+                         (let ((#{tmp 37566}#
+                                 ($sc-dispatch #{tmp 37565}# 'each-any)))
+                           (if #{tmp 37566}#
                              (@apply
-                               (lambda (#{ g37816 38369}#)
+                               (lambda (#{ g37015 37568}#)
                                  (cons '#(syntax-object
                                           list
                                           ((top)
                                            #(ribcage () () ())
                                            #(ribcage
-                                             #(#{ g37816}#)
-                                             #((m37817 top))
-                                             #("i37821"))
-                                           #(ribcage #(x) #((top)) #("i37814"))
+                                             #(#{ g37015}#)
+                                             #((m37016 top))
+                                             #("i37020"))
+                                           #(ribcage #(x) #((top)) #("i37013"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i37808"))
+                                           #(ribcage #(x) #((top)) #("i37007"))
                                            #(ribcage
                                              (emit quasivector
                                                    quasilist*
@@ -20569,70 +21512,79 @@
                                               (top)
                                               (top)
                                               (top))
-                                             ("i37629"
-                                              "i37627"
-                                              "i37625"
-                                              "i37623"
-                                              "i37621"
-                                              "i37619"
-                                              "i37617")))
+                                             ("i36828"
+                                              "i36826"
+                                              "i36824"
+                                              "i36822"
+                                              "i36820"
+                                              "i36818"
+                                              "i36816"))
+                                           #(ribcage
+                                             (quasiquote)
+                                             ((top))
+                                             (((hygiene guile)
+                                               .
+                                               #(syntax-object
+                                                 quasiquote
+                                                 ((top))
+                                                 (hygiene guile))))))
                                           (hygiene guile))
-                                       #{ g37816 38369}#))
-                               #{tmp 38367}#)
+                                       #{ g37015 37568}#))
+                               #{tmp 37566}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp 38366}#)))))
-                     #{tmp 38361}#)
-                   (let ((#{tmp 38370}#
+                               #{tmp 37565}#)))))
+                     #{tmp 37560}#)
+                   (let ((#{tmp 37569}#
                            ($sc-dispatch
-                             #{x 38354}#
+                             #{x 37553}#
                              '(#(atom "list*") . #(each+ any (any) ())))))
-                     (if #{tmp 38370}#
+                     (if #{tmp 37569}#
                        (@apply
-                         (lambda (#{x 38374}# #{y 38375}#)
+                         (lambda (#{x 37573}# #{y 37574}#)
                            (letrec*
-                             ((#{f 38376}#
-                                (lambda (#{x* 38379}#)
-                                  (if (null? #{x* 38379}#)
-                                    (#{emit 37893}# #{y 38375}#)
-                                    (let ((#{tmp 38380}#
-                                            (list (#{emit 37893}#
-                                                    (car #{x* 38379}#))
-                                                  (#{f 38376}#
-                                                    (cdr #{x* 38379}#)))))
-                                      (let ((#{tmp 38381}#
+                             ((#{f 37575}#
+                                (lambda (#{x* 37578}#)
+                                  (if (null? #{x* 37578}#)
+                                    (#{emit 37092}# #{y 37574}#)
+                                    (let ((#{tmp 37579}#
+                                            (list (#{emit 37092}#
+                                                    (car #{x* 37578}#))
+                                                  (#{f 37575}#
+                                                    (cdr #{x* 37578}#)))))
+                                      (let ((#{tmp 37580}#
                                               ($sc-dispatch
-                                                #{tmp 38380}#
+                                                #{tmp 37579}#
                                                 '(any any))))
-                                        (if #{tmp 38381}#
+                                        (if #{tmp 37580}#
                                           (@apply
-                                            (lambda (#{ g37836 38383}#
-                                                     #{ g37835 38384}#)
+                                            (lambda (#{ g37035 37582}#
+                                                     #{ g37034 37583}#)
                                               (list '#(syntax-object
                                                        cons
                                                        ((top)
                                                         #(ribcage () () ())
                                                         #(ribcage
-                                                          #(#{ g37836}#
-                                                            #{ g37835}#)
-                                                          #((m37837 top)
-                                                            (m37837 top))
-                                                          #("i37841" "i37842"))
+                                                          #(#{ g37035}#
+                                                            #{ g37034}#)
+                                                          #((m37036 top)
+                                                            (m37036 top))
+                                                          #("i37040" "i37041"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(f x*)
                                                           #((top) (top))
-                                                          #("i37830" "i37831"))
+                                                          #("i37029" "i37030"))
                                                         #(ribcage
                                                           #(x y)
                                                           #((top) (top))
-                                                          #("i37826" "i37827"))
+                                                          #("i37025" "i37026"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(x)
                                                           #((top))
-                                                          #("i37808"))
+                                                          #("i37007"))
                                                         #(ribcage
                                                           (emit quasivector
                                                                 quasilist*
@@ -20647,56 +21599,66 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                          ("i37629"
-                                                           "i37627"
-                                                           "i37625"
-                                                           "i37623"
-                                                           "i37621"
-                                                           "i37619"
-                                                           "i37617")))
+                                                          ("i36828"
+                                                           "i36826"
+                                                           "i36824"
+                                                           "i36822"
+                                                           "i36820"
+                                                           "i36818"
+                                                           "i36816"))
+                                                        #(ribcage
+                                                          (quasiquote)
+                                                          ((top))
+                                                          (((hygiene guile)
+                                                            .
+                                                            #(syntax-object
+                                                              quasiquote
+                                                              ((top))
+                                                              (hygiene
+                                                                guile))))))
                                                        (hygiene guile))
-                                                    #{ g37836 38383}#
-                                                    #{ g37835 38384}#))
-                                            #{tmp 38381}#)
+                                                    #{ g37035 37582}#
+                                                    #{ g37034 37583}#))
+                                            #{tmp 37580}#)
                                           (syntax-violation
                                             #f
                                             "source expression failed to match 
any pattern"
-                                            #{tmp 38380}#))))))))
-                             (#{f 38376}# #{x 38374}#)))
-                         #{tmp 38370}#)
-                       (let ((#{tmp 38385}#
+                                            #{tmp 37579}#))))))))
+                             (#{f 37575}# #{x 37573}#)))
+                         #{tmp 37569}#)
+                       (let ((#{tmp 37584}#
                                ($sc-dispatch
-                                 #{x 38354}#
+                                 #{x 37553}#
                                  '(#(atom "append") . each-any))))
-                         (if #{tmp 38385}#
+                         (if #{tmp 37584}#
                            (@apply
-                             (lambda (#{x 38389}#)
-                               (let ((#{tmp 38390}#
-                                       (map #{emit 37893}# #{x 38389}#)))
-                                 (let ((#{tmp 38391}#
+                             (lambda (#{x 37588}#)
+                               (let ((#{tmp 37589}#
+                                       (map #{emit 37092}# #{x 37588}#)))
+                                 (let ((#{tmp 37590}#
                                          ($sc-dispatch
-                                           #{tmp 38390}#
+                                           #{tmp 37589}#
                                            'each-any)))
-                                   (if #{tmp 38391}#
+                                   (if #{tmp 37590}#
                                      (@apply
-                                       (lambda (#{ g37848 38393}#)
+                                       (lambda (#{ g37047 37592}#)
                                          (cons '#(syntax-object
                                                   append
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g37848}#)
-                                                     #((m37849 top))
-                                                     #("i37853"))
+                                                     #(#{ g37047}#)
+                                                     #((m37048 top))
+                                                     #("i37052"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37846"))
+                                                     #("i37045"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37808"))
+                                                     #("i37007"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -20711,54 +21673,63 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i37629"
-                                                      "i37627"
-                                                      "i37625"
-                                                      "i37623"
-                                                      "i37621"
-                                                      "i37619"
-                                                      "i37617")))
+                                                     ("i36828"
+                                                      "i36826"
+                                                      "i36824"
+                                                      "i36822"
+                                                      "i36820"
+                                                      "i36818"
+                                                      "i36816"))
+                                                   #(ribcage
+                                                     (quasiquote)
+                                                     ((top))
+                                                     (((hygiene guile)
+                                                       .
+                                                       #(syntax-object
+                                                         quasiquote
+                                                         ((top))
+                                                         (hygiene guile))))))
                                                   (hygiene guile))
-                                               #{ g37848 38393}#))
-                                       #{tmp 38391}#)
+                                               #{ g37047 37592}#))
+                                       #{tmp 37590}#)
                                      (syntax-violation
                                        #f
                                        "source expression failed to match any 
pattern"
-                                       #{tmp 38390}#)))))
-                             #{tmp 38385}#)
-                           (let ((#{tmp 38394}#
+                                       #{tmp 37589}#)))))
+                             #{tmp 37584}#)
+                           (let ((#{tmp 37593}#
                                    ($sc-dispatch
-                                     #{x 38354}#
+                                     #{x 37553}#
                                      '(#(atom "vector") . each-any))))
-                             (if #{tmp 38394}#
+                             (if #{tmp 37593}#
                                (@apply
-                                 (lambda (#{x 38398}#)
-                                   (let ((#{tmp 38399}#
-                                           (map #{emit 37893}# #{x 38398}#)))
-                                     (let ((#{tmp 38400}#
+                                 (lambda (#{x 37597}#)
+                                   (let ((#{tmp 37598}#
+                                           (map #{emit 37092}# #{x 37597}#)))
+                                     (let ((#{tmp 37599}#
                                              ($sc-dispatch
-                                               #{tmp 38399}#
+                                               #{tmp 37598}#
                                                'each-any)))
-                                       (if #{tmp 38400}#
+                                       (if #{tmp 37599}#
                                          (@apply
-                                           (lambda (#{ g37860 38402}#)
+                                           (lambda (#{ g37059 37601}#)
                                              (cons '#(syntax-object
                                                       vector
                                                       ((top)
                                                        #(ribcage () () ())
                                                        #(ribcage
-                                                         #(#{ g37860}#)
-                                                         #((m37861 top))
-                                                         #("i37865"))
+                                                         #(#{ g37059}#)
+                                                         #((m37060 top))
+                                                         #("i37064"))
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i37858"))
+                                                         #("i37057"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i37808"))
+                                                         #("i37007"))
                                                        #(ribcage
                                                          (emit quasivector
                                                                quasilist*
@@ -20773,47 +21744,57 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                         ("i37629"
-                                                          "i37627"
-                                                          "i37625"
-                                                          "i37623"
-                                                          "i37621"
-                                                          "i37619"
-                                                          "i37617")))
+                                                         ("i36828"
+                                                          "i36826"
+                                                          "i36824"
+                                                          "i36822"
+                                                          "i36820"
+                                                          "i36818"
+                                                          "i36816"))
+                                                       #(ribcage
+                                                         (quasiquote)
+                                                         ((top))
+                                                         (((hygiene guile)
+                                                           .
+                                                           #(syntax-object
+                                                             quasiquote
+                                                             ((top))
+                                                             (hygiene
+                                                               guile))))))
                                                       (hygiene guile))
-                                                   #{ g37860 38402}#))
-                                           #{tmp 38400}#)
+                                                   #{ g37059 37601}#))
+                                           #{tmp 37599}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp 38399}#)))))
-                                 #{tmp 38394}#)
-                               (let ((#{tmp 38403}#
+                                           #{tmp 37598}#)))))
+                                 #{tmp 37593}#)
+                               (let ((#{tmp 37602}#
                                        ($sc-dispatch
-                                         #{x 38354}#
+                                         #{x 37553}#
                                          '(#(atom "list->vector") any))))
-                                 (if #{tmp 38403}#
+                                 (if #{tmp 37602}#
                                    (@apply
-                                     (lambda (#{x 38407}#)
-                                       (let ((#{tmp 38408}#
-                                               (#{emit 37893}# #{x 38407}#)))
+                                     (lambda (#{x 37606}#)
+                                       (let ((#{tmp 37607}#
+                                               (#{emit 37092}# #{x 37606}#)))
                                          (list '#(syntax-object
                                                   list->vector
                                                   ((top)
                                                    #(ribcage () () ())
                                                    #(ribcage
-                                                     #(#{ g37872}#)
-                                                     #((m37873 top))
-                                                     #("i37876"))
+                                                     #(#{ g37071}#)
+                                                     #((m37072 top))
+                                                     #("i37075"))
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37870"))
+                                                     #("i37069"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i37808"))
+                                                     #("i37007"))
                                                    #(ribcage
                                                      (emit quasivector
                                                            quasilist*
@@ -20828,188 +21809,215 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i37629"
-                                                      "i37627"
-                                                      "i37625"
-                                                      "i37623"
-                                                      "i37621"
-                                                      "i37619"
-                                                      "i37617")))
+                                                     ("i36828"
+                                                      "i36826"
+                                                      "i36824"
+                                                      "i36822"
+                                                      "i36820"
+                                                      "i36818"
+                                                      "i36816"))
+                                                   #(ribcage
+                                                     (quasiquote)
+                                                     ((top))
+                                                     (((hygiene guile)
+                                                       .
+                                                       #(syntax-object
+                                                         quasiquote
+                                                         ((top))
+                                                         (hygiene guile))))))
                                                   (hygiene guile))
-                                               #{tmp 38408}#)))
-                                     #{tmp 38403}#)
-                                   (let ((#{tmp 38411}#
+                                               #{tmp 37607}#)))
+                                     #{tmp 37602}#)
+                                   (let ((#{tmp 37610}#
                                            ($sc-dispatch
-                                             #{x 38354}#
+                                             #{x 37553}#
                                              '(#(atom "value") any))))
-                                     (if #{tmp 38411}#
+                                     (if #{tmp 37610}#
                                        (@apply
-                                         (lambda (#{x 38415}#) #{x 38415}#)
-                                         #{tmp 38411}#)
+                                         (lambda (#{x 37614}#) #{x 37614}#)
+                                         #{tmp 37610}#)
                                        (syntax-violation
                                          #f
                                          "source expression failed to match 
any pattern"
-                                         #{x 38354}#))))))))))))))))))
-      (lambda (#{x 37894}#)
-        (let ((#{tmp 37896}#
-                ($sc-dispatch #{x 37894}# '(_ any))))
-          (if #{tmp 37896}#
+                                         #{x 37553}#))))))))))))))))))
+      (lambda (#{x 37093}#)
+        (let ((#{tmp 37095}#
+                ($sc-dispatch #{x 37093}# '(_ any))))
+          (if #{tmp 37095}#
             (@apply
-              (lambda (#{e 37900}#)
-                (#{emit 37893}# (#{quasi 37887}# #{e 37900}# 0)))
-              #{tmp 37896}#)
+              (lambda (#{e 37099}#)
+                (#{emit 37092}# (#{quasi 37086}# #{e 37099}# 0)))
+              #{tmp 37095}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{x 37894}#)))))))
+              #{x 37093}#)))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x 38470}#)
+    (lambda (#{x 37670}#)
       (letrec*
-        ((#{read-file 38471}#
-           (lambda (#{fn 38587}# #{k 38588}#)
-             (let ((#{p 38589}# (open-input-file #{fn 38587}#)))
+        ((#{read-file 37671}#
+           (lambda (#{fn 37787}# #{k 37788}#)
+             (let ((#{p 37789}# (open-input-file #{fn 37787}#)))
                (letrec*
-                 ((#{f 38590}#
-                    (lambda (#{x 38647}# #{result 38648}#)
-                      (if (eof-object? #{x 38647}#)
+                 ((#{f 37790}#
+                    (lambda (#{x 37847}# #{result 37848}#)
+                      (if (eof-object? #{x 37847}#)
                         (begin
-                          (close-input-port #{p 38589}#)
-                          (reverse #{result 38648}#))
-                        (#{f 38590}#
-                          (read #{p 38589}#)
-                          (cons (datum->syntax #{k 38588}# #{x 38647}#)
-                                #{result 38648}#))))))
-                 (#{f 38590}# (read #{p 38589}#) '()))))))
-        (let ((#{tmp 38473}#
-                ($sc-dispatch #{x 38470}# '(any any))))
-          (if #{tmp 38473}#
+                          (close-input-port #{p 37789}#)
+                          (reverse #{result 37848}#))
+                        (#{f 37790}#
+                          (read #{p 37789}#)
+                          (cons (datum->syntax #{k 37788}# #{x 37847}#)
+                                #{result 37848}#))))))
+                 (#{f 37790}# (read #{p 37789}#) '()))))))
+        (let ((#{tmp 37673}#
+                ($sc-dispatch #{x 37670}# '(any any))))
+          (if #{tmp 37673}#
             (@apply
-              (lambda (#{k 38477}# #{filename 38478}#)
-                (let ((#{fn 38479}# (syntax->datum #{filename 38478}#)))
-                  (let ((#{tmp 38480}#
-                          (#{read-file 38471}#
-                            #{fn 38479}#
-                            #{filename 38478}#)))
-                    (let ((#{tmp 38481}#
-                            ($sc-dispatch #{tmp 38480}# 'each-any)))
-                      (if #{tmp 38481}#
+              (lambda (#{k 37677}# #{filename 37678}#)
+                (let ((#{fn 37679}# (syntax->datum #{filename 37678}#)))
+                  (let ((#{tmp 37680}#
+                          (#{read-file 37671}#
+                            #{fn 37679}#
+                            #{filename 37678}#)))
+                    (let ((#{tmp 37681}#
+                            ($sc-dispatch #{tmp 37680}# 'each-any)))
+                      (if #{tmp 37681}#
                         (@apply
-                          (lambda (#{exp 38499}#)
+                          (lambda (#{exp 37699}#)
                             (cons '#(syntax-object
                                      begin
                                      ((top)
                                       #(ribcage () () ())
-                                      #(ribcage #(exp) #((top)) #("i38467"))
+                                      #(ribcage #(exp) #((top)) #("i37667"))
                                       #(ribcage () () ())
                                       #(ribcage () () ())
-                                      #(ribcage #(fn) #((top)) #("i38462"))
+                                      #(ribcage #(fn) #((top)) #("i37662"))
                                       #(ribcage
                                         #(k filename)
                                         #((top) (top))
-                                        #("i38458" "i38459"))
-                                      #(ribcage (read-file) ((top)) ("i38442"))
-                                      #(ribcage #(x) #((top)) #("i38441")))
+                                        #("i37658" "i37659"))
+                                      #(ribcage (read-file) ((top)) ("i37642"))
+                                      #(ribcage #(x) #((top)) #("i37641"))
+                                      #(ribcage
+                                        (include)
+                                        ((top))
+                                        (((hygiene guile)
+                                          .
+                                          #(syntax-object
+                                            include
+                                            ((top))
+                                            (hygiene guile))))))
                                      (hygiene guile))
-                                  #{exp 38499}#))
-                          #{tmp 38481}#)
+                                  #{exp 37699}#))
+                          #{tmp 37681}#)
                         (syntax-violation
                           #f
                           "source expression failed to match any pattern"
-                          #{tmp 38480}#))))))
-              #{tmp 38473}#)
+                          #{tmp 37680}#))))))
+              #{tmp 37673}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{x 38470}#)))))))
+              #{x 37670}#)))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x 38667}#)
-      (let ((#{tmp 38669}#
-              ($sc-dispatch #{x 38667}# '(any any))))
-        (if #{tmp 38669}#
+    (lambda (#{x 37868}#)
+      (let ((#{tmp 37870}#
+              ($sc-dispatch #{x 37868}# '(any any))))
+        (if #{tmp 37870}#
           (@apply
-            (lambda (#{k 38673}# #{filename 38674}#)
-              (let ((#{fn 38675}# (syntax->datum #{filename 38674}#)))
-                (let ((#{tmp 38676}#
+            (lambda (#{k 37874}# #{filename 37875}#)
+              (let ((#{fn 37876}# (syntax->datum #{filename 37875}#)))
+                (let ((#{tmp 37877}#
                         (datum->syntax
-                          #{filename 38674}#
-                          (let ((#{t 38679}# (%search-load-path #{fn 38675}#)))
-                            (if #{t 38679}#
-                              #{t 38679}#
+                          #{filename 37875}#
+                          (let ((#{t 37880}# (%search-load-path #{fn 37876}#)))
+                            (if #{t 37880}#
+                              #{t 37880}#
                               (syntax-violation
                                 'include-from-path
                                 "file not found in path"
-                                #{x 38667}#
-                                #{filename 38674}#))))))
+                                #{x 37868}#
+                                #{filename 37875}#))))))
                   (list '#(syntax-object
                            include
                            ((top)
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i38661"))
+                            #(ribcage #(fn) #((top)) #("i37862"))
                             #(ribcage () () ())
                             #(ribcage () () ())
-                            #(ribcage #(fn) #((top)) #("i38657"))
+                            #(ribcage #(fn) #((top)) #("i37858"))
                             #(ribcage
                               #(k filename)
                               #((top) (top))
-                              #("i38653" "i38654"))
+                              #("i37854" "i37855"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38650")))
+                            #(ribcage #(x) #((top)) #("i37851"))
+                            #(ribcage
+                              (include-from-path)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  include-from-path
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
-                        #{tmp 38676}#))))
-            #{tmp 38669}#)
+                        #{tmp 37877}#))))
+            #{tmp 37870}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 38667}#))))))
+            #{x 37868}#))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x 38688}#)
+    (lambda (#{x 37890}#)
       (syntax-violation
         'unquote
         "expression not valid outside of quasiquote"
-        #{x 38688}#))))
+        #{x 37890}#))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x 38691}#)
+    (lambda (#{x 37894}#)
       (syntax-violation
         'unquote-splicing
         "expression not valid outside of quasiquote"
-        #{x 38691}#))))
+        #{x 37894}#))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x 38747}#)
-      (let ((#{tmp 38749}#
+    (lambda (#{x 37951}#)
+      (let ((#{tmp 37953}#
               ($sc-dispatch
-                #{x 38747}#
+                #{x 37951}#
                 '(_ any any . each-any))))
-        (if #{tmp 38749}#
+        (if #{tmp 37953}#
           (@apply
-            (lambda (#{e 38753}# #{m1 38754}# #{m2 38755}#)
-              (let ((#{tmp 38756}#
+            (lambda (#{e 37957}# #{m1 37958}# #{m2 37959}#)
+              (let ((#{tmp 37960}#
                       (letrec*
-                        ((#{f 38817}#
-                           (lambda (#{clause 38820}# #{clauses 38821}#)
-                             (if (null? #{clauses 38821}#)
-                               (let ((#{tmp 38823}#
+                        ((#{f 38021}#
+                           (lambda (#{clause 38024}# #{clauses 38025}#)
+                             (if (null? #{clauses 38025}#)
+                               (let ((#{tmp 38027}#
                                        ($sc-dispatch
-                                         #{clause 38820}#
+                                         #{clause 38024}#
                                          '(#(free-id
                                              #(syntax-object
                                                else
@@ -21018,91 +22026,118 @@
                                                 #(ribcage
                                                   #(f clause clauses)
                                                   #((top) (top) (top))
-                                                  #("i38706"
-                                                    "i38707"
-                                                    "i38708"))
+                                                  #("i37910"
+                                                    "i37911"
+                                                    "i37912"))
                                                 #(ribcage
                                                   #(e m1 m2)
                                                   #((top) (top) (top))
-                                                  #("i38696"
-                                                    "i38697"
-                                                    "i38698"))
+                                                  #("i37900"
+                                                    "i37901"
+                                                    "i37902"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(x)
                                                   #((top))
-                                                  #("i38693")))
+                                                  #("i37897"))
+                                                #(ribcage
+                                                  (case)
+                                                  ((top))
+                                                  (((hygiene guile)
+                                                    .
+                                                    #(syntax-object
+                                                      case
+                                                      ((top))
+                                                      (hygiene guile))))))
                                                (hygiene guile)))
                                            any
                                            .
                                            each-any))))
-                                 (if #{tmp 38823}#
+                                 (if #{tmp 38027}#
                                    (@apply
-                                     (lambda (#{e1 38827}# #{e2 38828}#)
+                                     (lambda (#{e1 38031}# #{e2 38032}#)
                                        (cons '#(syntax-object
                                                 begin
                                                 ((top)
                                                  #(ribcage
                                                    #(e1 e2)
                                                    #((top) (top))
-                                                   #("i38715" "i38716"))
+                                                   #("i37919" "i37920"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(f clause clauses)
                                                    #((top) (top) (top))
-                                                   #("i38706"
-                                                     "i38707"
-                                                     "i38708"))
+                                                   #("i37910"
+                                                     "i37911"
+                                                     "i37912"))
                                                  #(ribcage
                                                    #(e m1 m2)
                                                    #((top) (top) (top))
-                                                   #("i38696"
-                                                     "i38697"
-                                                     "i38698"))
+                                                   #("i37900"
+                                                     "i37901"
+                                                     "i37902"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i38693")))
+                                                   #("i37897"))
+                                                 #(ribcage
+                                                   (case)
+                                                   ((top))
+                                                   (((hygiene guile)
+                                                     .
+                                                     #(syntax-object
+                                                       case
+                                                       ((top))
+                                                       (hygiene guile))))))
                                                 (hygiene guile))
-                                             (cons #{e1 38827}# #{e2 38828}#)))
-                                     #{tmp 38823}#)
-                                   (let ((#{tmp 38829}#
+                                             (cons #{e1 38031}# #{e2 38032}#)))
+                                     #{tmp 38027}#)
+                                   (let ((#{tmp 38033}#
                                            ($sc-dispatch
-                                             #{clause 38820}#
+                                             #{clause 38024}#
                                              '(each-any any . each-any))))
-                                     (if #{tmp 38829}#
+                                     (if #{tmp 38033}#
                                        (@apply
-                                         (lambda (#{k 38833}#
-                                                  #{e1 38834}#
-                                                  #{e2 38835}#)
+                                         (lambda (#{k 38037}#
+                                                  #{e1 38038}#
+                                                  #{e2 38039}#)
                                            (list '#(syntax-object
                                                     if
                                                     ((top)
                                                      #(ribcage
                                                        #(k e1 e2)
                                                        #((top) (top) (top))
-                                                       #("i38721"
-                                                         "i38722"
-                                                         "i38723"))
+                                                       #("i37925"
+                                                         "i37926"
+                                                         "i37927"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i38706"
-                                                         "i38707"
-                                                         "i38708"))
+                                                       #("i37910"
+                                                         "i37911"
+                                                         "i37912"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i38696"
-                                                         "i38697"
-                                                         "i38698"))
+                                                       #("i37900"
+                                                         "i37901"
+                                                         "i37902"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i38693")))
+                                                       #("i37897"))
+                                                     #(ribcage
+                                                       (case)
+                                                       ((top))
+                                                       (((hygiene guile)
+                                                         .
+                                                         #(syntax-object
+                                                           case
+                                                           ((top))
+                                                           (hygiene guile))))))
                                                     (hygiene guile))
                                                  (list '#(syntax-object
                                                           memv
@@ -21112,9 +22147,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38721"
-                                                               "i38722"
-                                                               "i38723"))
+                                                             #("i37925"
+                                                               "i37926"
+                                                               "i37927"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -21123,22 +22158,32 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38706"
-                                                               "i38707"
-                                                               "i38708"))
+                                                             #("i37910"
+                                                               "i37911"
+                                                               "i37912"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38696"
-                                                               "i38697"
-                                                               "i38698"))
+                                                             #("i37900"
+                                                               "i37901"
+                                                               "i37902"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i38693")))
+                                                             #("i37897"))
+                                                           #(ribcage
+                                                             (case)
+                                                             ((top))
+                                                             (((hygiene guile)
+                                                               .
+                                                               #(syntax-object
+                                                                 case
+                                                                 ((top))
+                                                                 (hygiene
+                                                                   guile))))))
                                                           (hygiene guile))
                                                        '#(syntax-object
                                                           t
@@ -21148,9 +22193,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38721"
-                                                               "i38722"
-                                                               "i38723"))
+                                                             #("i37925"
+                                                               "i37926"
+                                                               "i37927"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -21159,22 +22204,32 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38706"
-                                                               "i38707"
-                                                               "i38708"))
+                                                             #("i37910"
+                                                               "i37911"
+                                                               "i37912"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38696"
-                                                               "i38697"
-                                                               "i38698"))
+                                                             #("i37900"
+                                                               "i37901"
+                                                               "i37902"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i38693")))
+                                                             #("i37897"))
+                                                           #(ribcage
+                                                             (case)
+                                                             ((top))
+                                                             (((hygiene guile)
+                                                               .
+                                                               #(syntax-object
+                                                                 case
+                                                                 ((top))
+                                                                 (hygiene
+                                                                   guile))))))
                                                           (hygiene guile))
                                                        (list '#(syntax-object
                                                                 quote
@@ -21184,9 +22239,9 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i38721"
-                                                                     "i38722"
-                                                                     "i38723"))
+                                                                   #("i37925"
+                                                                     "i37926"
+                                                                     "i37927"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -21198,17 +22253,17 @@
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i38706"
-                                                                     "i38707"
-                                                                     "i38708"))
+                                                                   #("i37910"
+                                                                     "i37911"
+                                                                     "i37912"))
                                                                  #(ribcage
                                                                    #(e m1 m2)
                                                                    #((top)
                                                                      (top)
                                                                      (top))
-                                                                   #("i38696"
-                                                                     "i38697"
-                                                                     "i38698"))
+                                                                   #("i37900"
+                                                                     "i37901"
+                                                                     "i37902"))
                                                                  #(ribcage
                                                                    ()
                                                                    ()
@@ -21216,10 +22271,21 @@
                                                                  #(ribcage
                                                                    #(x)
                                                                    #((top))
-                                                                   
#("i38693")))
+                                                                   #("i37897"))
+                                                                 #(ribcage
+                                                                   (case)
+                                                                   ((top))
+                                                                   (((hygiene
+                                                                       guile)
+                                                                     .
+                                                                     
#(syntax-object
+                                                                       case
+                                                                       ((top))
+                                                                       (hygiene
+                                                                         
guile))))))
                                                                 (hygiene
                                                                   guile))
-                                                             #{k 38833}#))
+                                                             #{k 38037}#))
                                                  (cons '#(syntax-object
                                                           begin
                                                           ((top)
@@ -21228,9 +22294,9 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38721"
-                                                               "i38722"
-                                                               "i38723"))
+                                                             #("i37925"
+                                                               "i37926"
+                                                               "i37927"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(f
@@ -21239,76 +22305,95 @@
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38706"
-                                                               "i38707"
-                                                               "i38708"))
+                                                             #("i37910"
+                                                               "i37911"
+                                                               "i37912"))
                                                            #(ribcage
                                                              #(e m1 m2)
                                                              #((top)
                                                                (top)
                                                                (top))
-                                                             #("i38696"
-                                                               "i38697"
-                                                               "i38698"))
+                                                             #("i37900"
+                                                               "i37901"
+                                                               "i37902"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i38693")))
+                                                             #("i37897"))
+                                                           #(ribcage
+                                                             (case)
+                                                             ((top))
+                                                             (((hygiene guile)
+                                                               .
+                                                               #(syntax-object
+                                                                 case
+                                                                 ((top))
+                                                                 (hygiene
+                                                                   guile))))))
                                                           (hygiene guile))
-                                                       (cons #{e1 38834}#
-                                                             #{e2 38835}#))))
-                                         #{tmp 38829}#)
+                                                       (cons #{e1 38038}#
+                                                             #{e2 38039}#))))
+                                         #{tmp 38033}#)
                                        (syntax-violation
                                          'case
                                          "bad clause"
-                                         #{x 38747}#
-                                         #{clause 38820}#)))))
-                               (let ((#{tmp 38843}#
-                                       (#{f 38817}#
-                                         (car #{clauses 38821}#)
-                                         (cdr #{clauses 38821}#))))
-                                 (let ((#{tmp 38846}#
+                                         #{x 37951}#
+                                         #{clause 38024}#)))))
+                               (let ((#{tmp 38047}#
+                                       (#{f 38021}#
+                                         (car #{clauses 38025}#)
+                                         (cdr #{clauses 38025}#))))
+                                 (let ((#{tmp 38050}#
                                          ($sc-dispatch
-                                           #{clause 38820}#
+                                           #{clause 38024}#
                                            '(each-any any . each-any))))
-                                   (if #{tmp 38846}#
+                                   (if #{tmp 38050}#
                                      (@apply
-                                       (lambda (#{k 38850}#
-                                                #{e1 38851}#
-                                                #{e2 38852}#)
+                                       (lambda (#{k 38054}#
+                                                #{e1 38055}#
+                                                #{e2 38056}#)
                                          (list '#(syntax-object
                                                   if
                                                   ((top)
                                                    #(ribcage
                                                      #(k e1 e2)
                                                      #((top) (top) (top))
-                                                     #("i38737"
-                                                       "i38738"
-                                                       "i38739"))
+                                                     #("i37941"
+                                                       "i37942"
+                                                       "i37943"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(rest)
                                                      #((top))
-                                                     #("i38733"))
+                                                     #("i37937"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(f clause clauses)
                                                      #((top) (top) (top))
-                                                     #("i38706"
-                                                       "i38707"
-                                                       "i38708"))
+                                                     #("i37910"
+                                                       "i37911"
+                                                       "i37912"))
                                                    #(ribcage
                                                      #(e m1 m2)
                                                      #((top) (top) (top))
-                                                     #("i38696"
-                                                       "i38697"
-                                                       "i38698"))
+                                                     #("i37900"
+                                                       "i37901"
+                                                       "i37902"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i38693")))
+                                                     #("i37897"))
+                                                   #(ribcage
+                                                     (case)
+                                                     ((top))
+                                                     (((hygiene guile)
+                                                       .
+                                                       #(syntax-object
+                                                         case
+                                                         ((top))
+                                                         (hygiene guile))))))
                                                   (hygiene guile))
                                                (list '#(syntax-object
                                                         memv
@@ -21316,32 +22401,42 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i38737"
-                                                             "i38738"
-                                                             "i38739"))
+                                                           #("i37941"
+                                                             "i37942"
+                                                             "i37943"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i38733"))
+                                                           #("i37937"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i38706"
-                                                             "i38707"
-                                                             "i38708"))
+                                                           #("i37910"
+                                                             "i37911"
+                                                             "i37912"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i38696"
-                                                             "i38697"
-                                                             "i38698"))
+                                                           #("i37900"
+                                                             "i37901"
+                                                             "i37902"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i38693")))
+                                                           #("i37897"))
+                                                         #(ribcage
+                                                           (case)
+                                                           ((top))
+                                                           (((hygiene guile)
+                                                             .
+                                                             #(syntax-object
+                                                               case
+                                                               ((top))
+                                                               (hygiene
+                                                                 guile))))))
                                                         (hygiene guile))
                                                      '#(syntax-object
                                                         t
@@ -21349,32 +22444,42 @@
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i38737"
-                                                             "i38738"
-                                                             "i38739"))
+                                                           #("i37941"
+                                                             "i37942"
+                                                             "i37943"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i38733"))
+                                                           #("i37937"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i38706"
-                                                             "i38707"
-                                                             "i38708"))
+                                                           #("i37910"
+                                                             "i37911"
+                                                             "i37912"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i38696"
-                                                             "i38697"
-                                                             "i38698"))
+                                                           #("i37900"
+                                                             "i37901"
+                                                             "i37902"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i38693")))
+                                                           #("i37897"))
+                                                         #(ribcage
+                                                           (case)
+                                                           ((top))
+                                                           (((hygiene guile)
+                                                             .
+                                                             #(syntax-object
+                                                               case
+                                                               ((top))
+                                                               (hygiene
+                                                                 guile))))))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               quote
@@ -21384,9 +22489,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i38737"
-                                                                   "i38738"
-                                                                   "i38739"))
+                                                                 #("i37941"
+                                                                   "i37942"
+                                                                   "i37943"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -21394,7 +22499,7 @@
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i38733"))
+                                                                 #("i37937"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -21406,17 +22511,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i38706"
-                                                                   "i38707"
-                                                                   "i38708"))
+                                                                 #("i37910"
+                                                                   "i37911"
+                                                                   "i37912"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i38696"
-                                                                   "i38697"
-                                                                   "i38698"))
+                                                                 #("i37900"
+                                                                   "i37901"
+                                                                   "i37902"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -21424,232 +22529,415 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i38693")))
+                                                                 #("i37897"))
+                                                               #(ribcage
+                                                                 (case)
+                                                                 ((top))
+                                                                 (((hygiene
+                                                                     guile)
+                                                                   .
+                                                                   
#(syntax-object
+                                                                     case
+                                                                     ((top))
+                                                                     (hygiene
+                                                                       
guile))))))
                                                               (hygiene guile))
-                                                           #{k 38850}#))
+                                                           #{k 38054}#))
                                                (cons '#(syntax-object
                                                         begin
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i38737"
-                                                             "i38738"
-                                                             "i38739"))
+                                                           #("i37941"
+                                                             "i37942"
+                                                             "i37943"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i38733"))
+                                                           #("i37937"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i38706"
-                                                             "i38707"
-                                                             "i38708"))
+                                                           #("i37910"
+                                                             "i37911"
+                                                             "i37912"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i38696"
-                                                             "i38697"
-                                                             "i38698"))
+                                                           #("i37900"
+                                                             "i37901"
+                                                             "i37902"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i38693")))
+                                                           #("i37897"))
+                                                         #(ribcage
+                                                           (case)
+                                                           ((top))
+                                                           (((hygiene guile)
+                                                             .
+                                                             #(syntax-object
+                                                               case
+                                                               ((top))
+                                                               (hygiene
+                                                                 guile))))))
                                                         (hygiene guile))
-                                                     (cons #{e1 38851}#
-                                                           #{e2 38852}#))
-                                               #{tmp 38843}#))
-                                       #{tmp 38846}#)
+                                                     (cons #{e1 38055}#
+                                                           #{e2 38056}#))
+                                               #{tmp 38047}#))
+                                       #{tmp 38050}#)
                                      (syntax-violation
                                        'case
                                        "bad clause"
-                                       #{x 38747}#
-                                       #{clause 38820}#))))))))
-                        (#{f 38817}# #{m1 38754}# #{m2 38755}#))))
-                (let ((#{body 38757}# #{tmp 38756}#))
+                                       #{x 37951}#
+                                       #{clause 38024}#))))))))
+                        (#{f 38021}# #{m1 37958}# #{m2 37959}#))))
+                (let ((#{body 37961}# #{tmp 37960}#))
                   (list '#(syntax-object
                            let
                            ((top)
                             #(ribcage () () ())
-                            #(ribcage #(body) #((top)) #("i38704"))
+                            #(ribcage #(body) #((top)) #("i37908"))
                             #(ribcage
                               #(e m1 m2)
                               #((top) (top) (top))
-                              #("i38696" "i38697" "i38698"))
+                              #("i37900" "i37901" "i37902"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38693")))
+                            #(ribcage #(x) #((top)) #("i37897"))
+                            #(ribcage
+                              (case)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  case
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
                         (list (list '#(syntax-object
                                        t
                                        ((top)
                                         #(ribcage () () ())
-                                        #(ribcage #(body) #((top)) #("i38704"))
+                                        #(ribcage #(body) #((top)) #("i37908"))
                                         #(ribcage
                                           #(e m1 m2)
                                           #((top) (top) (top))
-                                          #("i38696" "i38697" "i38698"))
+                                          #("i37900" "i37901" "i37902"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i38693")))
+                                        #(ribcage #(x) #((top)) #("i37897"))
+                                        #(ribcage
+                                          (case)
+                                          ((top))
+                                          (((hygiene guile)
+                                            .
+                                            #(syntax-object
+                                              case
+                                              ((top))
+                                              (hygiene guile))))))
                                        (hygiene guile))
-                                    #{e 38753}#))
-                        #{body 38757}#))))
-            #{tmp 38749}#)
+                                    #{e 37957}#))
+                        #{body 37961}#))))
+            #{tmp 37953}#)
           (syntax-violation
             #f
             "source expression failed to match any pattern"
-            #{x 38747}#))))))
+            #{x 37951}#))))))
 
 (define make-variable-transformer
-  (lambda (#{proc 38870}#)
-    (if (procedure? #{proc 38870}#)
+  (lambda (#{proc 38075}#)
+    (if (procedure? #{proc 38075}#)
       (letrec*
-        ((#{trans 38871}#
-           (lambda (#{x 38877}#)
-             (#{proc 38870}# #{x 38877}#))))
+        ((#{trans 38076}#
+           (lambda (#{x 38082}#)
+             (#{proc 38075}# #{x 38082}#))))
         (begin
           (set-procedure-property!
-            #{trans 38871}#
+            #{trans 38076}#
             'variable-transformer
             #t)
-          #{trans 38871}#))
+          #{trans 38076}#))
       (error "variable transformer not a procedure"
-             #{proc 38870}#))))
+             #{proc 38075}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x 38909}#)
-      (let ((#{tmp 38911}#
-              ($sc-dispatch #{x 38909}# '(_ any))))
-        (if #{tmp 38911}#
+    (lambda (#{x 38115}#)
+      (let ((#{tmp 38117}#
+              ($sc-dispatch #{x 38115}# '(_ any))))
+        (if #{tmp 38117}#
           (@apply
-            (lambda (#{e 38915}#)
+            (lambda (#{e 38121}#)
               (list '#(syntax-object
                        lambda
                        ((top)
-                        #(ribcage #(e) #((top)) #("i38884"))
+                        #(ribcage #(e) #((top)) #("i38090"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i38881")))
+                        #(ribcage #(x) #((top)) #("i38087"))
+                        #(ribcage
+                          (identifier-syntax)
+                          ((top))
+                          (((hygiene guile)
+                            .
+                            #(syntax-object
+                              identifier-syntax
+                              ((top))
+                              (hygiene guile))))))
                        (hygiene guile))
                     '(#(syntax-object
                         x
                         ((top)
-                         #(ribcage #(e) #((top)) #("i38884"))
+                         #(ribcage #(e) #((top)) #("i38090"))
                          #(ribcage () () ())
-                         #(ribcage #(x) #((top)) #("i38881")))
+                         #(ribcage #(x) #((top)) #("i38087"))
+                         #(ribcage
+                           (identifier-syntax)
+                           ((top))
+                           (((hygiene guile)
+                             .
+                             #(syntax-object
+                               identifier-syntax
+                               ((top))
+                               (hygiene guile))))))
                         (hygiene guile)))
                     '#((#(syntax-object
                           macro-type
                           ((top)
-                           #(ribcage #(e) #((top)) #("i38884"))
+                           #(ribcage #(e) #((top)) #("i38090"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i38881")))
+                           #(ribcage #(x) #((top)) #("i38087"))
+                           #(ribcage
+                             (identifier-syntax)
+                             ((top))
+                             (((hygiene guile)
+                               .
+                               #(syntax-object
+                                 identifier-syntax
+                                 ((top))
+                                 (hygiene guile))))))
                           (hygiene guile))
                         .
                         #(syntax-object
                           identifier-syntax
                           ((top)
-                           #(ribcage #(e) #((top)) #("i38884"))
+                           #(ribcage #(e) #((top)) #("i38090"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i38881")))
+                           #(ribcage #(x) #((top)) #("i38087"))
+                           #(ribcage
+                             (identifier-syntax)
+                             ((top))
+                             (((hygiene guile)
+                               .
+                               #(syntax-object
+                                 identifier-syntax
+                                 ((top))
+                                 (hygiene guile))))))
                           (hygiene guile))))
                     (list '#(syntax-object
                              syntax-case
                              ((top)
-                              #(ribcage #(e) #((top)) #("i38884"))
+                              #(ribcage #(e) #((top)) #("i38090"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i38881")))
+                              #(ribcage #(x) #((top)) #("i38087"))
+                              #(ribcage
+                                (identifier-syntax)
+                                ((top))
+                                (((hygiene guile)
+                                  .
+                                  #(syntax-object
+                                    identifier-syntax
+                                    ((top))
+                                    (hygiene guile))))))
                              (hygiene guile))
                           '#(syntax-object
                              x
                              ((top)
-                              #(ribcage #(e) #((top)) #("i38884"))
+                              #(ribcage #(e) #((top)) #("i38090"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i38881")))
+                              #(ribcage #(x) #((top)) #("i38087"))
+                              #(ribcage
+                                (identifier-syntax)
+                                ((top))
+                                (((hygiene guile)
+                                  .
+                                  #(syntax-object
+                                    identifier-syntax
+                                    ((top))
+                                    (hygiene guile))))))
                              (hygiene guile))
                           '()
                           (list '#(syntax-object
                                    id
                                    ((top)
-                                    #(ribcage #(e) #((top)) #("i38884"))
+                                    #(ribcage #(e) #((top)) #("i38090"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i38881")))
+                                    #(ribcage #(x) #((top)) #("i38087"))
+                                    #(ribcage
+                                      (identifier-syntax)
+                                      ((top))
+                                      (((hygiene guile)
+                                        .
+                                        #(syntax-object
+                                          identifier-syntax
+                                          ((top))
+                                          (hygiene guile))))))
                                    (hygiene guile))
                                 '(#(syntax-object
                                     identifier?
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38884"))
+                                     #(ribcage #(e) #((top)) #("i38090"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38881")))
+                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage
+                                       (identifier-syntax)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           identifier-syntax
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile))
                                   (#(syntax-object
                                      syntax
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i38884"))
+                                      #(ribcage #(e) #((top)) #("i38090"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i38881")))
+                                      #(ribcage #(x) #((top)) #("i38087"))
+                                      #(ribcage
+                                        (identifier-syntax)
+                                        ((top))
+                                        (((hygiene guile)
+                                          .
+                                          #(syntax-object
+                                            identifier-syntax
+                                            ((top))
+                                            (hygiene guile))))))
                                      (hygiene guile))
                                    #(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i38884"))
+                                      #(ribcage #(e) #((top)) #("i38090"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i38881")))
+                                      #(ribcage #(x) #((top)) #("i38087"))
+                                      #(ribcage
+                                        (identifier-syntax)
+                                        ((top))
+                                        (((hygiene guile)
+                                          .
+                                          #(syntax-object
+                                            identifier-syntax
+                                            ((top))
+                                            (hygiene guile))))))
                                      (hygiene guile))))
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i38884"))
+                                          #(ribcage #(e) #((top)) #("i38090"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i38881")))
+                                          #(ribcage #(x) #((top)) #("i38087"))
+                                          #(ribcage
+                                            (identifier-syntax)
+                                            ((top))
+                                            (((hygiene guile)
+                                              .
+                                              #(syntax-object
+                                                identifier-syntax
+                                                ((top))
+                                                (hygiene guile))))))
                                          (hygiene guile))
-                                      #{e 38915}#))
+                                      #{e 38121}#))
                           (list '(#(syntax-object
                                     _
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38884"))
+                                     #(ribcage #(e) #((top)) #("i38090"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38881")))
+                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage
+                                       (identifier-syntax)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           identifier-syntax
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile))
                                   #(syntax-object
                                     x
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38884"))
+                                     #(ribcage #(e) #((top)) #("i38090"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38881")))
+                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage
+                                       (identifier-syntax)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           identifier-syntax
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile))
                                   #(syntax-object
                                     ...
                                     ((top)
-                                     #(ribcage #(e) #((top)) #("i38884"))
+                                     #(ribcage #(e) #((top)) #("i38090"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38881")))
+                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage
+                                       (identifier-syntax)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           identifier-syntax
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile)))
                                 (list '#(syntax-object
                                          syntax
                                          ((top)
-                                          #(ribcage #(e) #((top)) #("i38884"))
+                                          #(ribcage #(e) #((top)) #("i38090"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i38881")))
+                                          #(ribcage #(x) #((top)) #("i38087"))
+                                          #(ribcage
+                                            (identifier-syntax)
+                                            ((top))
+                                            (((hygiene guile)
+                                              .
+                                              #(syntax-object
+                                                identifier-syntax
+                                                ((top))
+                                                (hygiene guile))))))
                                          (hygiene guile))
-                                      (cons #{e 38915}#
+                                      (cons #{e 38121}#
                                             '(#(syntax-object
                                                 x
                                                 ((top)
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i38884"))
+                                                   #("i38090"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i38881")))
+                                                   #("i38087"))
+                                                 #(ribcage
+                                                   (identifier-syntax)
+                                                   ((top))
+                                                   (((hygiene guile)
+                                                     .
+                                                     #(syntax-object
+                                                       identifier-syntax
+                                                       ((top))
+                                                       (hygiene guile))))))
                                                 (hygiene guile))
                                               #(syntax-object
                                                 ...
@@ -21657,55 +22945,82 @@
                                                  #(ribcage
                                                    #(e)
                                                    #((top))
-                                                   #("i38884"))
+                                                   #("i38090"))
                                                  #(ribcage () () ())
                                                  #(ribcage
                                                    #(x)
                                                    #((top))
-                                                   #("i38881")))
+                                                   #("i38087"))
+                                                 #(ribcage
+                                                   (identifier-syntax)
+                                                   ((top))
+                                                   (((hygiene guile)
+                                                     .
+                                                     #(syntax-object
+                                                       identifier-syntax
+                                                       ((top))
+                                                       (hygiene guile))))))
                                                 (hygiene guile)))))))))
-            #{tmp 38911}#)
-          (let ((#{tmp 38916}#
+            #{tmp 38117}#)
+          (let ((#{tmp 38122}#
                   ($sc-dispatch
-                    #{x 38909}#
+                    #{x 38115}#
                     '(_ (any any)
                         ((#(free-id
                             #(syntax-object
                               set!
                               ((top)
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i38881")))
+                               #(ribcage #(x) #((top)) #("i38087"))
+                               #(ribcage
+                                 (identifier-syntax)
+                                 ((top))
+                                 (((hygiene guile)
+                                   .
+                                   #(syntax-object
+                                     identifier-syntax
+                                     ((top))
+                                     (hygiene guile))))))
                               (hygiene guile)))
                           any
                           any)
                          any)))))
-            (if (if #{tmp 38916}#
+            (if (if #{tmp 38122}#
                   (@apply
-                    (lambda (#{id 38920}#
-                             #{exp1 38921}#
-                             #{var 38922}#
-                             #{val 38923}#
-                             #{exp2 38924}#)
-                      (if (identifier? #{id 38920}#)
-                        (identifier? #{var 38922}#)
+                    (lambda (#{id 38126}#
+                             #{exp1 38127}#
+                             #{var 38128}#
+                             #{val 38129}#
+                             #{exp2 38130}#)
+                      (if (identifier? #{id 38126}#)
+                        (identifier? #{var 38128}#)
                         #f))
-                    #{tmp 38916}#)
+                    #{tmp 38122}#)
                   #f)
               (@apply
-                (lambda (#{id 38925}#
-                         #{exp1 38926}#
-                         #{var 38927}#
-                         #{val 38928}#
-                         #{exp2 38929}#)
+                (lambda (#{id 38131}#
+                         #{exp1 38132}#
+                         #{var 38133}#
+                         #{val 38134}#
+                         #{exp2 38135}#)
                   (list '#(syntax-object
                            make-variable-transformer
                            ((top)
                             #(ribcage
                               #(id exp1 var val exp2)
                               #((top) (top) (top) (top) (top))
-                              #("i38899" "i38900" "i38901" "i38902" "i38903"))
+                              #("i38105" "i38106" "i38107" "i38108" "i38109"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38881")))
+                            #(ribcage #(x) #((top)) #("i38087"))
+                            #(ribcage
+                              (identifier-syntax)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  identifier-syntax
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
                         (list '#(syntax-object
                                  lambda
@@ -21713,13 +23028,22 @@
                                   #(ribcage
                                     #(id exp1 var val exp2)
                                     #((top) (top) (top) (top) (top))
-                                    #("i38899"
-                                      "i38900"
-                                      "i38901"
-                                      "i38902"
-                                      "i38903"))
+                                    #("i38105"
+                                      "i38106"
+                                      "i38107"
+                                      "i38108"
+                                      "i38109"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i38881")))
+                                  #(ribcage #(x) #((top)) #("i38087"))
+                                  #(ribcage
+                                    (identifier-syntax)
+                                    ((top))
+                                    (((hygiene guile)
+                                      .
+                                      #(syntax-object
+                                        identifier-syntax
+                                        ((top))
+                                        (hygiene guile))))))
                                  (hygiene guile))
                               '(#(syntax-object
                                   x
@@ -21727,13 +23051,22 @@
                                    #(ribcage
                                      #(id exp1 var val exp2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i38899"
-                                       "i38900"
-                                       "i38901"
-                                       "i38902"
-                                       "i38903"))
+                                     #("i38105"
+                                       "i38106"
+                                       "i38107"
+                                       "i38108"
+                                       "i38109"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i38881")))
+                                   #(ribcage #(x) #((top)) #("i38087"))
+                                   #(ribcage
+                                     (identifier-syntax)
+                                     ((top))
+                                     (((hygiene guile)
+                                       .
+                                       #(syntax-object
+                                         identifier-syntax
+                                         ((top))
+                                         (hygiene guile))))))
                                   (hygiene guile)))
                               '#((#(syntax-object
                                     macro-type
@@ -21741,13 +23074,22 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i38899"
-                                         "i38900"
-                                         "i38901"
-                                         "i38902"
-                                         "i38903"))
+                                       #("i38105"
+                                         "i38106"
+                                         "i38107"
+                                         "i38108"
+                                         "i38109"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38881")))
+                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage
+                                       (identifier-syntax)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           identifier-syntax
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile))
                                   .
                                   #(syntax-object
@@ -21756,13 +23098,22 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i38899"
-                                         "i38900"
-                                         "i38901"
-                                         "i38902"
-                                         "i38903"))
+                                       #("i38105"
+                                         "i38106"
+                                         "i38107"
+                                         "i38108"
+                                         "i38109"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i38881")))
+                                     #(ribcage #(x) #((top)) #("i38087"))
+                                     #(ribcage
+                                       (identifier-syntax)
+                                       ((top))
+                                       (((hygiene guile)
+                                         .
+                                         #(syntax-object
+                                           identifier-syntax
+                                           ((top))
+                                           (hygiene guile))))))
                                     (hygiene guile))))
                               (list '#(syntax-object
                                        syntax-case
@@ -21770,13 +23121,22 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i38899"
-                                            "i38900"
-                                            "i38901"
-                                            "i38902"
-                                            "i38903"))
+                                          #("i38105"
+                                            "i38106"
+                                            "i38107"
+                                            "i38108"
+                                            "i38109"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i38881")))
+                                        #(ribcage #(x) #((top)) #("i38087"))
+                                        #(ribcage
+                                          (identifier-syntax)
+                                          ((top))
+                                          (((hygiene guile)
+                                            .
+                                            #(syntax-object
+                                              identifier-syntax
+                                              ((top))
+                                              (hygiene guile))))))
                                        (hygiene guile))
                                     '#(syntax-object
                                        x
@@ -21784,13 +23144,22 @@
                                         #(ribcage
                                           #(id exp1 var val exp2)
                                           #((top) (top) (top) (top) (top))
-                                          #("i38899"
-                                            "i38900"
-                                            "i38901"
-                                            "i38902"
-                                            "i38903"))
+                                          #("i38105"
+                                            "i38106"
+                                            "i38107"
+                                            "i38108"
+                                            "i38109"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i38881")))
+                                        #(ribcage #(x) #((top)) #("i38087"))
+                                        #(ribcage
+                                          (identifier-syntax)
+                                          ((top))
+                                          (((hygiene guile)
+                                            .
+                                            #(syntax-object
+                                              identifier-syntax
+                                              ((top))
+                                              (hygiene guile))))))
                                        (hygiene guile))
                                     '(#(syntax-object
                                         set!
@@ -21798,13 +23167,22 @@
                                          #(ribcage
                                            #(id exp1 var val exp2)
                                            #((top) (top) (top) (top) (top))
-                                           #("i38899"
-                                             "i38900"
-                                             "i38901"
-                                             "i38902"
-                                             "i38903"))
+                                           #("i38105"
+                                             "i38106"
+                                             "i38107"
+                                             "i38108"
+                                             "i38109"))
                                          #(ribcage () () ())
-                                         #(ribcage #(x) #((top)) #("i38881")))
+                                         #(ribcage #(x) #((top)) #("i38087"))
+                                         #(ribcage
+                                           (identifier-syntax)
+                                           ((top))
+                                           (((hygiene guile)
+                                             .
+                                             #(syntax-object
+                                               identifier-syntax
+                                               ((top))
+                                               (hygiene guile))))))
                                         (hygiene guile)))
                                     (list (list '#(syntax-object
                                                    set!
@@ -21816,19 +23194,28 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38899"
-                                                        "i38900"
-                                                        "i38901"
-                                                        "i38902"
-                                                        "i38903"))
+                                                      #("i38105"
+                                                        "i38106"
+                                                        "i38107"
+                                                        "i38108"
+                                                        "i38109"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38881")))
+                                                      #("i38087"))
+                                                    #(ribcage
+                                                      (identifier-syntax)
+                                                      ((top))
+                                                      (((hygiene guile)
+                                                        .
+                                                        #(syntax-object
+                                                          identifier-syntax
+                                                          ((top))
+                                                          (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{var 38927}#
-                                                #{val 38928}#)
+                                                #{var 38133}#
+                                                #{val 38134}#)
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -21839,19 +23226,28 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38899"
-                                                        "i38900"
-                                                        "i38901"
-                                                        "i38902"
-                                                        "i38903"))
+                                                      #("i38105"
+                                                        "i38106"
+                                                        "i38107"
+                                                        "i38108"
+                                                        "i38109"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38881")))
+                                                      #("i38087"))
+                                                    #(ribcage
+                                                      (identifier-syntax)
+                                                      ((top))
+                                                      (((hygiene guile)
+                                                        .
+                                                        #(syntax-object
+                                                          identifier-syntax
+                                                          ((top))
+                                                          (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{exp2 38929}#))
-                                    (list (cons #{id 38925}#
+                                                #{exp2 38135}#))
+                                    (list (cons #{id 38131}#
                                                 '(#(syntax-object
                                                     x
                                                     ((top)
@@ -21862,16 +23258,25 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i38899"
-                                                         "i38900"
-                                                         "i38901"
-                                                         "i38902"
-                                                         "i38903"))
+                                                       #("i38105"
+                                                         "i38106"
+                                                         "i38107"
+                                                         "i38108"
+                                                         "i38109"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i38881")))
+                                                       #("i38087"))
+                                                     #(ribcage
+                                                       (identifier-syntax)
+                                                       ((top))
+                                                       (((hygiene guile)
+                                                         .
+                                                         #(syntax-object
+                                                           identifier-syntax
+                                                           ((top))
+                                                           (hygiene guile))))))
                                                     (hygiene guile))
                                                   #(syntax-object
                                                     ...
@@ -21883,16 +23288,25 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i38899"
-                                                         "i38900"
-                                                         "i38901"
-                                                         "i38902"
-                                                         "i38903"))
+                                                       #("i38105"
+                                                         "i38106"
+                                                         "i38107"
+                                                         "i38108"
+                                                         "i38109"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i38881")))
+                                                       #("i38087"))
+                                                     #(ribcage
+                                                       (identifier-syntax)
+                                                       ((top))
+                                                       (((hygiene guile)
+                                                         .
+                                                         #(syntax-object
+                                                           identifier-syntax
+                                                           ((top))
+                                                           (hygiene guile))))))
                                                     (hygiene guile))))
                                           (list '#(syntax-object
                                                    syntax
@@ -21904,18 +23318,27 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38899"
-                                                        "i38900"
-                                                        "i38901"
-                                                        "i38902"
-                                                        "i38903"))
+                                                      #("i38105"
+                                                        "i38106"
+                                                        "i38107"
+                                                        "i38108"
+                                                        "i38109"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38881")))
+                                                      #("i38087"))
+                                                    #(ribcage
+                                                      (identifier-syntax)
+                                                      ((top))
+                                                      (((hygiene guile)
+                                                        .
+                                                        #(syntax-object
+                                                          identifier-syntax
+                                                          ((top))
+                                                          (hygiene guile))))))
                                                    (hygiene guile))
-                                                (cons #{exp1 38926}#
+                                                (cons #{exp1 38132}#
                                                       '(#(syntax-object
                                                           x
                                                           ((top)
@@ -21930,16 +23353,26 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i38899"
-                                                               "i38900"
-                                                               "i38901"
-                                                               "i38902"
-                                                               "i38903"))
+                                                             #("i38105"
+                                                               "i38106"
+                                                               "i38107"
+                                                               "i38108"
+                                                               "i38109"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i38881")))
+                                                             #("i38087"))
+                                                           #(ribcage
+                                                             
(identifier-syntax)
+                                                             ((top))
+                                                             (((hygiene guile)
+                                                               .
+                                                               #(syntax-object
+                                                                 
identifier-syntax
+                                                                 ((top))
+                                                                 (hygiene
+                                                                   guile))))))
                                                           (hygiene guile))
                                                         #(syntax-object
                                                           ...
@@ -21955,18 +23388,28 @@
                                                                (top)
                                                                (top)
                                                                (top))
-                                                             #("i38899"
-                                                               "i38900"
-                                                               "i38901"
-                                                               "i38902"
-                                                               "i38903"))
+                                                             #("i38105"
+                                                               "i38106"
+                                                               "i38107"
+                                                               "i38108"
+                                                               "i38109"))
                                                            #(ribcage () () ())
                                                            #(ribcage
                                                              #(x)
                                                              #((top))
-                                                             #("i38881")))
+                                                             #("i38087"))
+                                                           #(ribcage
+                                                             
(identifier-syntax)
+                                                             ((top))
+                                                             (((hygiene guile)
+                                                               .
+                                                               #(syntax-object
+                                                                 
identifier-syntax
+                                                                 ((top))
+                                                                 (hygiene
+                                                                   guile))))))
                                                           (hygiene guile))))))
-                                    (list #{id 38925}#
+                                    (list #{id 38131}#
                                           (list '#(syntax-object
                                                    identifier?
                                                    ((top)
@@ -21977,16 +23420,25 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38899"
-                                                        "i38900"
-                                                        "i38901"
-                                                        "i38902"
-                                                        "i38903"))
+                                                      #("i38105"
+                                                        "i38106"
+                                                        "i38107"
+                                                        "i38108"
+                                                        "i38109"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38881")))
+                                                      #("i38087"))
+                                                    #(ribcage
+                                                      (identifier-syntax)
+                                                      ((top))
+                                                      (((hygiene guile)
+                                                        .
+                                                        #(syntax-object
+                                                          identifier-syntax
+                                                          ((top))
+                                                          (hygiene guile))))))
                                                    (hygiene guile))
                                                 (list '#(syntax-object
                                                          syntax
@@ -22002,18 +23454,28 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i38899"
-                                                              "i38900"
-                                                              "i38901"
-                                                              "i38902"
-                                                              "i38903"))
+                                                            #("i38105"
+                                                              "i38106"
+                                                              "i38107"
+                                                              "i38108"
+                                                              "i38109"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(x)
                                                             #((top))
-                                                            #("i38881")))
+                                                            #("i38087"))
+                                                          #(ribcage
+                                                            (identifier-syntax)
+                                                            ((top))
+                                                            (((hygiene guile)
+                                                              .
+                                                              #(syntax-object
+                                                                
identifier-syntax
+                                                                ((top))
+                                                                (hygiene
+                                                                  guile))))))
                                                          (hygiene guile))
-                                                      #{id 38925}#))
+                                                      #{id 38131}#))
                                           (list '#(syntax-object
                                                    syntax
                                                    ((top)
@@ -22024,68 +23486,95 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i38899"
-                                                        "i38900"
-                                                        "i38901"
-                                                        "i38902"
-                                                        "i38903"))
+                                                      #("i38105"
+                                                        "i38106"
+                                                        "i38107"
+                                                        "i38108"
+                                                        "i38109"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i38881")))
+                                                      #("i38087"))
+                                                    #(ribcage
+                                                      (identifier-syntax)
+                                                      ((top))
+                                                      (((hygiene guile)
+                                                        .
+                                                        #(syntax-object
+                                                          identifier-syntax
+                                                          ((top))
+                                                          (hygiene guile))))))
                                                    (hygiene guile))
-                                                #{exp1 38926}#))))))
-                #{tmp 38916}#)
+                                                #{exp1 38132}#))))))
+                #{tmp 38122}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 38909}#))))))))
+                #{x 38115}#))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x 38961}#)
-      (let ((#{tmp 38963}#
+    (lambda (#{x 38168}#)
+      (let ((#{tmp 38170}#
               ($sc-dispatch
-                #{x 38961}#
+                #{x 38168}#
                 '(_ (any . any) any . each-any))))
-        (if #{tmp 38963}#
+        (if #{tmp 38170}#
           (@apply
-            (lambda (#{id 38967}#
-                     #{args 38968}#
-                     #{b0 38969}#
-                     #{b1 38970}#)
+            (lambda (#{id 38174}#
+                     #{args 38175}#
+                     #{b0 38176}#
+                     #{b1 38177}#)
               (list '#(syntax-object
                        define
                        ((top)
                         #(ribcage
                           #(id args b0 b1)
                           #((top) (top) (top) (top))
-                          #("i38943" "i38944" "i38945" "i38946"))
+                          #("i38150" "i38151" "i38152" "i38153"))
                         #(ribcage () () ())
-                        #(ribcage #(x) #((top)) #("i38940")))
+                        #(ribcage #(x) #((top)) #("i38147"))
+                        #(ribcage
+                          (define*)
+                          ((top))
+                          (((hygiene guile)
+                            .
+                            #(syntax-object
+                              define*
+                              ((top))
+                              (hygiene guile))))))
                        (hygiene guile))
-                    #{id 38967}#
+                    #{id 38174}#
                     (cons '#(syntax-object
                              lambda*
                              ((top)
                               #(ribcage
                                 #(id args b0 b1)
                                 #((top) (top) (top) (top))
-                                #("i38943" "i38944" "i38945" "i38946"))
+                                #("i38150" "i38151" "i38152" "i38153"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i38940")))
+                              #(ribcage #(x) #((top)) #("i38147"))
+                              #(ribcage
+                                (define*)
+                                ((top))
+                                (((hygiene guile)
+                                  .
+                                  #(syntax-object
+                                    define*
+                                    ((top))
+                                    (hygiene guile))))))
                              (hygiene guile))
-                          (cons #{args 38968}#
-                                (cons #{b0 38969}# #{b1 38970}#)))))
-            #{tmp 38963}#)
-          (let ((#{tmp 38971}#
-                  ($sc-dispatch #{x 38961}# '(_ any any))))
-            (if (if #{tmp 38971}#
+                          (cons #{args 38175}#
+                                (cons #{b0 38176}# #{b1 38177}#)))))
+            #{tmp 38170}#)
+          (let ((#{tmp 38178}#
+                  ($sc-dispatch #{x 38168}# '(_ any any))))
+            (if (if #{tmp 38178}#
                   (@apply
-                    (lambda (#{id 38975}# #{val 38976}#)
+                    (lambda (#{id 38182}# #{val 38183}#)
                       (identifier?
                         '#(syntax-object
                            x
@@ -22093,29 +23582,47 @@
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i38953" "i38954"))
+                              #("i38160" "i38161"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38940")))
+                            #(ribcage #(x) #((top)) #("i38147"))
+                            #(ribcage
+                              (define*)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  define*
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))))
-                    #{tmp 38971}#)
+                    #{tmp 38178}#)
                   #f)
               (@apply
-                (lambda (#{id 38977}# #{val 38978}#)
+                (lambda (#{id 38184}# #{val 38185}#)
                   (list '#(syntax-object
                            define
                            ((top)
                             #(ribcage
                               #(id val)
                               #((top) (top))
-                              #("i38957" "i38958"))
+                              #("i38164" "i38165"))
                             #(ribcage () () ())
-                            #(ribcage #(x) #((top)) #("i38940")))
+                            #(ribcage #(x) #((top)) #("i38147"))
+                            #(ribcage
+                              (define*)
+                              ((top))
+                              (((hygiene guile)
+                                .
+                                #(syntax-object
+                                  define*
+                                  ((top))
+                                  (hygiene guile))))))
                            (hygiene guile))
-                        #{id 38977}#
-                        #{val 38978}#))
-                #{tmp 38971}#)
+                        #{id 38184}#
+                        #{val 38185}#))
+                #{tmp 38178}#)
               (syntax-violation
                 #f
                 "source expression failed to match any pattern"
-                #{x 38961}#))))))))
+                #{x 38168}#))))))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 07bb0e4..7c3024b 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -51,7 +51,7 @@
 ;;;   bound-identifier=?
 ;;;   datum->syntax
 ;;;   define-syntax
-;;;   fluid-let-syntax
+;;;   syntax-parameterize
 ;;;   free-identifier=?
 ;;;   generate-temporaries
 ;;;   identifier?
@@ -486,18 +486,20 @@
 
     ;; global (assumed global variable) and displaced-lexical (see below)
     ;; do not show up in any environment; instead, they are fabricated by
-    ;; lookup when it finds no other bindings.
+    ;; resolve-identifier when it finds no other bindings.
 
     ;; <environment>              ::= ((<label> . <binding>)*)
 
     ;; identifier bindings include a type and a value
 
     ;; <binding> ::= (macro . <procedure>)           macros
+    ;;               (syntax-parameter . (<procedure>)) syntax parameters
     ;;               (core . <procedure>)            core forms
     ;;               (module-ref . <procedure>)      @ or @@
     ;;               (begin)                         begin
     ;;               (define)                        define
     ;;               (define-syntax)                 define-syntax
+    ;;               (define-syntax-parameter)       define-syntax-parameter
     ;;               (local-syntax . rec?)           let-syntax/letrec-syntax
     ;;               (eval-when)                     eval-when
     ;;               (syntax . (<var> . <level>))    pattern variables
@@ -507,11 +509,11 @@
     ;; <level>   ::= <nonnegative integer>
     ;; <var>     ::= variable returned by build-lexical-var
 
-    ;; a macro is a user-defined syntactic-form.  a core is a system-defined
-    ;; syntactic form.  begin, define, define-syntax, and eval-when are
-    ;; treated specially since they are sensitive to whether the form is
-    ;; at top-level and (except for eval-when) can denote valid internal
-    ;; definitions.
+    ;; a macro is a user-defined syntactic-form.  a core is a
+    ;; system-defined syntactic form.  begin, define, define-syntax,
+    ;; define-syntax-parameter, and eval-when are treated specially
+    ;; since they are sensitive to whether the form is at top-level and
+    ;; (except for eval-when) can denote valid internal definitions.
 
     ;; a pattern variable is a variable introduced by syntax-case and can
     ;; be referenced only within a syntax form.
@@ -563,22 +565,10 @@
         (if (null? r)
             '()
             (let ((a (car r)))
-              (if (eq? (cadr a) 'macro)
+              (if (memq (cadr a) '(macro syntax-parameter))
                   (cons a (macros-only-env (cdr r)))
                   (macros-only-env (cdr r)))))))
 
-    (define lookup
-      ;; x may be a label or a symbol
-      ;; although symbols are usually global, we check the environment first
-      ;; anyway because a temporary binding may have been established by
-      ;; fluid-let-syntax
-      (lambda (x r mod)
-        (cond
-         ((assq x r) => cdr)
-         ((symbol? x)
-          (or (get-global-definition-hook x mod) (make-binding 'global)))
-         (else (make-binding 'displaced-lexical)))))
-
     (define global-extend
       (lambda (type sym val)
         (put-global-definition-hook sym type val)))
@@ -738,87 +728,164 @@
                  (same-marks? (cdr x) (cdr y))))))
 
     (define id-var-name
-      (lambda (id w)
+      ;; Syntax objects use wraps to associate names with marked
+      ;; identifiers.  This function returns the name corresponding to
+      ;; the given identifier and wrap, or the original identifier if no
+      ;; corresponding name was found.
+      ;;
+      ;; The name may be a string created by gen-label, indicating a
+      ;; lexical binding, or another syntax object, indicating a
+      ;; reference to a top-level definition created during a previous
+      ;; macroexpansion.
+      ;;
+      ;; For lexical variables, finding a label simply amounts to
+      ;; looking for an entry with the same symbolic name and the same
+      ;; marks.  Finding a toplevel definition is the same, except we
+      ;; also have to compare modules, hence the `mod' parameter.
+      ;; Instead of adding a separate entry in the ribcage for modules,
+      ;; which wouldn't be used for lexicals, we arrange for the entry
+      ;; for the name entry to be a pair with the module in its car, and
+      ;; the name itself in the cdr.  So if the name that we find is a
+      ;; pair, we have to check modules.
+      ;;
+      ;; The identifer may be passed in wrapped or unwrapped.  In any
+      ;; case, this routine returns either a symbol, a syntax object, or
+      ;; a string label.
+      ;;
+      (lambda (id w mod)
         (define-syntax-rule (first e)
           ;; Rely on Guile's multiple-values truncation.
           e)
         (define search
-          (lambda (sym subst marks)
+          (lambda (sym subst marks mod)
             (if (null? subst)
                 (values #f marks)
                 (let ((fst (car subst)))
                   (if (eq? fst 'shift)
-                      (search sym (cdr subst) (cdr marks))
+                      (search sym (cdr subst) (cdr marks) mod)
                       (let ((symnames (ribcage-symnames fst)))
                         (if (vector? symnames)
-                            (search-vector-rib sym subst marks symnames fst)
-                            (search-list-rib sym subst marks symnames 
fst))))))))
+                            (search-vector-rib sym subst marks symnames fst 
mod)
+                            (search-list-rib sym subst marks symnames fst 
mod))))))))
         (define search-list-rib
-          (lambda (sym subst marks symnames ribcage)
+          (lambda (sym subst marks symnames ribcage mod)
             (let f ((symnames symnames) (i 0))
               (cond
-               ((null? symnames) (search sym (cdr subst) marks))
+               ((null? symnames) (search sym (cdr subst) marks mod))
                ((and (eq? (car symnames) sym)
                      (same-marks? marks (list-ref (ribcage-marks ribcage) i)))
-                (values (list-ref (ribcage-labels ribcage) i) marks))
+                (let ((n (list-ref (ribcage-labels ribcage) i)))
+                  (if (pair? n)
+                      (if (equal? mod (car n))
+                          (values (cdr n) marks)
+                          (f (cdr symnames) (fx+ i 1)))
+                      (values n marks))))
                (else (f (cdr symnames) (fx+ i 1)))))))
         (define search-vector-rib
-          (lambda (sym subst marks symnames ribcage)
+          (lambda (sym subst marks symnames ribcage mod)
             (let ((n (vector-length symnames)))
               (let f ((i 0))
                 (cond
-                 ((fx= i n) (search sym (cdr subst) marks))
+                 ((fx= i n) (search sym (cdr subst) marks mod))
                  ((and (eq? (vector-ref symnames i) sym)
                        (same-marks? marks (vector-ref (ribcage-marks ribcage) 
i)))
-                  (values (vector-ref (ribcage-labels ribcage) i) marks))
+                  (let ((n (vector-ref (ribcage-labels ribcage) i)))
+                    (if (pair? n)
+                        (if (equal? mod (car n))
+                            (values (cdr n) marks)
+                            (f (fx+ i 1)))
+                        (values n marks))))
                  (else (f (fx+ i 1))))))))
         (cond
          ((symbol? id)
-          (or (first (search id (wrap-subst w) (wrap-marks w))) id))
+          (or (first (search id (wrap-subst w) (wrap-marks w) mod)) id))
          ((syntax-object? id)
           (let ((id (syntax-object-expression id))
-                (w1 (syntax-object-wrap id)))
+                (w1 (syntax-object-wrap id))
+                (mod (syntax-object-module id)))
             (let ((marks (join-marks (wrap-marks w) (wrap-marks w1))))
-              (call-with-values (lambda () (search id (wrap-subst w) marks))
+              (call-with-values (lambda () (search id (wrap-subst w) marks 
mod))
                 (lambda (new-id marks)
                   (or new-id
-                      (first (search id (wrap-subst w1) marks))
+                      (first (search id (wrap-subst w1) marks mod))
                       id))))))
          (else (syntax-violation 'id-var-name "invalid id" id)))))
 
+    ;; Returns three values: binding type, binding value, the module (for
+    ;; resolving toplevel vars).
+    (define (resolve-identifier id w r mod resolve-syntax-parameters?)
+      (define (resolve-syntax-parameters b)
+        (if (and resolve-syntax-parameters?
+                 (eq? (binding-type b) 'syntax-parameter))
+            (or (assq-ref r (binding-value b))
+                (make-binding 'macro (car (binding-value b))))
+            b))
+      (define (resolve-global var mod)
+        (let ((b (resolve-syntax-parameters
+                  (or (get-global-definition-hook var mod)
+                      (make-binding 'global)))))
+          (if (eq? (binding-type b) 'global)
+              (values 'global var mod)
+              (values (binding-type b) (binding-value b) mod))))
+      (define (resolve-lexical label mod)
+        (let ((b (resolve-syntax-parameters
+                  (or (assq-ref r label)
+                      (make-binding 'displaced-lexical)))))
+          (values (binding-type b) (binding-value b) mod)))
+      (let ((n (id-var-name id w mod)))
+        (cond
+         ((syntax-object? n)
+          ;; Recursing allows syntax-parameterize to override
+          ;; macro-introduced syntax parameters.
+          (resolve-identifier n w r mod resolve-syntax-parameters?))
+         ((symbol? n)
+          (resolve-global n (if (syntax-object? id)
+                                (syntax-object-module id)
+                                mod)))
+         ((string? n)
+          (resolve-lexical n (if (syntax-object? id)
+                                 (syntax-object-module id)
+                                 mod)))
+         (else
+          (error "unexpected id-var-name" id w n)))))
+
     ;; free-id=? must be passed fully wrapped ids since (free-id=? x y)
     ;; may be true even if (free-id=? (wrap x w) (wrap y w)) is not.
 
     (define free-id=?
       (lambda (i j)
-        (let ((ni (id-var-name i empty-wrap))
-              (nj (id-var-name j empty-wrap)))
-          (define (id-module-binding id)
-            (let ((mod (and (syntax-object? id) (syntax-object-module id))))
-              (module-variable
-               (if mod
-                   ;; The normal case.
-                   (resolve-module (cdr mod))
-                   ;; Either modules have not been booted, or we have a
-                   ;; raw symbol coming in, which is possible.
-                   (current-module))
-               (id-sym-name id))))
-          (if (eq? ni (id-sym-name i))
-              ;; `i' is not lexically bound.  Assert that `j' is free,
-              ;; and if so, compare their bindings, that they are either
-              ;; bound to the same variable, or both unbound and have
-              ;; the same name.
-              (and (eq? nj (id-sym-name j))
-                   (let ((bi (id-module-binding i)))
-                     (if bi
-                         (eq? bi (id-module-binding j))
-                         (and (not (id-module-binding j))
-                              (eq? ni nj))))
-                   (eq? (id-module-binding i) (id-module-binding j)))
-              ;; Otherwise `i' is bound, so check that `j' is bound, and
-              ;; bound to the same thing.
-              (and (eq? ni nj)
-                   (not (eq? nj (id-sym-name j))))))))
+        (let* ((mi (and (syntax-object? i) (syntax-object-module i)))
+               (mj (and (syntax-object? j) (syntax-object-module j)))
+               (ni (id-var-name i empty-wrap mi))
+               (nj (id-var-name j empty-wrap mj)))
+          (define (id-module-binding id mod)
+            (module-variable
+             (if mod
+                 ;; The normal case.
+                 (resolve-module (cdr mod))
+                 ;; Either modules have not been booted, or we have a
+                 ;; raw symbol coming in, which is possible.
+                 (current-module))
+             (id-sym-name id)))
+          (cond
+           ((syntax-object? ni) (free-id=? ni j))
+           ((syntax-object? nj) (free-id=? i nj))
+           ((symbol? ni)
+            ;; `i' is not lexically bound.  Assert that `j' is free,
+            ;; and if so, compare their bindings, that they are either
+            ;; bound to the same variable, or both unbound and have
+            ;; the same name.
+            (and (eq? nj (id-sym-name j))
+                 (let ((bi (id-module-binding i mi)))
+                   (if bi
+                       (eq? bi (id-module-binding j mj))
+                       (and (not (id-module-binding j mj))
+                            (eq? ni nj))))
+                 (eq? (id-module-binding i mi) (id-module-binding j mj))))
+           (else
+            ;; Otherwise `i' is bound, so check that `j' is bound, and
+            ;; bound to the same thing.
+            (equal? ni nj))))))
     
     ;; bound-id=? may be passed unwrapped (or partially wrapped) ids as
     ;; long as the missing portion of the wrap is common to both of the ids
@@ -910,148 +977,164 @@
     ;;
     (define chi-top-sequence
       (lambda (body r w s m esew mod)
-        (define (scan body r w s m esew mod exps)
-          (cond
-           ((null? body)
-            ;; in reversed order
-            exps)
-           (else
-            (scan
-             (cdr body) r w s m esew mod 
-             (call-with-values
-                 (lambda ()
-                   (let ((e (car body)))
-                     (syntax-type e r w (or (source-annotation e) s) #f mod 
#f)))
-               (lambda (type value e w s mod)
-                 (case type
-                   ((begin-form)
-                    (syntax-case e ()
-                      ((_) exps)
-                      ((_ e1 e2 ...)
-                       (scan #'(e1 e2 ...) r w s m esew mod exps))))
-                   ((local-syntax-form)
-                    (chi-local-syntax value e r w s mod
-                                      (lambda (body r w s mod)
-                                        (scan body r w s m esew mod exps))))
-                   ((eval-when-form)
-                    (syntax-case e ()
-                      ((_ (x ...) e1 e2 ...)
-                       (let ((when-list (chi-when-list e #'(x ...) w))
-                             (body #'(e1 e2 ...)))
-                         (cond
-                          ((eq? m 'e)
-                           (if (memq 'eval when-list)
-                               (scan body r w s
-                                     (if (memq 'expand when-list) 'c&e 'e)
-                                     '(eval)
-                                     mod exps)
-                               (begin
-                                 (if (memq 'expand when-list)
-                                     (top-level-eval-hook
-                                      (chi-top-sequence body r w s 'e '(eval) 
mod)
-                                      mod))
-                                 exps)))
-                          ((memq 'load when-list)
-                           (if (or (memq 'compile when-list)
-                                   (memq 'expand when-list)
-                                   (and (eq? m 'c&e) (memq 'eval when-list)))
-                               (scan body r w s 'c&e '(compile load) mod exps)
-                               (if (memq m '(c c&e))
-                                   (scan body r w s 'c '(load) mod exps)
-                                   exps)))
-                          ((or (memq 'compile when-list)
-                               (memq 'expand when-list)
-                               (and (eq? m 'c&e) (memq 'eval when-list)))
-                           (top-level-eval-hook
-                            (chi-top-sequence body r w s 'e '(eval) mod)
-                            mod)
-                           exps)
-                          (else
-                           exps))))))
-                   ((define-syntax-form)
-                    (let ((n (id-var-name value w)) (r (macros-only-env r)))
-                      (case m
-                        ((c)
-                         (if (memq 'compile esew)
-                             (let ((e (chi-install-global n (chi e r w mod))))
-                               (top-level-eval-hook e mod)
-                               (if (memq 'load esew)
-                                   (cons e exps)
-                                   exps))
-                             (if (memq 'load esew)
-                                 (cons (chi-install-global n (chi e r w mod))
-                                       exps)
-                                 exps)))
-                        ((c&e)
-                         (let ((e (chi-install-global n (chi e r w mod))))
-                           (top-level-eval-hook e mod)
-                           (cons e exps)))
-                        (else
-                         (if (memq 'eval esew)
-                             (top-level-eval-hook
-                              (chi-install-global n (chi e r w mod))
-                              mod))
-                         exps))))
-                   ((define-form)
-                    (let* ((n (id-var-name value w))
-                           ;; Lookup the name in the module of the define form.
-                           (type (binding-type (lookup n r mod))))
-                      (case type
-                        ((global core macro module-ref)
-                         ;; affect compile-time environment (once we have 
booted)
-                         (if (and (memq m '(c c&e))
-                                  (not (module-local-variable (current-module) 
n))
-                                  (current-module))
-                             (let ((old (module-variable (current-module) n)))
-                               ;; use value of the same-named imported 
variable, if
-                               ;; any
-                               (if (and (variable? old) (variable-bound? old))
-                                   (module-define! (current-module) n 
(variable-ref old))
-                                   (module-add! (current-module) n 
(make-undefined-variable)))))
-                         (cons (if (eq? m 'c&e)
-                                   (let ((x (build-global-definition s n (chi 
e r w mod))))
-                                     (top-level-eval-hook x mod)
-                                     x)
-                                   (lambda ()
-                                     (build-global-definition s n (chi e r w 
mod))))
-                               exps))
-                        ((displaced-lexical)
-                         (syntax-violation #f "identifier out of context"
-                                           e (wrap value w mod)))
-                        (else
-                         (syntax-violation #f "cannot define keyword at top 
level"
-                                           e (wrap value w mod))))))
-                   (else
-                    (cons (if (eq? m 'c&e)
-                              (let ((x (chi-expr type value e r w s mod)))
-                                (top-level-eval-hook x mod)
-                                x)
-                              (lambda ()
-                                (chi-expr type value e r w s mod)))
-                          exps)))))))))
-        (let ((exps (scan body r w s m esew mod '())))
-          (if (null? exps)
-              (build-void s)
-              (build-sequence
-               s
-               (let lp ((in exps) (out '()))
-                 (if (null? in) out
-                     (let ((e (car in)))
-                       (lp (cdr in)
-                           (cons (if (procedure? e) (e) e) out))))))))))
+        (let* ((r (cons '("placeholder" . (placeholder)) r))
+               (ribcage (make-empty-ribcage))
+               (w (make-wrap (wrap-marks w) (cons ribcage (wrap-subst w)))))
+          (define (record-definition! id var)
+            (let ((mod (cons 'hygiene (module-name (current-module)))))
+              ;; Ribcages map symbol+marks to names, mostly for
+              ;; resolving lexicals.  Here to add a mapping for toplevel
+              ;; definitions we also need to match the module.  So, we
+              ;; put it in the name instead, and make id-var-name handle
+              ;; the special case of names that are pairs.  See the
+              ;; comments in id-var-name for more.
+              (extend-ribcage! ribcage id
+                               (cons (syntax-object-module id)
+                                     (wrap var top-wrap mod)))))
+          (define (macro-introduced-identifier? id)
+            (not (equal? (wrap-marks (syntax-object-wrap id)) '(top))))
+          (define (fresh-derived-name id orig-form)
+            (symbol-append
+             (syntax-object-expression id)
+             '-
+             (string->symbol
+              ;; FIXME: `hash' currently stops descending into nested
+              ;; data at some point, so it's less unique than we would
+              ;; like.  Also this encodes hash values into the ABI of
+              ;; compiled modules; a problem?
+              (number->string
+               (hash (syntax->datum orig-form) most-positive-fixnum)
+               16))))
+          (define (parse body r w s m esew mod)
+            (let lp ((body body) (exps '()))
+              (if (null? body)
+                  exps
+                  (lp (cdr body)
+                      (append (parse1 (car body) r w s m esew mod)
+                              exps)))))
+          (define (parse1 x r w s m esew mod)
+            (call-with-values
+                (lambda ()
+                  (syntax-type x r w (source-annotation x) ribcage mod #f))
+              (lambda (type value e w s mod)
+                (case type
+                  ((define-form)
+                   (let* ((id (wrap value w mod))
+                          (label (gen-label))
+                          (var (if (macro-introduced-identifier? id)
+                                   (fresh-derived-name id x)
+                                   (syntax-object-expression id))))
+                     (record-definition! id var)
+                     (list
+                      (if (eq? m 'c&e)
+                          (let ((x (build-global-definition s var (chi e r w 
mod))))
+                            (top-level-eval-hook x mod)
+                            (lambda () x))
+                          (lambda ()
+                            (build-global-definition s var (chi e r w 
mod)))))))
+                  ((define-syntax-form define-syntax-parameter-form)
+                   (let* ((id (wrap value w mod))
+                          (label (gen-label))
+                          (var (if (macro-introduced-identifier? id)
+                                   (fresh-derived-name id x)
+                                   (syntax-object-expression id))))
+                     (record-definition! id var)
+                     (case m
+                       ((c)
+                        (cond
+                         ((memq 'compile esew)
+                          (let ((e (chi-install-global var type (chi e r w 
mod))))
+                            (top-level-eval-hook e mod)
+                            (if (memq 'load esew)
+                                (list (lambda () e))
+                                '())))
+                         ((memq 'load esew)
+                          (list (lambda ()
+                                  (chi-install-global var type (chi e r w 
mod)))))
+                         (else '())))
+                       ((c&e)
+                        (let ((e (chi-install-global var type (chi e r w 
mod))))
+                          (top-level-eval-hook e mod)
+                          (list (lambda () e))))
+                       (else
+                        (if (memq 'eval esew)
+                            (top-level-eval-hook
+                             (chi-install-global var type (chi e r w mod))
+                             mod))
+                        '()))))
+                  ((begin-form)
+                   (syntax-case e ()
+                     ((_ e1 ...)
+                      (parse #'(e1 ...) r w s m esew mod))))
+                  ((local-syntax-form)
+                   (chi-local-syntax value e r w s mod
+                                     (lambda (forms r w s mod)
+                                       (parse forms r w s m esew mod))))
+                  ((eval-when-form)
+                   (syntax-case e ()
+                     ((_ (x ...) e1 e2 ...)
+                      (let ((when-list (chi-when-list e #'(x ...) w))
+                            (body #'(e1 e2 ...)))
+                        (define (recurse m esew)
+                          (parse body r w s m esew mod))
+                        (cond
+                         ((eq? m 'e)
+                          (if (memq 'eval when-list)
+                              (recurse (if (memq 'expand when-list) 'c&e 'e)
+                                       '(eval))
+                              (begin
+                                (if (memq 'expand when-list)
+                                    (top-level-eval-hook
+                                     (chi-top-sequence body r w s 'e '(eval) 
mod)
+                                     mod))
+                                '())))
+                         ((memq 'load when-list)
+                          (if (or (memq 'compile when-list)
+                                  (memq 'expand when-list)
+                                  (and (eq? m 'c&e) (memq 'eval when-list)))
+                              (recurse 'c&e '(compile load))
+                              (if (memq m '(c c&e))
+                                  (recurse 'c '(load))
+                                  '())))
+                         ((or (memq 'compile when-list)
+                              (memq 'expand when-list)
+                              (and (eq? m 'c&e) (memq 'eval when-list)))
+                          (top-level-eval-hook
+                           (chi-top-sequence body r w s 'e '(eval) mod)
+                           mod)
+                          '())
+                         (else
+                          '()))))))
+                  (else
+                   (list
+                    (if (eq? m 'c&e)
+                        (let ((x (chi-expr type value e r w s mod)))
+                          (top-level-eval-hook x mod)
+                          (lambda () x))
+                        (lambda ()
+                          (chi-expr type value e r w s mod)))))))))
+          (let ((exps (map (lambda (x) (x))
+                           (reverse (parse body r w s m esew mod)))))
+            (if (null? exps)
+                (build-void s)
+                (build-sequence s exps))))))
     
     (define chi-install-global
-      (lambda (name e)
+      (lambda (name type e)
         (build-global-definition
          no-source
          name
          (build-primcall
           no-source
           'make-syntax-transformer
-          (list (build-data no-source name)
-                (build-data no-source 'macro)
-                e)))))
-  
+          (if (eq? type 'define-syntax-parameter-form)
+              (list (build-data no-source name)
+                    (build-data no-source 'syntax-parameter)
+                    (build-primcall no-source 'list (list e)))
+              (list (build-data no-source name)
+                    (build-data no-source 'macro)
+                    e))))))
+    
     (define chi-when-list
       (lambda (e when-list w)
         ;; `when-list' is syntax'd version of list of situations.  We
@@ -1084,6 +1167,7 @@
     ;;    begin                  none          begin keyword
     ;;    define                 none          define keyword
     ;;    define-syntax          none          define-syntax keyword
+    ;;    define-syntax-parameter none         define-syntax-parameter keyword
     ;;    local-syntax           rec?          letrec-syntax/let-syntax keyword
     ;;    eval-when              none          eval-when keyword
     ;;    syntax                 level         pattern variable
@@ -1094,35 +1178,38 @@
     ;;    begin-form             none          begin expression
     ;;    define-form            id            variable definition
     ;;    define-syntax-form     id            syntax definition
+    ;;    define-syntax-parameter-form id      syntax parameter definition
     ;;    local-syntax-form      rec?          syntax definition
     ;;    eval-when-form         none          eval-when form
     ;;    constant               none          self-evaluating datum
     ;;    other                  none          anything else
     ;;
-    ;; For define-form and define-syntax-form, e is the rhs expression.
-    ;; For all others, e is the entire form.  w is the wrap for e.
-    ;; s is the source for the entire form. mod is the module for e.
+    ;; For definition forms (define-form, define-syntax-parameter-form,
+    ;; and define-syntax-form), e is the rhs expression.  For all
+    ;; others, e is the entire form.  w is the wrap for e.  s is the
+    ;; source for the entire form. mod is the module for e.
     ;;
-    ;; syntax-type expands macros and unwraps as necessary to get to
-    ;; one of the forms above.  It also parses define and define-syntax
-    ;; forms, although perhaps this should be done by the consumer.
+    ;; syntax-type expands macros and unwraps as necessary to get to one
+    ;; of the forms above.  It also parses definition forms, although
+    ;; perhaps this should be done by the consumer.
 
     (define syntax-type
       (lambda (e r w s rib mod for-car?)
         (cond
          ((symbol? e)
-          (let* ((n (id-var-name e w))
-                 (b (lookup n r mod))
-                 (type (binding-type b)))
-            (case type
-              ((lexical) (values type (binding-value b) e w s mod))
-              ((global) (values type n e w s mod))
-              ((macro)
-               (if for-car?
-                   (values type (binding-value b) e w s mod)
-                   (syntax-type (chi-macro (binding-value b) e r w s rib mod)
-                                r empty-wrap s rib mod #f)))
-              (else (values type (binding-value b) e w s mod)))))
+          (call-with-values (lambda () (resolve-identifier e w r mod #t))
+            (lambda (type value mod*)
+              (case type
+                ((macro)
+                 (if for-car?
+                     (values type value e w s mod)
+                     (syntax-type (chi-macro value e r w s rib mod)
+                                  r empty-wrap s rib mod #f)))
+                ((global)
+                 ;; Toplevel definitions may resolve to bindings with
+                 ;; different names or in different modules.
+                 (values type value value w s mod*))
+                (else (values type value e w s mod))))))
          ((pair? e)
           (let ((first (car e)))
             (call-with-values
@@ -1175,8 +1262,12 @@
                    (syntax-case e ()
                      ((_ name val)
                       (id? #'name)
-                      (values 'define-syntax-form #'name
-                              #'val w s mod))))
+                      (values 'define-syntax-form #'name #'val w s mod))))
+                  ((define-syntax-parameter)
+                   (syntax-case e ()
+                     ((_ name val)
+                      (id? #'name)
+                      (values 'define-syntax-parameter-form #'name #'val w s 
mod))))
                   (else
                    (values 'call #f e w s mod)))))))
          ((syntax-object? e)
@@ -1241,7 +1332,7 @@
                 (if (memq 'eval when-list)
                     (chi-sequence #'(e1 e2 ...) r w s mod)
                     (chi-void))))))
-          ((define-form define-syntax-form)
+          ((define-form define-syntax-form define-syntax-parameter-form)
            (syntax-violation #f "definition in expression context"
                              e (wrap value w mod)))
           ((syntax)
@@ -1396,13 +1487,17 @@
                                     (cons id var-ids)
                                     (cons var vars) (cons (cons er (wrap e w 
mod)) vals)
                                     (cons (make-binding 'lexical var) 
bindings)))))
-                        ((define-syntax-form)
+                        ((define-syntax-form define-syntax-parameter-form)
                          (let ((id (wrap value w mod)) (label (gen-label)))
                            (extend-ribcage! ribcage id label)
                            (parse (cdr body)
                                   (cons id ids) (cons label labels)
                                   var-ids vars vals
-                                  (cons (make-binding 'macro (cons er (wrap e 
w mod)))
+                                  (cons (make-binding
+                                         (if (eq? type 
'define-syntax-parameter-form)
+                                             'syntax-parameter
+                                             'macro)
+                                         (cons er (wrap e w mod)))
                                         bindings))))
                         ((begin-form)
                          (syntax-case e ()
@@ -1437,7 +1532,7 @@
                                (let loop ((bs bindings) (er-cache #f) (r-cache 
#f))
                                  (if (not (null? bs))
                                      (let* ((b (car bs)))
-                                       (if (eq? (car b) 'macro)
+                                       (if (memq (car b) '(macro 
syntax-parameter))
                                            (let* ((er (cadr b))
                                                   (r-cache
                                                    (if (eq? er er-cache)
@@ -1447,6 +1542,8 @@
                                                        (eval-local-transformer
                                                         (chi (cddr b) r-cache 
empty-wrap mod)
                                                         mod))
+                                             (if (eq? (car b) 
'syntax-parameter)
+                                                 (set-cdr! b (list (cdr b))))
                                              (loop (cdr bs) er r-cache))
                                            (loop (cdr bs) er-cache r-cache)))))
                                (set-cdr! r (extend-env labels bindings (cdr 
r)))
@@ -1773,38 +1870,45 @@
     (global-extend 'local-syntax 'letrec-syntax #t)
     (global-extend 'local-syntax 'let-syntax #f)
 
-    (global-extend 'core 'fluid-let-syntax
-                   (lambda (e r w s mod)
-                     (syntax-case e ()
-                       ((_ ((var val) ...) e1 e2 ...)
-                        (valid-bound-ids? #'(var ...))
-                        (let ((names (map (lambda (x) (id-var-name x w)) 
#'(var ...))))
-                          (for-each
-                           (lambda (id n)
-                             (case (binding-type (lookup n r mod))
-                               ((displaced-lexical)
-                                (syntax-violation 'fluid-let-syntax
-                                                  "identifier out of context"
-                                                  e
-                                                  (source-wrap id w s mod)))))
-                           #'(var ...)
-                           names)
-                          (chi-body
-                           #'(e1 e2 ...)
-                           (source-wrap e w s mod)
-                           (extend-env
-                            names
-                            (let ((trans-r (macros-only-env r)))
-                              (map (lambda (x)
-                                     (make-binding 'macro
-                                                   (eval-local-transformer 
(chi x trans-r w mod)
-                                                                           
mod)))
-                                   #'(val ...)))
-                            r)
-                           w
-                           mod)))
-                       (_ (syntax-violation 'fluid-let-syntax "bad syntax"
-                                            (source-wrap e w s mod))))))
+    (global-extend
+     'core 'syntax-parameterize
+     (lambda (e r w s mod)
+       (syntax-case e ()
+         ((_ ((var val) ...) e1 e2 ...)
+          (valid-bound-ids? #'(var ...))
+          (let ((names
+                 (map (lambda (x)
+                        (call-with-values
+                            (lambda () (resolve-identifier x w r mod #f))
+                          (lambda (type value mod)
+                            (case type
+                              ((displaced-lexical)
+                               (syntax-violation 'syntax-parameterize
+                                                 "identifier out of context"
+                                                 e
+                                                 (source-wrap x w s mod)))
+                              ((syntax-parameter)
+                               value)
+                              (else
+                               (syntax-violation 'syntax-parameterize
+                                                 "invalid syntax parameter"
+                                                 e
+                                                 (source-wrap x w s mod)))))))
+                      #'(var ...)))
+                (bindings
+                 (let ((trans-r (macros-only-env r)))
+                   (map (lambda (x)
+                          (make-binding
+                           'macro
+                           (eval-local-transformer (chi x trans-r w mod) mod)))
+                        #'(val ...)))))
+            (chi-body #'(e1 e2 ...)
+                      (source-wrap e w s mod)
+                      (extend-env names bindings r)
+                      w
+                      mod)))
+         (_ (syntax-violation 'syntax-parameterize "bad syntax"
+                              (source-wrap e w s mod))))))
 
     (global-extend 'core 'quote
                    (lambda (e r w s mod)
@@ -1813,165 +1917,166 @@
                        (_ (syntax-violation 'quote "bad syntax"
                                             (source-wrap e w s mod))))))
 
-    (global-extend 'core 'syntax
-                   (let ()
-                     (define gen-syntax
-                       (lambda (src e r maps ellipsis? mod)
-                         (if (id? e)
-                             (let ((label (id-var-name e empty-wrap)))
-                               ;; Mod does not matter, we are looking to see if
-                               ;; the id is lexical syntax.
-                               (let ((b (lookup label r mod)))
-                                 (if (eq? (binding-type b) 'syntax)
-                                     (call-with-values
-                                         (lambda ()
-                                           (let ((var.lev (binding-value b)))
-                                             (gen-ref src (car var.lev) (cdr 
var.lev) maps)))
-                                       (lambda (var maps) (values `(ref ,var) 
maps)))
-                                     (if (ellipsis? e)
-                                         (syntax-violation 'syntax "misplaced 
ellipsis" src)
-                                         (values `(quote ,e) maps)))))
-                             (syntax-case e ()
-                               ((dots e)
-                                (ellipsis? #'dots)
-                                (gen-syntax src #'e r maps (lambda (x) #f) 
mod))
-                               ((x dots . y)
-                                ;; this could be about a dozen lines of code, 
except that we
-                                ;; choose to handle #'(x ... ...) forms
-                                (ellipsis? #'dots)
-                                (let f ((y #'y)
-                                        (k (lambda (maps)
-                                             (call-with-values
-                                                 (lambda ()
-                                                   (gen-syntax src #'x r
-                                                               (cons '() maps) 
ellipsis? mod))
-                                               (lambda (x maps)
-                                                 (if (null? (car maps))
-                                                     (syntax-violation 'syntax 
"extra ellipsis"
-                                                                       src)
-                                                     (values (gen-map x (car 
maps))
-                                                             (cdr maps))))))))
-                                  (syntax-case y ()
-                                    ((dots . y)
-                                     (ellipsis? #'dots)
-                                     (f #'y
-                                        (lambda (maps)
-                                          (call-with-values
-                                              (lambda () (k (cons '() maps)))
-                                            (lambda (x maps)
-                                              (if (null? (car maps))
-                                                  (syntax-violation 'syntax 
"extra ellipsis" src)
-                                                  (values (gen-mappend x (car 
maps))
-                                                          (cdr maps))))))))
-                                    (_ (call-with-values
-                                           (lambda () (gen-syntax src y r maps 
ellipsis? mod))
-                                         (lambda (y maps)
-                                           (call-with-values
-                                               (lambda () (k maps))
-                                             (lambda (x maps)
-                                               (values (gen-append x y) 
maps)))))))))
-                               ((x . y)
-                                (call-with-values
-                                    (lambda () (gen-syntax src #'x r maps 
ellipsis? mod))
-                                  (lambda (x maps)
-                                    (call-with-values
-                                        (lambda () (gen-syntax src #'y r maps 
ellipsis? mod))
-                                      (lambda (y maps) (values (gen-cons x y) 
maps))))))
-                               (#(e1 e2 ...)
-                                (call-with-values
-                                    (lambda ()
-                                      (gen-syntax src #'(e1 e2 ...) r maps 
ellipsis? mod))
-                                  (lambda (e maps) (values (gen-vector e) 
maps))))
-                               (_ (values `(quote ,e) maps))))))
-
-                     (define gen-ref
-                       (lambda (src var level maps)
-                         (if (fx= level 0)
-                             (values var maps)
-                             (if (null? maps)
-                                 (syntax-violation 'syntax "missing ellipsis" 
src)
-                                 (call-with-values
-                                     (lambda () (gen-ref src var (fx- level 1) 
(cdr maps)))
-                                   (lambda (outer-var outer-maps)
-                                     (let ((b (assq outer-var (car maps))))
-                                       (if b
-                                           (values (cdr b) maps)
-                                           (let ((inner-var (gen-var 'tmp)))
-                                             (values inner-var
-                                                     (cons (cons (cons 
outer-var inner-var)
-                                                                 (car maps))
-                                                           
outer-maps)))))))))))
-
-                     (define gen-mappend
-                       (lambda (e map-env)
-                         `(apply (primitive append) ,(gen-map e map-env))))
-
-                     (define gen-map
-                       (lambda (e map-env)
-                         (let ((formals (map cdr map-env))
-                               (actuals (map (lambda (x) `(ref ,(car x))) 
map-env)))
-                           (cond
-                            ((eq? (car e) 'ref)
-                             ;; identity map equivalence:
-                             ;; (map (lambda (x) x) y) == y
-                             (car actuals))
-                            ((and-map
-                              (lambda (x) (and (eq? (car x) 'ref) (memq (cadr 
x) formals)))
-                              (cdr e))
-                             ;; eta map equivalence:
-                             ;; (map (lambda (x ...) (f x ...)) y ...) == (map 
f y ...)
-                             `(map (primitive ,(car e))
-                                   ,@(map (let ((r (map cons formals actuals)))
-                                            (lambda (x) (cdr (assq (cadr x) 
r))))
-                                          (cdr e))))
-                            (else `(map (lambda ,formals ,e) ,@actuals))))))
-
-                     (define gen-cons
-                       (lambda (x y)
-                         (case (car y)
-                           ((quote)
-                            (if (eq? (car x) 'quote)
-                                `(quote (,(cadr x) . ,(cadr y)))
-                                (if (eq? (cadr y) '())
-                                    `(list ,x)
-                                    `(cons ,x ,y))))
-                           ((list) `(list ,x ,@(cdr y)))
-                           (else `(cons ,x ,y)))))
-
-                     (define gen-append
-                       (lambda (x y)
-                         (if (equal? y '(quote ()))
-                             x
-                             `(append ,x ,y))))
-
-                     (define gen-vector
-                       (lambda (x)
-                         (cond
-                          ((eq? (car x) 'list) `(vector ,@(cdr x)))
-                          ((eq? (car x) 'quote) `(quote #(,@(cadr x))))
-                          (else `(list->vector ,x)))))
-
-
-                     (define regen
-                       (lambda (x)
-                         (case (car x)
-                           ((ref) (build-lexical-reference 'value no-source 
(cadr x) (cadr x)))
-                           ((primitive) (build-primref no-source (cadr x)))
-                           ((quote) (build-data no-source (cadr x)))
-                           ((lambda)
-                            (if (list? (cadr x))
-                                (build-simple-lambda no-source (cadr x) #f 
(cadr x) '() (regen (caddr x)))
-                                (error "how did we get here" x)))
-                           (else (build-primcall no-source (car x) (map regen 
(cdr x)))))))
-
-                     (lambda (e r w s mod)
-                       (let ((e (source-wrap e w s mod)))
-                         (syntax-case e ()
-                           ((_ x)
+    (global-extend
+     'core 'syntax
+     (let ()
+       (define gen-syntax
+         (lambda (src e r maps ellipsis? mod)
+           (if (id? e)
+               (call-with-values (lambda ()
+                                   (resolve-identifier e empty-wrap r mod #f))
+                 (lambda (type value mod)
+                   (case type
+                     ((syntax)
+                      (call-with-values
+                          (lambda () (gen-ref src (car value) (cdr value) 
maps))
+                        (lambda (var maps)
+                          (values `(ref ,var) maps))))
+                     (else
+                      (if (ellipsis? e)
+                          (syntax-violation 'syntax "misplaced ellipsis" src)
+                          (values `(quote ,e) maps))))))
+               (syntax-case e ()
+                 ((dots e)
+                  (ellipsis? #'dots)
+                  (gen-syntax src #'e r maps (lambda (x) #f) mod))
+                 ((x dots . y)
+                  ;; this could be about a dozen lines of code, except that we
+                  ;; choose to handle #'(x ... ...) forms
+                  (ellipsis? #'dots)
+                  (let f ((y #'y)
+                          (k (lambda (maps)
+                               (call-with-values
+                                   (lambda ()
+                                     (gen-syntax src #'x r
+                                                 (cons '() maps) ellipsis? 
mod))
+                                 (lambda (x maps)
+                                   (if (null? (car maps))
+                                       (syntax-violation 'syntax "extra 
ellipsis"
+                                                         src)
+                                       (values (gen-map x (car maps))
+                                               (cdr maps))))))))
+                    (syntax-case y ()
+                      ((dots . y)
+                       (ellipsis? #'dots)
+                       (f #'y
+                          (lambda (maps)
                             (call-with-values
-                                (lambda () (gen-syntax e #'x r '() ellipsis? 
mod))
-                              (lambda (e maps) (regen e))))
-                           (_ (syntax-violation 'syntax "bad `syntax' form" 
e)))))))
+                                (lambda () (k (cons '() maps)))
+                              (lambda (x maps)
+                                (if (null? (car maps))
+                                    (syntax-violation 'syntax "extra ellipsis" 
src)
+                                    (values (gen-mappend x (car maps))
+                                            (cdr maps))))))))
+                      (_ (call-with-values
+                             (lambda () (gen-syntax src y r maps ellipsis? 
mod))
+                           (lambda (y maps)
+                             (call-with-values
+                                 (lambda () (k maps))
+                               (lambda (x maps)
+                                 (values (gen-append x y) maps)))))))))
+                 ((x . y)
+                  (call-with-values
+                      (lambda () (gen-syntax src #'x r maps ellipsis? mod))
+                    (lambda (x maps)
+                      (call-with-values
+                          (lambda () (gen-syntax src #'y r maps ellipsis? mod))
+                        (lambda (y maps) (values (gen-cons x y) maps))))))
+                 (#(e1 e2 ...)
+                  (call-with-values
+                      (lambda ()
+                        (gen-syntax src #'(e1 e2 ...) r maps ellipsis? mod))
+                    (lambda (e maps) (values (gen-vector e) maps))))
+                 (_ (values `(quote ,e) maps))))))
+
+       (define gen-ref
+         (lambda (src var level maps)
+           (if (fx= level 0)
+               (values var maps)
+               (if (null? maps)
+                   (syntax-violation 'syntax "missing ellipsis" src)
+                   (call-with-values
+                       (lambda () (gen-ref src var (fx- level 1) (cdr maps)))
+                     (lambda (outer-var outer-maps)
+                       (let ((b (assq outer-var (car maps))))
+                         (if b
+                             (values (cdr b) maps)
+                             (let ((inner-var (gen-var 'tmp)))
+                               (values inner-var
+                                       (cons (cons (cons outer-var inner-var)
+                                                   (car maps))
+                                             outer-maps)))))))))))
+
+       (define gen-mappend
+         (lambda (e map-env)
+           `(apply (primitive append) ,(gen-map e map-env))))
+
+       (define gen-map
+         (lambda (e map-env)
+           (let ((formals (map cdr map-env))
+                 (actuals (map (lambda (x) `(ref ,(car x))) map-env)))
+             (cond
+              ((eq? (car e) 'ref)
+               ;; identity map equivalence:
+               ;; (map (lambda (x) x) y) == y
+               (car actuals))
+              ((and-map
+                (lambda (x) (and (eq? (car x) 'ref) (memq (cadr x) formals)))
+                (cdr e))
+               ;; eta map equivalence:
+               ;; (map (lambda (x ...) (f x ...)) y ...) == (map f y ...)
+               `(map (primitive ,(car e))
+                     ,@(map (let ((r (map cons formals actuals)))
+                              (lambda (x) (cdr (assq (cadr x) r))))
+                            (cdr e))))
+              (else `(map (lambda ,formals ,e) ,@actuals))))))
+
+       (define gen-cons
+         (lambda (x y)
+           (case (car y)
+             ((quote)
+              (if (eq? (car x) 'quote)
+                  `(quote (,(cadr x) . ,(cadr y)))
+                  (if (eq? (cadr y) '())
+                      `(list ,x)
+                      `(cons ,x ,y))))
+             ((list) `(list ,x ,@(cdr y)))
+             (else `(cons ,x ,y)))))
+
+       (define gen-append
+         (lambda (x y)
+           (if (equal? y '(quote ()))
+               x
+               `(append ,x ,y))))
+
+       (define gen-vector
+         (lambda (x)
+           (cond
+            ((eq? (car x) 'list) `(vector ,@(cdr x)))
+            ((eq? (car x) 'quote) `(quote #(,@(cadr x))))
+            (else `(list->vector ,x)))))
+
+
+       (define regen
+         (lambda (x)
+           (case (car x)
+             ((ref) (build-lexical-reference 'value no-source (cadr x) (cadr 
x)))
+             ((primitive) (build-primref no-source (cadr x)))
+             ((quote) (build-data no-source (cadr x)))
+             ((lambda)
+              (if (list? (cadr x))
+                  (build-simple-lambda no-source (cadr x) #f (cadr x) '() 
(regen (caddr x)))
+                  (error "how did we get here" x)))
+             (else (build-primcall no-source (car x) (map regen (cdr x)))))))
+
+       (lambda (e r w s mod)
+         (let ((e (source-wrap e w s mod)))
+           (syntax-case e ()
+             ((_ x)
+              (call-with-values
+                  (lambda () (gen-syntax e #'x r '() ellipsis? mod))
+                (lambda (e maps) (regen e))))
+             (_ (syntax-violation 'syntax "bad `syntax' form" e)))))))
 
     (global-extend 'core 'lambda
                    (lambda (e r w s mod)
@@ -2106,58 +2211,53 @@
                        (_ (syntax-violation 'letrec* "bad letrec*" 
(source-wrap e w s mod))))))
 
 
-    (global-extend 'core 'set!
-                   (lambda (e r w s mod)
-                     (syntax-case e ()
-                       ((_ id val)
-                        (id? #'id)
-                        (let ((n (id-var-name #'id w))
-                              ;; Lookup id in its module
-                              (id-mod (if (syntax-object? #'id)
-                                          (syntax-object-module #'id)
-                                          mod)))
-                          (let ((b (lookup n r id-mod)))
-                            (case (binding-type b)
-                              ((lexical)
-                               (build-lexical-assignment s
-                                                         (syntax->datum #'id)
-                                                         (binding-value b)
-                                                         (chi #'val r w mod)))
-                              ((global)
-                               (build-global-assignment s n (chi #'val r w 
mod) id-mod))
-                              ((macro)
-                               (let ((p (binding-value b)))
-                                 (if (procedure-property p 
'variable-transformer)
-                                     ;; As syntax-type does, call chi-macro 
with
-                                     ;; the mod of the expression. Hmm.
-                                     (chi (chi-macro p e r w s #f mod) r 
empty-wrap mod)
-                                     (syntax-violation 'set! "not a variable 
transformer"
-                                                       (wrap e w mod)
-                                                       (wrap #'id w id-mod)))))
-                              ((displaced-lexical)
-                               (syntax-violation 'set! "identifier out of 
context"
-                                                 (wrap #'id w mod)))
-                              (else (syntax-violation 'set! "bad set!"
-                                                      (source-wrap e w s 
mod)))))))
-                       ((_ (head tail ...) val)
-                        (call-with-values
-                            (lambda () (syntax-type #'head r empty-wrap 
no-source #f mod #t))
-                          (lambda (type value ee ww ss modmod)
-                            (case type
-                              ((module-ref)
-                               (let ((val (chi #'val r w mod)))
-                                 (call-with-values (lambda () (value #'(head 
tail ...) r w))
-                                   (lambda (e r w s* mod)
-                                     (syntax-case e ()
-                                       (e (id? #'e)
-                                          (build-global-assignment s 
(syntax->datum #'e)
-                                                                   val 
mod)))))))
-                              (else
-                               (build-call s
-                                           (chi #'(setter head) r w mod)
-                                           (map (lambda (e) (chi e r w mod))
-                                                #'(tail ... val))))))))
-                       (_ (syntax-violation 'set! "bad set!" (source-wrap e w 
s mod))))))
+    (global-extend
+     'core 'set!
+     (lambda (e r w s mod)
+       (syntax-case e ()
+         ((_ id val)
+          (id? #'id)
+          (call-with-values
+              (lambda () (resolve-identifier #'id w r mod #t))
+            (lambda (type value id-mod)
+              (case type
+                ((lexical)
+                 (build-lexical-assignment s (syntax->datum #'id) value
+                                           (chi #'val r w mod)))
+                ((global)
+                 (build-global-assignment s value (chi #'val r w mod) id-mod))
+                ((macro)
+                 (if (procedure-property value 'variable-transformer)
+                     ;; As syntax-type does, call chi-macro with
+                     ;; the mod of the expression. Hmm.
+                     (chi (chi-macro value e r w s #f mod) r empty-wrap mod)
+                     (syntax-violation 'set! "not a variable transformer"
+                                       (wrap e w mod)
+                                       (wrap #'id w id-mod))))
+                ((displaced-lexical)
+                 (syntax-violation 'set! "identifier out of context"
+                                   (wrap #'id w mod)))
+                (else
+                 (syntax-violation 'set! "bad set!" (source-wrap e w s 
mod)))))))
+         ((_ (head tail ...) val)
+          (call-with-values
+              (lambda () (syntax-type #'head r empty-wrap no-source #f mod #t))
+            (lambda (type value ee ww ss modmod)
+              (case type
+                ((module-ref)
+                 (let ((val (chi #'val r w mod)))
+                   (call-with-values (lambda () (value #'(head tail ...) r w))
+                     (lambda (e r w s* mod)
+                       (syntax-case e ()
+                         (e (id? #'e)
+                            (build-global-assignment s (syntax->datum #'e)
+                                                     val mod)))))))
+                (else
+                 (build-call s
+                             (chi #'(setter head) r w mod)
+                             (map (lambda (e) (chi e r w mod))
+                                  #'(tail ... val))))))))
+         (_ (syntax-violation 'set! "bad set!" (source-wrap e w s mod))))))
 
     (global-extend 'module-ref '@
                    (lambda (e r w)
@@ -2227,6 +2327,7 @@
     (global-extend 'define 'define '())
 
     (global-extend 'define-syntax 'define-syntax '())
+    (global-extend 'define-syntax-parameter 'define-syntax-parameter '())
 
     (global-extend 'eval-when 'eval-when '())
 
@@ -2652,7 +2753,7 @@
            #((macro-type . syntax-rules)
              (patterns pattern ...))
            (syntax-case x (k ...)
-             ((dummy . pattern) #'template)
+             ((_ . pattern) #'template)
              ...)))
       ((_ (k ...) docstring ((keyword . pattern) template) ...)
        (string? (syntax->datum #'docstring))
@@ -2662,7 +2763,7 @@
            #((macro-type . syntax-rules)
              (patterns pattern ...))
            (syntax-case x (k ...)
-             ((dummy . pattern) #'template)
+             ((_ . pattern) #'template)
              ...))))))
 
 (define-syntax define-syntax-rule
diff --git a/module/language/tree-il/peval.scm 
b/module/language/tree-il/peval.scm
index fd3526c..f7733a5 100644
--- a/module/language/tree-il/peval.scm
+++ b/module/language/tree-il/peval.scm
@@ -868,12 +868,7 @@ top-level bindings from ENV and return the resulting 
expression."
       (($ <dynset> src fluid exp)
        (make-dynset src (for-value fluid) (for-value exp)))
       (($ <toplevel-ref> src (? effect-free-primitive? name))
-       (if (local-toplevel? name)
-           exp
-           (let ((exp (resolve-primitives! exp cenv)))
-             (if (primitive-ref? exp)
-                 (for-tail exp)
-                 exp))))
+       exp)
       (($ <toplevel-ref>)
        ;; todo: open private local bindings.
        exp)
diff --git a/module/language/tree-il/primitives.scm 
b/module/language/tree-il/primitives.scm
index 2f03ab7..20e0421 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -232,12 +232,25 @@
   (hashq-ref *singly-valued-primitive-table* prim))
 
 (define (resolve-primitives! x mod)
+  (define local-definitions
+    (make-hash-table))
+
+  (let collect-local-definitions ((x x))
+    (record-case x
+      ((<toplevel-define> name)
+       (hashq-set! local-definitions name #t))
+      ((<seq> head tail)
+       (collect-local-definitions head)
+       (collect-local-definitions tail))
+      (else #f)))
+  
   (post-order!
    (lambda (x)
      (record-case x
        ((<toplevel-ref> src name)
-        (and=> (hashq-ref *interesting-primitive-vars*
-                          (module-variable mod name))
+        (and=> (and (not (hashq-ref local-definitions name))
+                    (hashq-ref *interesting-primitive-vars*
+                               (module-variable mod name)))
                (lambda (name) (make-primitive-ref src name))))
        ((<module-ref> src mod name public?)
         ;; for the moment, we're disabling primitive resolution for
diff --git a/test-suite/tests/syntax.test b/test-suite/tests/syntax.test
index f6eb28a..f53d196 100644
--- a/test-suite/tests/syntax.test
+++ b/test-suite/tests/syntax.test
@@ -795,7 +795,73 @@
     (pass-if-syntax-error "(define)"
       exception:generic-syncase-error
       (eval '(define)
-           (interaction-environment)))))
+           (interaction-environment))))
+
+  (pass-if "module scoping"
+    (equal?
+     (eval
+      '(begin
+         (define-module (top-level-define/module-scoping-1)
+           #:export (define-10))
+         (define-syntax-rule (define-10 name)
+           (begin
+             (define t 10)
+             (define (name) t)))
+         (define-module (top-level-define/module-scoping-2)
+           #:use-module (top-level-define/module-scoping-1))
+         (define-10 foo)
+         (foo))
+      (current-module))
+     10))
+
+  (pass-if "module scoping, same symbolic name"
+    (equal?
+     (eval
+      '(begin
+         (define-module (top-level-define/module-scoping-3))
+         (define a 10)
+         (define-module (top-level-define/module-scoping-4)
+           #:use-module (top-level-define/module-scoping-3))
+         (define a (@@ (top-level-define/module-scoping-3) a))
+         a)
+      (current-module))
+     10))
+  
+  (pass-if "module scoping, introduced names"
+    (equal?
+     (eval
+      '(begin
+         (define-module (top-level-define/module-scoping-5)
+           #:export (define-constant))
+         (define-syntax-rule (define-constant name val)
+           (begin
+             (define t val)
+             (define (name) t)))
+         (define-module (top-level-define/module-scoping-6)
+           #:use-module (top-level-define/module-scoping-5))
+         (define-constant foo 10)
+         (define-constant bar 20)
+         (foo))
+      (current-module))
+     10))
+
+  (pass-if "module scoping, duplicate introduced name"
+    (equal?
+     (eval
+      '(begin
+         (define-module (top-level-define/module-scoping-7)
+           #:export (define-constant))
+         (define-syntax-rule (define-constant name val)
+           (begin
+             (define t val)
+             (define (name) t)))
+         (define-module (top-level-define/module-scoping-8)
+           #:use-module (top-level-define/module-scoping-7))
+         (define-constant foo 10)
+         (define-constant foo 20)
+         (foo))
+      (current-module))
+     20)))
 
 (with-test-prefix "internal define"
 
diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test
index 88317e8..3db4afd 100644
--- a/test-suite/tests/tree-il.test
+++ b/test-suite/tests/tree-il.test
@@ -74,12 +74,9 @@
   (@@ (language tree-il optimize) peval))
 
 (define-syntax pass-if-peval
-  (syntax-rules (resolve-primitives)
+  (syntax-rules ()
     ((_ in pat)
      (pass-if-peval in pat
-                    (compile 'in #:from 'scheme #:to 'tree-il)))
-    ((_ resolve-primitives in pat)
-     (pass-if-peval in pat
                     (expand-primitives!
                      (resolve-primitives!
                       (compile 'in #:from 'scheme #:to 'tree-il)
@@ -652,7 +649,7 @@
         (f)))
     (const 3))
 
-  (pass-if-peval resolve-primitives
+  (pass-if-peval
     ;; First order, let-values (requires primitive expansion for
     ;; `call-with-values'.)
     (let ((x 0))
@@ -772,7 +769,7 @@
          (loop (cdr l) (+ sum (car l)))))
    (const 10))
 
-  (pass-if-peval resolve-primitives
+  (pass-if-peval
    (let ((string->chars
           (lambda (s)
             (define (char-at n)
@@ -814,7 +811,7 @@
    (let (x) (_) ((primcall list (const 1)))
         (let (y) (_) ((primcall car (lexical x _)))
              (seq
-               (call (toplevel set-car!) (lexical x _) (const 0))
+               (primcall set-car! (lexical x _) (const 0))
                (lexical y _)))))
   
   (pass-if-peval
@@ -825,7 +822,7 @@
      y)
    (let (y) (_) ((primcall car (toplevel x)))
         (seq
-          (call (toplevel set-car!) (toplevel x) (const 0))
+          (primcall set-car! (toplevel x) (const 0))
           (lexical y _))))
   
   (pass-if-peval
@@ -915,15 +912,22 @@
         (f -1 y)
         (f 2 y)
         (f z y)))
-   (primcall +
-             (const -1)                               ; (f -1 0)
-             (const 0)                                ; (f 1 0)
-             (seq (toplevel y) (const -1))          ; (f -1 y)
-             (toplevel y)                             ; (f 2 y)
-             (let (x y) (_ _) ((toplevel z) (toplevel y)) ; (f z y)
-                  (if (primcall > (lexical x _) (const 0))
-                      (lexical y _)
-                      (lexical x _)))))
+   (primcall
+    +
+    (const -1)                          ; (f -1 0)
+    (primcall
+     +
+     (const 0)                          ; (f 1 0)
+     (primcall
+      +
+      (seq (toplevel y) (const -1))     ; (f -1 y)
+      (primcall
+       +
+       (toplevel y)                                 ; (f 2 y)
+       (let (x y) (_ _) ((toplevel z) (toplevel y)) ; (f z y)
+            (if (primcall > (lexical x _) (const 0))
+                (lexical y _)
+                (lexical x _))))))))
 
   (pass-if-peval
     ;; First order, conditional.
@@ -1040,7 +1044,7 @@
                    (lambda ()
                      (lambda-case
                       (((x2) #f #f #f () (_))
-                       (primcall - (lexical x2 _) (const 1))))))))
+                       (primcall 1- (lexical x2 _))))))))
 
   (pass-if "inlined lambdas are alpha-renamed"
     ;; In this example, `make-adder' is inlined more than once; thus,
@@ -1051,11 +1055,14 @@
     ;; <https://lists.gnu.org/archive/html/bug-guile/2011-09/msg00019.html> and
     ;; <https://lists.gnu.org/archive/html/bug-guile/2011-09/msg00029.html>.
     (pmatch (unparse-tree-il
-             (peval (compile
-                     '(let ((make-adder
-                             (lambda (x) (lambda (y) (+ x y)))))
-                        (cons (make-adder 1) (make-adder 2)))
-                     #:to 'tree-il)))
+             (peval (expand-primitives!
+                     (resolve-primitives!
+                      (compile
+                       '(let ((make-adder
+                               (lambda (x) (lambda (y) (+ x y)))))
+                          (cons (make-adder 1) (make-adder 2)))
+                       #:to 'tree-il)
+                      (current-module)))))
       ((primcall cons
                  (lambda ()
                    (lambda-case
@@ -1152,8 +1159,8 @@
          (lambda ()
            (lambda-case
             (((n) #f #f #f () (_))
-             (call (toplevel vector-set!)
-                    (lexical v _) (lexical n _) (lexical n _)))))))
+             (primcall vector-set!
+                       (lexical v _) (lexical n _) (lexical n _)))))))
 
   (pass-if-peval
     ;; Mutable lexical is not propagated.
@@ -1177,7 +1184,8 @@
                       (call (toplevel display) (const chbouib))))
          (let (y) (_) ((primcall * (lexical x _) (const 2)))
               (primcall +
-                        (lexical x _) (lexical x _) (lexical y _)))))
+                        (lexical x _)
+                        (primcall + (lexical x _) (lexical y _))))))
 
   (pass-if-peval
     ;; Non-constant arguments not propagated to lambdas.
@@ -1193,12 +1201,12 @@
           (call (toplevel make-list) (const 10))
           (primcall list (const 1) (const 2) (const 3)))
          (seq
-           (call (toplevel vector-set!)
-                  (lexical x _) (const 0) (const 0))
-           (seq (call (toplevel set-car!)
-                  (lexical y _) (const 0))
-                (call (toplevel set-cdr!)
-                      (lexical z _) (const ()))))))
+           (primcall vector-set!
+                     (lexical x _) (const 0) (const 0))
+           (seq (primcall set-car!
+                          (lexical y _) (const 0))
+                (primcall set-cdr!
+                          (lexical z _) (const ()))))))
 
   (pass-if-peval
    (let ((foo top-foo) (bar top-bar))
@@ -1454,7 +1462,6 @@
    (seq (call (toplevel bar)) (primcall list (const 0))))
   
   (pass-if-peval
-   resolve-primitives
    ;; Prompt is removed if tag is unreferenced
    (let ((tag (make-prompt-tag)))
      (call-with-prompt tag
@@ -1463,7 +1470,6 @@
    (const 1))
   
   (pass-if-peval
-   resolve-primitives
    ;; Prompt is removed if tag is unreferenced, with explicit stem
    (let ((tag (make-prompt-tag "foo")))
      (call-with-prompt tag
@@ -1472,7 +1478,6 @@
    (const 1))
 
   (pass-if-peval
-   resolve-primitives
    ;; `while' without `break' or `continue' has no prompts and gets its
    ;; condition folded.  Unfortunately the outer `lp' does not yet get
    ;; elided.


hooks/post-receive
-- 
GNU Guile



reply via email to

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